diff --git a/.gitlab-ci/build/clang++-link-werror.sh b/.gitlab-ci/build/clang++-link-werror.sh new file mode 100755 index 00000000000..938327a65a1 --- /dev/null +++ b/.gitlab-ci/build/clang++-link-werror.sh @@ -0,0 +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 $CCACHE clang++ "$@" +fi + +if [ "$(eval printf "'%s'" "\"\${$(($#-1))}\"")" = "-c" ]; then + # Not invoked for linking + exec $CCACHE clang++ "$@" +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 clang++ "$@" -Werror diff --git a/.gitlab-ci/build/clang-link-werror.sh b/.gitlab-ci/build/clang-link-werror.sh new file mode 100755 index 00000000000..0486782e8bd --- /dev/null +++ b/.gitlab-ci/build/clang-link-werror.sh @@ -0,0 +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 $CCACHE clang "$@" +fi + +if [ "$(eval printf "'%s'" "\"\${$(($#-1))}\"")" = "-c" ]; then + # Not invoked for linking + exec $CCACHE clang "$@" +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 clang "$@" -Werror