From dc53b3917346239f22b35facd2fdea4bb4cbb72f Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Fri, 17 Mar 2023 20:48:32 +0000 Subject: [PATCH] ci: add linker wrapper for clang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eric Engestrom Reviewed-by: Michel Dänzer Part-of: --- .gitlab-ci/build/clang++-link-werror.sh | 21 +++++++++++++++++++++ .gitlab-ci/build/clang-link-werror.sh | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100755 .gitlab-ci/build/clang++-link-werror.sh create mode 100755 .gitlab-ci/build/clang-link-werror.sh 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