Sedat Dilek via llvm-dev
2018-Aug-14 08:56 UTC
[llvm-dev] Setting clang-cpp explicitly when building LLVM/Clang
Hi, can you explain the meaning and setting of cpp? I know I can explicitly set "-DCMAKE_C_COMPILER=..." and "-DCMAKE_CXX_COMPILER=...". I have not found a setting to do so for cpp. $ cd build/ ; cmake ../llvm -LA | egrep -i cpp Background is I had a typo in CMAKE_OPTS variable and CC and CXX compilers were not set and played with Debian's way to set alternatives for cc, c++ and cpp. Thanks in advance. Regards, - Sedat - P.S.: My current build-script. [ build_clang-with-ninja.sh ] #!/bin/sh # HELP-1: <http://prereleases.llvm.org/7.0.0/#rc1> # HELP-2: <https://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compiler-in-ubuntu/28126262#28126262 export LANG=C export LC_ALL=C PKG_NAME="llvm-toolchain" VER="7.0.0" PKG_VER="${VER}" ##RC="rc1" ##PKG_VER="${VER}${RC}" WORKING_DIR=$(pwd) BUILD_DIR="$WORKING_DIR/build" PREFIX="/opt/${PKG_NAME}-${PKG_VER}" # CMake binary (here: v3.11.2) CMAKE="cmake" # CMake generator options (here: Ninja v1.8.2) NINJA="ninja" CMAKE_GENERATORS="Ninja" GENERATORS_CMAKE_OPTS="-G $CMAKE_GENERATORS" # XXX: Workaround: Use Debian's update-alternatives to set cc, c++ and cpp # XXX: Use lower priority of 10 (default: 20 for existing alternatives) # Check set alternatives ##for i in cc c++ cpp ; do echo [ $i ] ; $i --version ; done # Reset to Debian's default alternatives ##for i in cc c++ cpp ; do update-alternatives --auto $i ; done # XXX: PREREQ: Install new alternatives # sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-6.0 10 # sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-6.0 10 # sudo update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang-cpp-6.0 10 ##sudo update-alternatives --set cc /usr/bin/clang-6.0 ##sudo update-alternatives --set c++ /usr/bin/clang++-6.0 ##sudo update-alternatives --set cpp /usr/bin/clang-cpp-6.0 ##COMPILER_CC="cc" ##COMPILER_CXX="c++" # CMake compiler options (here: Clang v6.0) COMPILER_VER="6.0" COMPILER_CC="clang-$COMPILER_VER" COMPILER_CXX="clang++-$COMPILER_VER" COMPILER_CMAKE_OPTS="-DCMAKE_C_COMPILER=$COMPILER_CC -DCMAKE_CXX_COMPILER=$COMPILER_CXX" # CMake parallel compile (default: 2) and link (default: 1) options ##MAX_JOBS=$(($(getconf _NPROCESSORS_ONLN)+1)) ##COMPILE_JOBS="$MAX_JOBS" COMPILE_JOBS="2" LINK_JOBS="1" JOBS_CMAKE_OPTS="-DLLVM_PARALLEL_COMPILE_JOBS=$COMPILE_JOBS -DLLVM_PARALLEL_LINK_JOBS=$LINK_JOBS" # CMake configure options PREFIX_CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=$PREFIX" BUILDTYPE_CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE" ASSERTIONS_CMAKE_OPTS="-DLLVM_ENABLE_ASSERTIONS=ON" TARGETS_CMAKE_OPTS="-DLLVM_TARGETS_TO_BUILD=X86" CONFIGURE_CMAKE_OPTS="$PREFIX_CMAKE_OPTS $BUILDTYPE_CMAKE_OPTS $ASSERTIONS_CMAKE_OPTS $TARGETS_CMAKE_OPTS" # CMake options CMAKE_OPTS="$GENERATORS_CMAKE_OPTS $COMPILER_CMAKE_OPTS $JOBS_CMAKE_OPTS $CONFIGURE_CMAKE_OPTS" echo "CMAKE_OPTS... $CMAKE_OPTS" [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} cd $BUILD_DIR ### CONFIGURE $CMAKE ../llvm $CMAKE_OPTS ### BUILD $CMAKE --build . ### CHECK-CLANG $NINJA check-clang ### INSTALL # XXX: Commented - Do this as a seperate and last step ##sudo $CMAKE --build . --target install - EOF -