# Copyright 2016, 2017 Peter Dimov # Copyright 2017-2019 Kohei Takahashi # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) language: cpp sudo: false cache: ccache os: - linux - osx env: matrix: - BOGUS_JOB=true matrix: exclude: - env: BOGUS_JOB=true include: - os: linux dist: trusty env: TOOLSET=gcc-4.4 CXXSTD=98,0x addons: apt: packages: - g++-4.4 sources: - ubuntu-toolchain-r-test #- os: linux # dist: trusty # env: TOOLSET=gcc-4.5 CXXSTD=03,0x # addons: # apt: # packages: # - g++-4.5 # sources: # - ubuntu-toolchain-r-test - os: linux dist: trusty env: TOOLSET=gcc-4.6 CXXSTD=03,0x addons: apt: packages: - g++-4.6 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-4.7 CXXSTD=03,11 addons: apt: packages: - g++-4.7 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-4.8 CXXSTD=03,11 addons: apt: packages: - g++-4.8 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-4.8 CXXSTD=1y addons: apt: packages: - g++-4.8 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-4.9 CXXSTD=03,11 addons: apt: packages: - g++-4.9 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-4.9 CXXSTD=14 addons: apt: packages: - g++-4.9 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-5 CXXSTD=03,11 addons: apt: packages: - g++-5 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-5 CXXSTD=14,17 addons: apt: packages: - g++-5 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-6 CXXSTD=03,11 addons: apt: packages: - g++-6 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-6 CXXSTD=14,17 addons: apt: packages: - g++-6 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-7 CXXSTD=03,11 addons: apt: packages: - g++-7 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-7 CXXSTD=14,17 addons: apt: packages: - g++-7 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-8 CXXSTD=03,11 addons: apt: packages: - g++-8 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-8 CXXSTD=14,17 addons: apt: packages: - g++-8 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-8 CXXSTD=2a addons: apt: packages: - g++-8 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-9 CXXSTD=03,11,14 SANITIZED addons: apt: packages: - g++-9 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=gcc-9 CXXSTD=17,2a SANITIZED addons: apt: packages: - g++-9 sources: - ubuntu-toolchain-r-test - os: linux dist: xenial env: TOOLSET=clang-3.5 CXXSTD=03,11 addons: apt: packages: - clang-3.5 # Disable due to: error: debug information for auto is not yet supported #- os: linux # dist: xenial # env: TOOLSET=clang-3.5 CXXSTD=14,1z # addons: # apt: # packages: # - clang-3.5 - os: linux dist: xenial env: TOOLSET=clang-3.6 CXXSTD=03,11 addons: apt: packages: - clang-3.6 - os: linux dist: xenial env: TOOLSET=clang-3.6 CXXSTD=14,1z addons: apt: packages: - clang-3.6 - os: linux dist: xenial env: TOOLSET=clang-3.7 CXXSTD=03,11 addons: apt: packages: - clang-3.7 - os: linux dist: xenial env: TOOLSET=clang-3.7 CXXSTD=14,1z addons: apt: packages: - clang-3.7 - os: linux dist: xenial env: TOOLSET=clang-3.8 CXXSTD=03,11 addons: apt: packages: - clang-3.8 - os: linux dist: xenial env: TOOLSET=clang-3.8 CXXSTD=14,1z addons: apt: packages: - clang-3.8 - os: linux dist: xenial env: TOOLSET=clang-3.9 CXXSTD=03,11 addons: apt: packages: - clang-3.9 - os: linux dist: xenial env: TOOLSET=clang-3.9 CXXSTD=14,1z addons: apt: packages: - clang-3.9 - os: linux dist: xenial env: TOOLSET=clang-4.0 CXXSTD=03,11 addons: apt: packages: - clang-4.0 - os: linux dist: xenial env: TOOLSET=clang-4.0 CXXSTD=14,1z addons: apt: packages: - clang-4.0 - os: linux dist: xenial env: TOOLSET=clang-5.0 CXXSTD=03,11 addons: apt: packages: - clang-5.0 sources: - llvm-toolchain-xenial-5.0 - os: linux dist: xenial env: TOOLSET=clang-5.0 CXXSTD=14,17 addons: apt: packages: - clang-5.0 sources: - llvm-toolchain-xenial-5.0 - os: linux dist: xenial env: TOOLSET=clang-5.0 CXXSTD=2a addons: apt: packages: - clang-5.0 sources: - llvm-toolchain-xenial-5.0 - os: linux dist: xenial env: TOOLSET=clang-6.0 CXXSTD=03,11 addons: apt: packages: - clang-6.0 sources: - llvm-toolchain-xenial-6.0 - os: linux dist: xenial env: TOOLSET=clang-6.0 CXXSTD=14,17 addons: apt: packages: - clang-6.0 sources: - llvm-toolchain-xenial-6.0 - os: linux dist: xenial env: TOOLSET=clang-6.0 CXXSTD=2a addons: apt: packages: - clang-6.0 sources: - llvm-toolchain-xenial-6.0 - os: linux dist: xenial env: TOOLSET=clang-7 CXXSTD=03,11 addons: apt: packages: - clang-7 sources: - llvm-toolchain-xenial-7 - os: linux dist: xenial env: TOOLSET=clang-7 CXXSTD=14,17 addons: apt: packages: - clang-7 sources: - llvm-toolchain-xenial-7 - os: linux dist: xenial env: TOOLSET=clang-7 CXXSTD=2a addons: apt: packages: - clang-7 sources: - llvm-toolchain-xenial-7 - os: linux dist: xenial env: TOOLSET=clang-8 CXXSTD=03,11,14 addons: apt: packages: - clang-8 - os: linux dist: xenial env: TOOLSET=clang-8 CXXSTD=17,2a addons: apt: packages: - clang-8 - os: linux dist: bionic env: TOOLSET=clang-9 CXXSTD=03,11,14 SANITIZED addons: apt: packages: - clang-9 - os: linux dist: bionic env: TOOLSET=clang-9 CXXSTD=17,2a SANITIZED addons: apt: packages: - clang-9 - os: osx env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 - os: osx env: TOOLSET=clang COMPILER=clang++ CXXSTD=14,1z install: - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. - git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule init libs/algorithm - git submodule init libs/any - git submodule init libs/array - git submodule init libs/assert - git submodule init libs/assign - git submodule init libs/atomic - git submodule init libs/bind - git submodule init libs/chrono - git submodule init libs/circular_buffer - git submodule init libs/concept_check - git submodule init libs/config - git submodule init libs/container - git submodule init libs/container_hash - git submodule init libs/conversion - git submodule init libs/core - git submodule init libs/date_time - git submodule init libs/detail - git submodule init libs/endian - git submodule init libs/exception - git submodule init libs/filesystem - git submodule init libs/foreach - git submodule init libs/format - git submodule init libs/function - git submodule init libs/function_types - git submodule init libs/functional - git submodule init libs/fusion - git submodule init libs/integer - git submodule init libs/intrusive - git submodule init libs/io - git submodule init libs/iostreams - git submodule init libs/iterator - git submodule init libs/lambda - git submodule init libs/lexical_cast - git submodule init libs/locale - git submodule init libs/log - git submodule init libs/math - git submodule init libs/move - git submodule init libs/mp11 - git submodule init libs/mpl - git submodule init libs/multi_index - git submodule init libs/numeric/conversion - git submodule init libs/optional - git submodule init libs/parameter - git submodule init libs/pool - git submodule init libs/predef - git submodule init libs/preprocessor - git submodule init libs/property_tree - git submodule init libs/proto - git submodule init libs/ptr_container - git submodule init libs/python - git submodule init libs/random - git submodule init libs/range - git submodule init libs/ratio - git submodule init libs/rational - git submodule init libs/regex - git submodule init libs/serialization - git submodule init libs/signals2 - git submodule init libs/smart_ptr - git submodule init libs/spirit - git submodule init libs/static_assert - git submodule init libs/system - git submodule init libs/thread - git submodule init libs/throw_exception - git submodule init libs/tokenizer - git submodule init libs/tti - git submodule init libs/tuple - git submodule init libs/type_index - git submodule init libs/type_traits - git submodule init libs/typeof - git submodule init libs/unordered - git submodule init libs/utility - git submodule init libs/variant - git submodule init libs/winapi - git submodule init libs/xpressive - git submodule init libs/headers tools/boost_install tools/build - git submodule update --jobs 8 - rm -rf libs/phoenix - mv $TRAVIS_BUILD_DIR libs/phoenix - ln -s $(pwd)/libs/phoenix $TRAVIS_BUILD_DIR - ./bootstrap.sh - ./b2 headers - | if [ $TRAVIS_OS_NAME = osx ]; then export PATH="/usr/local/opt/ccache/libexec:$PATH" brew install ccache fi - |- echo "using ${TOOLSET%%-*} : ${TOOLSET#*-} : ccache `echo $TOOLSET | sed 's/clang/clang++/;s/gcc/g++/'` ;" > ~/user-config.jam script: - ./b2 libs/phoenix/test toolset=$TOOLSET cxxstd=$CXXSTD ${SANITIZED+cxxflags=-fsanitize=address,undefined} ${SANITIZED+'linkflags=-fsanitize=address,undefined -fuse-ld=gold'}