• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env bash
2
3set -e
4
5# Checkout LLVM sources
6git clone --depth=1 --branch llvmorg-16.0.6 https://github.com/llvm/llvm-project.git llvm-project
7
8## Setup libc++ options
9if [ -z "$BUILD_32_BITS" ]; then
10  export BUILD_32_BITS=OFF && echo disabling 32 bit build
11fi
12
13## Build and install libc++ (Use unstable ABI for better sanitizer coverage)
14mkdir llvm-build && cd llvm-build
15cmake -DCMAKE_C_COMPILER=${CC}                  \
16      -DCMAKE_CXX_COMPILER=${CXX}               \
17      -DCMAKE_BUILD_TYPE=RelWithDebInfo         \
18      -DCMAKE_INSTALL_PREFIX=/usr               \
19      -DLIBCXX_ABI_UNSTABLE=OFF                 \
20      -DLLVM_USE_SANITIZER=${LIBCXX_SANITIZER}  \
21      -DLLVM_BUILD_32_BITS=${BUILD_32_BITS}     \
22      -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' \
23      -G "Unix Makefiles" \
24      ../llvm-project/runtimes/
25make -j cxx cxxabi unwind
26cd ..
27