diff --git a/scripts/build-llvm-v5.sh b/scripts/build-llvm-v5.sh index 2f53b3c..a5dfee1 100755 --- a/scripts/build-llvm-v5.sh +++ b/scripts/build-llvm-v5.sh @@ -164,6 +164,13 @@ done # fi # done +# Ensure clang runs with the correct GCC installation and the correct search dirs. +CLANG_CFG=$PREFIX/clang.cfg +CLANGXX_CFG=$PREFIX/clang++.cfg +CLANG_CFG_FLAGS="--gcc-toolchain=$GCC_PREFIX" +CLANGXX_CFG_FLAGS="$CLANG_CFG_FLAGS" +echo "$CLANG_CFG_FLAGS" > $CLANG_CFG +echo "$CLANGXX_CFG_FLAGS" > $CLANGXX_CFG + invoke () { if [[ $1 == cmake ]]; then CMD="${CMAKE}" @@ -211,6 +218,10 @@ MONGO_CMAKE_ARGS=( -DCMAKE_C_COMPILER="$GCC_PREFIX/bin/gcc" -DCMAKE_CXX_COMPILER="$GCC_PREFIX/bin/g++" + -DCLANG_CONFIG_FILE_SYSTEM_DIR=$PREFIX + -DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath,${GCC_PREFIX}/lib64 -Wl,-rpath,${GCC_PREFIX}/lib" + -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-rpath,${GCC_PREFIX}/lib64 -Wl,-rpath,${GCC_PREFIX}/lib" + # TODO BUILD-16234 # remove the RHEL6 support -DCMAKE_INCLUDE_PATH="$MONGO_CMAKE_INCLUDE_PATH" @@ -317,7 +328,7 @@ time invoke ninja \ stage2-install install-cmake-exports | tee build_output.txt grep -E -e "-c\s.*/clang-tools-extra/clang-tidy/ClangTidyModule\.cpp" build_output.txt | head -1 > raw_compile.txt -grep -E -e "-o\sbin/clang-tidy" build_output.txt | head -1 > raw_link.txt +grep -E -e "-o\sbin/clang-tidy\s" build_output.txt | head -1 > raw_link.txt $PYTHON3_PREFIX/bin/python3 $START_DIR/scripts/parse_clang_tidy_args.py --raw-compile-file=raw_compile.txt --raw-link-file=raw_link.txt mv clang_tidy_build_flags.json $PREFIX/bin/