#!/usr/bin/env bash

# Checkout LLVM sources
#git clone --depth=1 https://github.com/llvm/llvm-project.git llvm-project
#
## Setup libc++ options
#if [ -z "$BUILD_32_BITS" ]; then
#  export BUILD_32_BITS=OFF && echo disabling 32 bit build
#fi
#
## Build and install libc++ (Use unstable ABI for better sanitizer coverage)
#cd ./llvm-project
#cmake -DCMAKE_C_COMPILER=${CC}                  \
#      -DCMAKE_CXX_COMPILER=${CXX}               \
#      -DCMAKE_BUILD_TYPE=RelWithDebInfo         \
#      -DCMAKE_INSTALL_PREFIX=/usr               \
#      -DLIBCXX_ABI_UNSTABLE=OFF                 \
#      -DLLVM_USE_SANITIZER=${LIBCXX_SANITIZER}  \
#      -DLLVM_BUILD_32_BITS=${BUILD_32_BITS}     \
#      -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi' \
#      -S llvm -B llvm-build -G "Unix Makefiles"
#make -C llvm-build -j3 cxx cxxabi
#sudo make -C llvm-build install-cxx install-cxxabi
#cd ..

sudo apt update
sudo apt -y install libc++-dev libc++abi-dev
