| # Build matrix / environment variable are explained on: | 
 | # http://about.travis-ci.org/docs/user/build-configuration/ | 
 | # This file can be validated on: | 
 | # http://lint.travis-ci.org/ | 
 |  | 
 | sudo: false | 
 | language: cpp | 
 |  | 
 | # Define the matrix explicitly, manually expanding the combinations of (os, compiler, env). | 
 | # It is more tedious, but grants us far more flexibility. | 
 | matrix: | 
 |   include: | 
 |     - os: linux | 
 |       compiler: gcc | 
 |       sudo : true | 
 |       install: ./ci/install-linux.sh && ./ci/log-config.sh | 
 |       script: ./ci/build-linux-bazel.sh | 
 |     - os: linux | 
 |       compiler: clang | 
 |       sudo : true | 
 |       install: ./ci/install-linux.sh && ./ci/log-config.sh | 
 |       script: ./ci/build-linux-bazel.sh | 
 |     - os: linux | 
 |       group: deprecated-2017Q4 | 
 |       compiler: gcc | 
 |       install: ./ci/install-linux.sh && ./ci/log-config.sh | 
 |       script: ./ci/build-linux-autotools.sh | 
 |     - os: linux | 
 |       group: deprecated-2017Q4 | 
 |       compiler: gcc | 
 |       env: BUILD_TYPE=Debug VERBOSE=1 CXX_FLAGS=-std=c++11 | 
 |     - os: linux | 
 |       group: deprecated-2017Q4 | 
 |       compiler: clang | 
 |       env: BUILD_TYPE=Debug VERBOSE=1 | 
 |     - os: linux | 
 |       group: deprecated-2017Q4 | 
 |       compiler: clang | 
 |       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 | 
 |     - os: linux | 
 |       compiler: clang | 
 |       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 NO_EXCEPTION=ON NO_RTTI=ON COMPILER_IS_GNUCXX=ON | 
 |     - os: osx | 
 |       compiler: gcc | 
 |       env: BUILD_TYPE=Debug VERBOSE=1 | 
 |     - os: osx | 
 |       compiler: gcc | 
 |       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 | 
 |     - os: osx | 
 |       compiler: clang | 
 |       env: BUILD_TYPE=Debug VERBOSE=1 | 
 |       if: type != pull_request | 
 |     - os: osx | 
 |       env: BUILD_TYPE=Release VERBOSE=1 CXX_FLAGS=-std=c++11 | 
 |       if: type != pull_request | 
 |  | 
 | # These are the install and build (script) phases for the most common entries in the matrix.  They could be included | 
 | # in each entry in the matrix, but that is just repetitive. | 
 | install: | 
 |   - ./ci/install-${TRAVIS_OS_NAME}.sh | 
 |   - . ./ci/env-${TRAVIS_OS_NAME}.sh | 
 |   - ./ci/log-config.sh | 
 |  | 
 | script: ./ci/travis.sh | 
 |  | 
 | # For sudo=false builds this section installs the necessary dependencies. | 
 | addons: | 
 |   apt: | 
 |     # List of whitelisted in travis packages for ubuntu-precise can be found here: | 
 |     #   https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise | 
 |     # List of whitelisted in travis apt-sources: | 
 |     #   https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json | 
 |     sources: | 
 |     - ubuntu-toolchain-r-test | 
 |     - llvm-toolchain-precise-3.7 | 
 |     packages: | 
 |     - g++-4.9 | 
 |     - clang-3.7 | 
 |  | 
 | notifications: | 
 |   email: false |