Austin Schuh | cbc1740 | 2019-01-21 21:00:30 -0800 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | # Install a newer CMake version |
| 4 | curl -sSL https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.sh -o install-cmake.sh |
| 5 | chmod +x install-cmake.sh |
| 6 | sudo ./install-cmake.sh --prefix=/usr/local --skip-license |
| 7 | |
| 8 | # Checkout LLVM sources |
| 9 | git clone --depth=1 https://github.com/llvm-mirror/llvm.git llvm-source |
| 10 | git clone --depth=1 https://github.com/llvm-mirror/libcxx.git llvm-source/projects/libcxx |
| 11 | git clone --depth=1 https://github.com/llvm-mirror/libcxxabi.git llvm-source/projects/libcxxabi |
| 12 | |
| 13 | # Setup libc++ options |
| 14 | if [ -z "$BUILD_32_BITS" ]; then |
| 15 | export BUILD_32_BITS=OFF && echo disabling 32 bit build |
| 16 | fi |
| 17 | |
| 18 | # Build and install libc++ (Use unstable ABI for better sanitizer coverage) |
| 19 | mkdir llvm-build && cd llvm-build |
| 20 | cmake -DCMAKE_C_COMPILER=${C_COMPILER} -DCMAKE_CXX_COMPILER=${COMPILER} \ |
| 21 | -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr \ |
| 22 | -DLIBCXX_ABI_UNSTABLE=ON \ |
| 23 | -DLLVM_USE_SANITIZER=${LIBCXX_SANITIZER} \ |
| 24 | -DLLVM_BUILD_32_BITS=${BUILD_32_BITS} \ |
| 25 | ../llvm-source |
| 26 | make cxx -j2 |
| 27 | sudo make install-cxxabi install-cxx |
| 28 | cd ../ |