1language: c 2sudo: false 3matrix: 4 include: 5 ### 6 ## Linux builds using various versions of GCC. 7 ### 8 - os: linux 9 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 10 addons: 11 apt: 12 sources: 13 - ubuntu-toolchain-r-test 14 packages: 15 - gcc-6 16 - g++-6 17 - os: linux 18 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 19 addons: 20 apt: 21 sources: 22 - ubuntu-toolchain-r-test 23 packages: 24 - gcc-5 25 - g++-5 26 - os: linux 27 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 28 addons: 29 apt: 30 sources: 31 - ubuntu-toolchain-r-test 32 packages: 33 - gcc-4.9 34 - g++-4.9 35 - os: linux 36 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 37 addons: 38 apt: 39 sources: 40 - ubuntu-toolchain-r-test 41 packages: 42 - gcc-4.8 43 - g++-4.8 44 - os: linux 45 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 46 addons: 47 apt: 48 sources: 49 - ubuntu-toolchain-r-test 50 packages: 51 - gcc-4.7 52 - g++-4.7 53 - os: linux 54 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 55 addons: 56 apt: 57 sources: 58 - ubuntu-toolchain-r-test 59 packages: 60 - gcc-4.6 61 - g++-4.6 62 # - os: linux 63 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 64 # addons: 65 # apt: 66 # sources: 67 # - ubuntu-toolchain-r-test 68 # packages: 69 # - gcc-4.5 70 # - g++-4.5 71 - os: linux 72 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 73 addons: 74 apt: 75 sources: 76 - ubuntu-toolchain-r-test 77 packages: 78 - gcc-4.4 79 - g++-4.4 80 81 ### 82 ## clang on Linux 83 ### 84 - os: linux 85 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 86 addons: 87 apt: 88 sources: 89 - llvm-toolchain-precise-3.8 90 - ubuntu-toolchain-r-test 91 packages: 92 - clang-3.8 93 - os: linux 94 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.7 CXX_COMPILER=clang++-3.7 95 addons: 96 apt: 97 sources: 98 - llvm-toolchain-precise-3.7 99 - ubuntu-toolchain-r-test 100 packages: 101 - clang-3.7 102 - os: linux 103 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.6 CXX_COMPILER=clang++-3.6 104 addons: 105 apt: 106 sources: 107 - llvm-toolchain-precise-3.6 108 - ubuntu-toolchain-r-test 109 packages: 110 - clang-3.6 111 - os: linux 112 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5 113 addons: 114 apt: 115 sources: 116 - llvm-toolchain-precise-3.5 117 - ubuntu-toolchain-r-test 118 packages: 119 - clang-3.5 120 121 ### 122 ## PGI Community Edition on Linux 123 ### 124 - os: linux 125 env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++ 126 127 ### 128 ## Python build on Linux 129 ### 130 - os: linux 131 env: BUILD_SYSTEM=python C_COMPILER=gcc-6 CXX_COMPILER=g++-6 132 addons: 133 apt: 134 sources: 135 - ubuntu-toolchain-r-test 136 packages: 137 - gcc-6 138 - g++-6 139 140 ### 141 ## CMake on OS X 142 ## 143 ## These all work, but it seems unnecessary to actually build them 144 ## all since we already test all these versions of GCC on Linux. 145 ## We'll just test 4.4 and the most recent version. 146 ### 147 # - os: osx 148 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-6 CXX_COMPILER=g++-6 149 - os: osx 150 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-5 CXX_COMPILER=g++-5 151 # - os: osx 152 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 153 # - os: osx 154 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 155 # - os: osx 156 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 157 # - os: osx 158 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 159 # - os: osx 160 # env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 161 - os: osx 162 osx_image: beta-xcode6.2 163 env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 164 165 ### 166 ## Python OS X builds 167 ### 168 - os: osx 169 env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=2.7.12 C_COMPILER=gcc CXX_COMPILER=g++ 170 - os: osx 171 env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.4.4 C_COMPILER=gcc CXX_COMPILER=g++ 172 - os: osx 173 env: BUILD_SYSTEM=python INSTALL_TYPE=macpython PYTHON_VERSION=3.5.2 C_COMPILER=gcc CXX_COMPILER=g++ 174 175 ### 176 ## Sanitizers 177 ### 178 - os: linux 179 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=address 180 addons: 181 apt: 182 sources: 183 - ubuntu-toolchain-r-test 184 - llvm-toolchain-precise-3.8 185 packages: 186 - clang-3.8 187 - os: linux 188 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=thread 189 addons: 190 apt: 191 sources: 192 - ubuntu-toolchain-r-test 193 - llvm-toolchain-precise-3.8 194 packages: 195 - clang-3.8 196 - os: linux 197 env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer" 198 addons: 199 apt: 200 sources: 201 - ubuntu-toolchain-r-test 202 - llvm-toolchain-precise-3.8 203 packages: 204 - clang-3.8 205 206 ### 207 ## mingw 208 ### 209 - os: linux 210 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 211 addons: 212 apt: 213 sources: 214 - ubuntu-toolchain-r-test 215 - george-edison55-precise-backports 216 packages: 217 - binutils-mingw-w64-x86-64 218 - g++-mingw-w64-x86-64 219 - gcc-mingw-w64-x86-64 220 - binutils-mingw-w64-x86-64 221 - wine 222 # Because 2.8.6 passes -rdynamic to the linker, which breaks the build. 223 - cmake 224 - cmake-data 225 226 - os: linux 227 env: BUILD_SYSTEM=maven 228 language: java 229 230 - os: linux 231 dist: trusty 232 sudo: required 233 env: BUILD_SYSTEM=bazel 234 addons: 235 apt: 236 sources: 237 - ubuntu-toolchain-r-test 238 packages: 239 - wget 240 - pkg-config 241 242 - os: osx 243 env: BUILD_SYSTEM=bazel 244 245before_install: 246### 247## If we use the matrix to set CC/CXX Travis, overwrites the values, 248## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX 249## here (after Travis has set CC/CXX). 250### 251- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi 252- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi 253- ./.travis.sh before_install 254install: 255- ./.travis.sh install 256script: 257- ./.travis.sh script 258after_success: 259- ./.travis.sh after_success 260 261before_deploy: 262- if [ "${BUILD_SYSTEM}" = "python" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then export WHEELS=$(ls ./dist/*.whl); fi 263- ./.travis.sh before_deploy 264 265deploy: 266- provider: releases 267 api_key: 268 secure: YcCBi6W/w4dtKCa59Wfm8L5lGWvK7KxaFNDr3yh1Hz5aStXXf758pEMHGewnlbfbwuj5a3SjBb1nLp1M69OQJfxm442uXBaBKo52PM9PPbD7NjvbNIso73pqcSODXQXKuZxDFpEhfuDTVq3hUkUqiwhChWhrFucJsSL51i7qSss= 269 file: "${WHEELS}" 270 skip_cleanup: true 271 on: 272 repo: "google/brotli" 273 tags: true 274 condition: "${BUILD_SYSTEM} = python && ${TRAVIS_OS_NAME} = osx" 275- provider: bintray 276 file: ".bintray.json" 277 user: "eustas" 278 key: 279 secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw=" 280 on: 281 condition: "${BUILD_SYSTEM} = bazel" 282 skip_cleanup: true 283