%clang_gcc_wrapper() \ # clang wrapper to remove compiler flags that clang does not know \ # how-to in Russian: https://nixtux.ru/768 \ BIN_DIR="${BIN_DIR:-$(pwd)/local_bin}" \ mkdir -p "$BIN_DIR" \ install -m 0755 %{_datadir}/clang/clang-gcc-wrapper.sh "${BIN_DIR}/clang++" \ sed -e "s,_CLANG_,$(which clang++),g" -i "${BIN_DIR}/clang++" \ install -m 0755 %{_datadir}/clang/clang-gcc-wrapper.sh "${BIN_DIR}/clang" \ sed -e "s,_CLANG_,$(which clang),g" -i "${BIN_DIR}/clang" \ export PATH="${BIN_DIR}:${PATH}" \ # set variables \ CLANG="$(which clang)" \ CLANGXX="$(which clang++)" \ CC="clang" \ CXX="clang++" \ CPP="clang++" \ # validate that clang wrapper is in PATH \ echo "$CLANG" | grep -q "$BIN_DIR" \ echo "$CLANGXX" | grep -q "$BIN_DIR" \ export CLANG CLANGXX CC CXX CPP \ %{nil}