Files
filament/build/linux/ci-common.sh
2018-08-10 11:19:52 -07:00

71 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# version of clang we want to use
CLANG_VERSION=5.0
# version of libcxx and libcxxabi we want to use
CXX_VERSION=5.0.2
# Steps specific to our CI environment
# CI runs on Ubuntu 14.04, we need to install clang-5.0 and th
# appropriate libc++ ourselves
if [ "$KOKORO_BUILD_ID" ]; then
sudo ln -s /usr/include/x86_64-linux-gnu/asm /usr/include/asm
sudo apt-add-repository "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-$CLANG_VERSION main"
sudo apt-get update -y
sudo apt-get --assume-yes --force-yes install clang-$CLANG_VERSION
mkdir -p clang
cd clang
# download LLVM sources
curl -O http://releases.llvm.org/$CXX_VERSION/llvm-$CXX_VERSION.src.tar.xz
tar xf llvm-$CXX_VERSION.src.tar.xz
mv llvm-$CXX_VERSION.src llvm_src
# download libc++ sources
curl -O http://releases.llvm.org/$CXX_VERSION/libcxx-$CXX_VERSION.src.tar.xz
tar xf libcxx-$CXX_VERSION.src.tar.xz
mv libcxx-$CXX_VERSION.src llvm_src/projects/libcxx
# download libc++abi sources
curl -O http://releases.llvm.org/$CXX_VERSION/libcxxabi-$CXX_VERSION.src.tar.xz
tar xf libcxxabi-$CXX_VERSION.src.tar.xz
mv libcxxabi-$CXX_VERSION.src llvm_src/projects/libcxxabi
mkdir -p build
cd build
export CC=/usr/bin/clang-$CLANG_VERSION
export CXX=/usr/bin/clang++-$CLANG_VERSION
# prepare makefiles
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DLIBCXX_ENABLE_RTTI=YES \
-DLIBCXX_ENABLE_EXCEPTIONS=YES \
-DLIBCXX_USE_COMPILER_RT=NO \
-DLIBCXXABI_USE_COMPILER_RT=NO \
../llvm_src
# compile libraries
make -j cxx
make -j cxxabi
# install libraries
(cd projects/libcxx && sudo make -j install)
(cd projects/libcxxabi && sudo make -j install)
cd ../..
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
# set to true to link against libc++abi
export FILAMENT_REQUIRES_CXXABI=true
fi
wget -q https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip
unzip -q ninja-linux.zip
export PATH="$PWD:$PATH"