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"
