llvm801/clang-gcc-wrapper.macros
2019-07-27 15:56:34 +00:00

21 lines
789 B
Text

%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}