.libcxx-setup.sh 871 B

123456789101112131415161718192021222324
  1. #!/usr/bin/env bash
  2. # Checkout LLVM sources
  3. git clone --depth=1 https://github.com/llvm/llvm-project.git llvm-project
  4. # Setup libc++ options
  5. if [ -z "$BUILD_32_BITS" ]; then
  6. export BUILD_32_BITS=OFF && echo disabling 32 bit build
  7. fi
  8. # Build and install libc++ (Use unstable ABI for better sanitizer coverage)
  9. cd ./llvm-project
  10. cmake -DCMAKE_C_COMPILER=${C_COMPILER} \
  11. -DCMAKE_CXX_COMPILER=${COMPILER} \
  12. -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  13. -DCMAKE_INSTALL_PREFIX=/usr \
  14. -DLIBCXX_ABI_UNSTABLE=OFF \
  15. -DLLVM_USE_SANITIZER=${LIBCXX_SANITIZER} \
  16. -DLLVM_BUILD_32_BITS=${BUILD_32_BITS} \
  17. -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi' \
  18. -S llvm -B llvm-build -G "Unix Makefiles"
  19. make -C llvm-build -j3 cxx cxxabi
  20. sudo make -C llvm-build install-cxx install-cxxabi
  21. cd ..