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