travis on linux and clang install the right version of libc++
This commit is contained in:
parent
acf3f7faad
commit
247ae55af3
1 changed files with 33 additions and 0 deletions
33
.travis.yml
33
.travis.yml
|
@ -275,10 +275,43 @@ matrix:
|
||||||
env:
|
env:
|
||||||
- CXX_COMPILER=clang++ CC_COMPILER=clang CONFIGURATION=Debug
|
- CXX_COMPILER=clang++ CC_COMPILER=clang CONFIGURATION=Debug
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
compiler: clang++
|
||||||
|
osx_image: xcode9.4
|
||||||
|
env:
|
||||||
|
- CXX_COMPILER=clang++ CC_COMPILER=clang CONFIGURATION=Debug
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- export CC=${CC_COMPILER}
|
- export CC=${CC_COMPILER}
|
||||||
- export CXX=${CXX_COMPILER}
|
- export CXX=${CXX_COMPILER}
|
||||||
- JOBS=2 # Travis machines have 2 cores.
|
- JOBS=2 # Travis machines have 2 cores.
|
||||||
|
- |
|
||||||
|
# If linux and clang install the right version of libc++.
|
||||||
|
if [[ "${TRAVIS_OS_NAME}" == "linux" && "${CXX%%+*}" == "clang" && -n "$(ls -A ${LLVM_INSTALL})" ]]; then
|
||||||
|
LLVM_INSTALL=${DEPS_DIR}/llvm/install
|
||||||
|
if [[ "${CXX}" == "clang++-3.5" ]]; then LLVM_VERSION="3.6.2"; # libc++ bug uncaught_exception not yet implemented.
|
||||||
|
elif [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
|
||||||
|
elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
|
||||||
|
elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";
|
||||||
|
elif [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
|
||||||
|
elif [[ "${CXX}" == "clang++-4.0" ]]; then LLVM_VERSION="4.0.1";
|
||||||
|
elif [[ "${CXX}" == "clang++-5.0" ]]; then LLVM_VERSION="5.0.2";
|
||||||
|
elif [[ "${CXX}" == "clang++-6.0" ]]; then LLVM_VERSION="6.0.1";
|
||||||
|
fi
|
||||||
|
LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
|
||||||
|
LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
|
||||||
|
LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
|
||||||
|
mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
|
||||||
|
travis_retry wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm
|
||||||
|
travis_retry wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx
|
||||||
|
travis_retry wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi
|
||||||
|
(cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_INSTALL})
|
||||||
|
(cd llvm/build/projects/libcxx && sudo make install -j JOBS)
|
||||||
|
(cd llvm/build/projects/libcxxabi && sudo make install -j JOBS)
|
||||||
|
export CXXFLAGS="-isystem ${LLVM_INSTALL}/include/c++/v1"
|
||||||
|
export LDFLAGS="-L ${LLVM_INSTALL}/lib -l c++ -l c++abi"
|
||||||
|
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LLVM_INSTALL}/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- rm -rf build
|
- rm -rf build
|
||||||
|
|
Loading…
Reference in a new issue