From 6a0f12ba5f10fe82fd26304a56cb4f7b60119902 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Fri, 17 Mar 2023 18:53:34 +0000 Subject: [PATCH] ci: centralize detection of ccache in link-werror wrapper MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Eric Engestrom Reviewed-by: Michel Dänzer Part-of: --- .gitlab-ci/build/ccache-g++-link-werror.sh | 15 --------------- .gitlab-ci/build/ccache-gcc-link-werror.sh | 15 --------------- .gitlab-ci/build/g++-link-werror.sh | 12 +++++++++--- .gitlab-ci/build/gcc-link-werror.sh | 12 +++++++++--- .gitlab-ci/build/gitlab-ci.yml | 2 +- .gitlab-ci/build/meson-native-lto-wrappers-ccache.txt | 3 --- 6 files changed, 19 insertions(+), 40 deletions(-) delete mode 100755 .gitlab-ci/build/ccache-g++-link-werror.sh delete mode 100755 .gitlab-ci/build/ccache-gcc-link-werror.sh delete mode 100644 .gitlab-ci/build/meson-native-lto-wrappers-ccache.txt diff --git a/.gitlab-ci/build/ccache-g++-link-werror.sh b/.gitlab-ci/build/ccache-g++-link-werror.sh deleted file mode 100755 index 1264dec..0000000 --- a/.gitlab-ci/build/ccache-g++-link-werror.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/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 diff --git a/.gitlab-ci/build/ccache-gcc-link-werror.sh b/.gitlab-ci/build/ccache-gcc-link-werror.sh deleted file mode 100755 index 136f0e7..0000000 --- a/.gitlab-ci/build/ccache-gcc-link-werror.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/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 diff --git a/.gitlab-ci/build/g++-link-werror.sh b/.gitlab-ci/build/g++-link-werror.sh index 5aa9f84..649549c 100755 --- a/.gitlab-ci/build/g++-link-werror.sh +++ b/.gitlab-ci/build/g++-link-werror.sh @@ -1,15 +1,21 @@ #!/bin/sh -e +if command -V ccache >/dev/null 2>/dev/null; then + CCACHE=ccache +else + CCACHE= +fi + 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 g++ "$@" + exec $CCACHE g++ "$@" fi if [ "$(eval printf "'%s'" "\"\${$(($#-1))}\"")" = "-c" ]; then # Not invoked for linking - exec g++ "$@" + 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 g++ "$@" -Werror +exec $CCACHE g++ "$@" -Werror diff --git a/.gitlab-ci/build/gcc-link-werror.sh b/.gitlab-ci/build/gcc-link-werror.sh index aa92a41..3e8c69f 100755 --- a/.gitlab-ci/build/gcc-link-werror.sh +++ b/.gitlab-ci/build/gcc-link-werror.sh @@ -1,15 +1,21 @@ #!/bin/sh -e +if command -V ccache >/dev/null 2>/dev/null; then + CCACHE=ccache +else + CCACHE= +fi + 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 gcc "$@" + exec $CCACHE gcc "$@" fi if [ "$(eval printf "'%s'" "\"\${$(($#-1))}\"")" = "-c" ]; then # Not invoked for linking - exec gcc "$@" + 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 gcc "$@" -Werror +exec $CCACHE gcc "$@" -Werror diff --git a/.gitlab-ci/build/gitlab-ci.yml b/.gitlab-ci/build/gitlab-ci.yml index 5f83cfd..0642bbf 100644 --- a/.gitlab-ci/build/gitlab-ci.yml +++ b/.gitlab-ci/build/gitlab-ci.yml @@ -184,7 +184,7 @@ debian-build-testing: 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-ccache.txt + --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 diff --git a/.gitlab-ci/build/meson-native-lto-wrappers-ccache.txt b/.gitlab-ci/build/meson-native-lto-wrappers-ccache.txt deleted file mode 100644 index e17f64f..0000000 --- a/.gitlab-ci/build/meson-native-lto-wrappers-ccache.txt +++ /dev/null @@ -1,3 +0,0 @@ -[binaries] -c = 'ccache-gcc-link-werror.sh' -cpp = 'ccache-g++-link-werror.sh' -- 2.7.4