| language: c |
| sudo: false |
| matrix: |
| include: |
| ### |
| ## Linux builds using various versions of GCC. |
| ### |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-6 |
| - g++-6 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-5 |
| - g++-5 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.9 |
| - g++-4.9 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.8 |
| - g++-4.8 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.7 |
| - g++-4.7 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.6 |
| - g++-4.6 |
| # - os: linux |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 |
| # addons: |
| # apt: |
| # sources: |
| # - ubuntu-toolchain-r-test |
| # packages: |
| # - gcc-4.5 |
| # - g++-4.5 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.4 |
| - g++-4.4 |
| |
| ### |
| ## clang on Linux |
| ### |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 |
| addons: |
| apt: |
| sources: |
| - llvm-toolchain-precise-3.8 |
| - ubuntu-toolchain-r-test |
| packages: |
| - clang-3.8 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.7 CXX_COMPILER=clang++-3.7 |
| addons: |
| apt: |
| sources: |
| - llvm-toolchain-precise-3.7 |
| - ubuntu-toolchain-r-test |
| packages: |
| - clang-3.7 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.6 CXX_COMPILER=clang++-3.6 |
| addons: |
| apt: |
| sources: |
| - llvm-toolchain-precise-3.6 |
| - ubuntu-toolchain-r-test |
| packages: |
| - clang-3.6 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5 |
| addons: |
| apt: |
| sources: |
| - llvm-toolchain-precise-3.5 |
| - ubuntu-toolchain-r-test |
| packages: |
| - clang-3.5 |
| |
| ### |
| ## PGI Community Edition on Linux |
| ### |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++ |
| |
| ### |
| ## Python build on Linux |
| ### |
| - os: linux |
| env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6 |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-6 |
| - g++-6 |
| |
| ### |
| ## CMake on OS X |
| ## |
| ## These all work, but it seems unnecessary to actually build them |
| ## all since we already test all these versions of GCC on Linux. |
| ## We'll just test 4.4 and the most recent version. |
| ### |
| # - os: osx |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 |
| - os: osx |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 |
| # - os: osx |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 |
| # - os: osx |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 |
| # - os: osx |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 |
| # - os: osx |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 |
| # - os: osx |
| # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 |
| - os: osx |
| osx_image: beta-xcode6.2 |
| env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 |
| |
| ### |
| ## Python OS X builds |
| ### |
| - os: osx |
| env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=2.7.12 C_COMPILER=gcc CXX_COMPILER=g++ |
| - os: osx |
| env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.4.4 C_COMPILER=gcc CXX_COMPILER=g++ |
| - os: osx |
| env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.5.2 C_COMPILER=gcc CXX_COMPILER=g++ |
| |
| ### |
| ## Sanitizers |
| ### |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=address |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| - llvm-toolchain-precise-3.8 |
| packages: |
| - clang-3.8 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=thread |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| - llvm-toolchain-precise-3.8 |
| packages: |
| - clang-3.8 |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer" |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| - llvm-toolchain-precise-3.8 |
| packages: |
| - clang-3.8 |
| |
| ### |
| ## mingw |
| ### |
| - os: linux |
| env: BUILD_SYSTEM=cmake C_COMPILER=x86_64-w64-mingw32-gcc CXX_COMPILER=x86_64-w64-mingw32-g++ RC_COMPILER=x86_64-w64-mingw32-windres CROSS_COMPILE=yes |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| - george-edison55-precise-backports |
| packages: |
| - binutils-mingw-w64-x86-64 |
| - g++-mingw-w64-x86-64 |
| - gcc-mingw-w64-x86-64 |
| - binutils-mingw-w64-x86-64 |
| - wine |
| # Because 2.8.6 passes -rdynamic to the linker, which breaks the build. |
| - cmake |
| - cmake-data |
| |
| - os: linux |
| env: BUILD_SYSTEM=maven |
| language: java |
| |
| - os: linux |
| dist: trusty |
| sudo: required |
| env: BUILD_SYSTEM=bazel |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - wget |
| - pkg-config |
| |
| - os: osx |
| env: BUILD_SYSTEM=bazel |
| |
| before_install: |
| ### |
| ## If we use the matrix to set CC/CXX Travis, overwrites the values, |
| ## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX |
| ## here (after Travis has set CC/CXX). |
| ### |
| - if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi |
| - if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi |
| - ./.travis.sh before_install |
| install: |
| - ./.travis.sh install |
| script: |
| - ./.travis.sh script |
| after_success: |
| - ./.travis.sh after_success |
| |
| before_deploy: |
| - if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi |
| |
| deploy: |
| provider: releases |
| api_key: |
| secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss= |
| file: "${WHEELS}" |
| skip_cleanup: true |
| on: |
| repo: "google/brotli" |
| tags: true |
| condition: "${BUILD_SYSTEM} = python && ${TRAVIS_OS_NAME} = osx" |