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
- scripts/.travis.sh before_install
install:
- scripts/.travis.sh install
script:
- scripts/.travis.sh script
after_success:
- scripts/.travis.sh after_success

before_deploy:
- if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi
- scripts/.travis.sh before_deploy

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"
- provider: bintray
  file: "scripts/.bintray.json"
  user: "eustas"
  key:
    secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
  on:
    condition: "${BUILD_SYSTEM} = bazel"
  skip_cleanup: true
