--- /dev/null
+#!/bin/sh -e
+
+if [ "$(ps -p $(ps -p $PPID -o ppid --no-headers) -o comm --no-headers)" != ninja ]; then
+ # Not invoked by ninja (e.g. for a meson feature check)
+ exec ccache g++ "$@"
+fi
+
+if [ "$(eval printf "'%s'" "\"\${$(($#-1))}\"")" = "-c" ]; then
+ # Not invoked for linking
+ exec ccache g++ "$@"
+fi
+
+# Compiler invoked by ninja for linking. Add -Werror to turn compiler warnings into errors
+# with LTO. (meson's werror should arguably do this, but meanwhile we need to)
+exec ccache g++ "$@" -Werror
--- /dev/null
+#!/bin/sh -e
+
+if [ "$(ps -p $(ps -p $PPID -o ppid --no-headers) -o comm --no-headers)" != ninja ]; then
+ # Not invoked by ninja (e.g. for a meson feature check)
+ exec ccache gcc "$@"
+fi
+
+if [ "$(eval printf "'%s'" "\"\${$(($#-1))}\"")" = "-c" ]; then
+ # Not invoked for linking
+ exec ccache gcc "$@"
+fi
+
+# Compiler invoked by ninja for linking. Add -Werror to turn compiler warnings into errors
+# with LTO. (meson's werror should arguably do this, but meanwhile we need to)
+exec ccache gcc "$@" -Werror
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
VULKAN_DRIVERS: swrast
EXTRA_OPTION: >
+ --native-file .gitlab-ci/build/meson-native-lto-wrappers.txt
-D spirv-to-dxil=true
-D osmesa=true
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi
section_switch yamllint "yamllint"
.gitlab-ci/run-yamllint.sh
section_switch meson "meson"
- .gitlab-ci/meson/build.sh
+ PATH=$PATH:$PWD/.gitlab-ci/build .gitlab-ci/meson/build.sh
section_switch shader-db "shader-db"
.gitlab-ci/run-shader-db.sh