2
0
mirror of https://github.com/boostorg/hof.git synced 2026-01-31 08:12:19 +00:00

Add clang again

This commit is contained in:
Paul
2016-06-26 12:52:24 -05:00
parent 8d9b0e8830
commit 2d82cd3371

View File

@@ -25,42 +25,32 @@ matrix:
compiler: clang
addons: *clang34
# - env: CLANG_VERSION=3.5 ASAN=on LIBCXX=on
# os: linux
# compiler: clang-3.5
# addons: &clang35
# apt:
# packages:
# - util-linux
# - clang-3.5
# - valgrind
# sources:
# - ubuntu-toolchain-r-test
# - llvm-toolchain-precise-3.5
- env: CLANG_VERSION=3.5 ASAN=on LIBCXX=on
os: linux
compiler: clang
addons: &clang
apt:
packages:
- g++-4.9
- util-linux
- valgrind
sources:
- ubuntu-toolchain-r-test
# - env: CLANG_VERSION=3.5 ASAN=on LIBCXX=off
# os: linux
# compiler: clang-3.5
# addons: *clang35
- env: CLANG_VERSION=3.5 ASAN=on LIBCXX=off
os: linux
compiler: clang
addons: *clang
# - env: CLANG_VERSION=3.7 ASAN=off LIBCXX=on BUILD_EXAMPLES=on
# os: linux
# compiler: clang-3.7
# addons: &clang37
# apt:
# packages:
# - util-linux
# - clang-3.7
# - valgrind
# - python
# sources:
# - ubuntu-toolchain-r-test
# - llvm-toolchain-precise-3.7
- env: CLANG_VERSION=3.7 ASAN=off LIBCXX=on BUILD_EXAMPLES=on
os: linux
compiler: clang
addons: *clang
# - env: CLANG_VERSION=3.7 ASAN=off LIBCXX=off BUILD_EXAMPLES=on
# os: linux
# compiler: clang-3.7
# addons: *clang37
- env: CLANG_VERSION=3.7 ASAN=off LIBCXX=off BUILD_EXAMPLES=on
os: linux
compiler: clang
addons: *clang
# Gcc
- env: GCC_VERSION=4.9 ASAN=off LIBCXX=off
@@ -108,10 +98,17 @@ matrix:
sources:
- ubuntu-toolchain-r-test
cache:
directories:
- ${TRAVIS_BUILD_DIR}/deps/llvm-3.5.2
- ${TRAVIS_BUILD_DIR}/deps/llvm-3.6.2
- ${TRAVIS_BUILD_DIR}/deps/llvm-3.7.1
- ${TRAVIS_BUILD_DIR}/deps/llvm-3.8.0
install:
- export CHECKOUT_PATH=`pwd`;
- if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
- if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
- if [ -n "$CLANG_VERSION" ]; then export CXX="clang++" CC="clang"; fi
- if [[ "$CLANG_VERSION" == "3.4" ]]; then export CXX="/usr/local/clang-3.4/bin/clang++" CC="/usr/local/clang-3.4/bin/clang"; fi
# Setup deps directory
- export DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
@@ -121,6 +118,31 @@ install:
# Install cmake
- CMAKE_URL="http://www.cmake.org/files/v3.3/cmake-3.3.1-Linux-x86_64.tar.gz"
- if [[ "$LIBCXX" == "on" ]]; then travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C usr; fi
############################################################################
# Install Clang, libc++ and libc++abi
############################################################################
- LLVM_DIR=${DEPS_DIR}/llvm-${LLVM_VERSION}
- if [[ "${CLANG_VERSION}" == "3.5" ]]; then LLVM_VERSION="3.5.2"; fi
- if [[ "${CLANG_VERSION}" == "3.6" ]]; then LLVM_VERSION="3.6.2"; fi
- if [[ "${CLANG_VERSION}" == "3.7" ]]; then LLVM_VERSION="3.7.0"; fi
- if [[ "${CLANG_VERSION}" == "3.8" ]]; then LLVM_VERSION="3.8.0"; fi
- |
if [[ "${LLVM_VERSION}" != "" ]]; then
export PATH="${LLVM_DIR}/clang/bin:${PATH}"
if [[ -z "$(ls -A ${LLVM_DIR})" ]]; then
LLVM_URL="http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.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_DIR} ${LLVM_DIR}/build ${LLVM_DIR}/projects/libcxx ${LLVM_DIR}/projects/libcxxabi ${LLVM_DIR}/clang
travis_retry wget --quiet -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}/clang
travis_retry wget --quiet -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}/projects/libcxx
travis_retry wget --quiet -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C ${LLVM_DIR}/projects/libcxxabi
(cd ${LLVM_DIR}/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_DIR}/usr -DCMAKE_CXX_COMPILER=clang++)
(cd ${LLVM_DIR}/build/projects/libcxx && make install -j4)
(cd ${LLVM_DIR}/build/projects/libcxxabi && make install -j4)
fi
fi
# Show compiler info
- $CXX --version
- which $CXX
@@ -128,26 +150,15 @@ install:
- which $CC
- which cmake
- cmake --version
# Install libc++
# Use libc++
- |
if [[ "$LIBCXX" == "on" ]]; then
if [[ "${CLANG_VERSION}" == "3.5" ]]; then LLVM_VERSION="3.5.2"; fi
if [[ "${CLANG_VERSION}" == "3.6" ]]; then LLVM_VERSION="3.6.2"; fi
if [[ "${CLANG_VERSION}" == "3.7" ]]; then LLVM_VERSION="3.7.0"; 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 --quiet -O - ${LLVM_URL} | tar --strip-components=1 -x --xz -C llvm
travis_retry wget --quiet -O - ${LIBCXX_URL} | tar --strip-components=1 -x --xz -C llvm/projects/libcxx
travis_retry wget --quiet -O - ${LIBCXXABI_URL} | tar --strip-components=1 -x --xz -C llvm/projects/libcxxabi
(cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${DEPS_DIR}/usr)
(cd llvm/build/projects/libcxx && make install -j2)
(cd llvm/build/projects/libcxxabi && make install -j2)
export LDFLAGS="-L${DEPS_DIR}/usr/lib -lc++ -lc++abi"
export CFLAGS="${CFLAGS} -stdlib=libc++ -I${DEPS_DIR}/usr/include/c++/v1"
export CXXFLAGS="${CXXFLAGS} -stdlib=libc++ -I${DEPS_DIR}/usr/include/c++/v1"
export CFLAGS="${CFLAGS} -stdlib=libc++ -nostdinc++ -isystem ${DEPS_DIR}/usr/include/c++/v1"
export CXXFLAGS="${CXXFLAGS} -stdlib=libc++ -nostdinc++ -isystem ${DEPS_DIR}/usr/include/c++/v1"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DEPS_DIR}/usr/lib"
fi
# Show files that have been installed