1# Copyright 2016-2018 Peter Dimov 2# Copyright 2018-2019 Emil Dotchevski 3# Distributed under the Boost Software License, Version 1.0. 4# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) 5 6language: cpp 7 8sudo: false 9 10dist: trusty 11 12python: "2.7" 13 14os: 15 - linux 16 - osx 17 18branches: 19 only: 20 - master 21 - develop 22 - /^feature.*/ 23 24env: 25 matrix: 26 - BOGUS_JOB=true 27 28addons: 29 apt: 30 packages: 31 - g++-4.9 32 - g++-5 33 - g++-6 34 - clang-3.6 35 - clang-3.7 36 - clang-3.8 37 - ruby-full 38# - python-3.6 39 - ninja-build 40 41 sources: 42 - ubuntu-toolchain-r-test 43 - llvm-toolchain-precise 44 - llvm-toolchain-precise-3.6 45 - llvm-toolchain-precise-3.7 46 - llvm-toolchain-precise-3.8 47 48matrix: 49 50 exclude: 51 - env: BOGUS_JOB=true 52 53 include: 54 55 - os: osx 56 osx_image: xcode11.2 57 compiler: clang++ 58 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 59 60 - os: osx 61 osx_image: xcode11.1 62 compiler: clang++ 63 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 64 65 - os: osx 66 osx_image: xcode11 67 compiler: clang++ 68 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 69 70 - os: osx 71 osx_image: xcode10.3 72 compiler: clang++ 73 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 74 75 - os: osx 76 osx_image: xcode10.2 77 compiler: clang++ 78 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 79 80 - os: osx 81 osx_image: xcode10.1 82 compiler: clang++ 83 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 84 85 - os: osx 86 osx_image: xcode10 87 compiler: clang++ 88 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 89 90 - os: osx 91 osx_image: xcode9.4 92 compiler: clang++ 93 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 94 95 - os: osx 96 osx_image: xcode9.3 97 compiler: clang++ 98 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 99 100 - os: osx 101 osx_image: xcode9.2 102 compiler: clang++ 103 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 104 105 - os: osx 106 osx_image: xcode9.1 107 compiler: clang++ 108 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 109 110 - os: osx 111 osx_image: xcode9 112 compiler: clang++ 113 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 114 115 - os: osx 116 osx_image: xcode8.3 117 compiler: clang++ 118 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 119 120 - os: osx 121 osx_image: xcode8 122 compiler: clang++ 123 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z 124 125 - os: osx 126 compiler: clang++ 127 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 128 129 - os: linux 130 compiler: g++-4.7 131 env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=98,03,11 132 addons: 133 apt: 134 packages: 135 - g++-4.7 136 sources: 137 - ubuntu-toolchain-r-test 138 139 - os: linux 140 compiler: g++-4.8 141 env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=98,03,11 142 addons: 143 apt: 144 packages: 145 - g++-4.8 146 sources: 147 - ubuntu-toolchain-r-test 148 149 - os: linux 150 compiler: g++-4.9 151 env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=98,03,11 152 addons: 153 apt: 154 packages: 155 - g++-4.9 156 sources: 157 - ubuntu-toolchain-r-test 158 159 - os: linux 160 compiler: g++-5 161 env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=98,03,11,14,1z 162 addons: 163 apt: 164 packages: 165 - g++-5 166 sources: 167 - ubuntu-toolchain-r-test 168 169 - os: linux 170 compiler: g++-6 171 env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=98,03,11,14,1z 172 addons: 173 apt: 174 packages: 175 - g++-6 176 sources: 177 - ubuntu-toolchain-r-test 178 179 - os: linux 180 compiler: g++-7 181 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=98,03,11,14,17 182 addons: 183 apt: 184 packages: 185 - g++-7 186 sources: 187 - ubuntu-toolchain-r-test 188 189 - os: linux 190 compiler: g++-8 191 env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=98,03,11,14,17 192 addons: 193 apt: 194 packages: 195 - g++-8 196 sources: 197 - ubuntu-toolchain-r-test 198 199 - os: linux 200 compiler: g++-9 201 env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=98,03,11,14,17,2a 202 addons: 203 apt: 204 packages: 205 - g++-9 206 sources: 207 - ubuntu-toolchain-r-test 208 209 - os: linux 210 compiler: g++-9 211 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-9 CXXSTD=98,03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 212 addons: 213 apt: 214 packages: 215 - g++-9 216 sources: 217 - ubuntu-toolchain-r-test 218 219 - os: linux 220 compiler: /usr/bin/clang++ 221 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=98,03,11 222 addons: 223 apt: 224 packages: 225 - clang-3.3 226 227 - os: linux 228 compiler: /usr/bin/clang++ 229 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=98,03,11 230 addons: 231 apt: 232 packages: 233 - clang-3.4 234 235 - os: linux 236 compiler: clang++ 237 env: TOOLSET=clang COMPILER=clang++ CXXSTD=98,03,11 238 239 - os: linux 240 compiler: clang++-3.5 241 env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=98,03,11,14,1z 242 addons: 243 apt: 244 packages: 245 - clang-3.5 246 - libstdc++-4.9-dev 247 sources: 248 - ubuntu-toolchain-r-test 249 250 - os: linux 251 compiler: clang++-3.6 252 env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=98,03,11,14,1z 253 addons: 254 apt: 255 packages: 256 - clang-3.6 257 - libstdc++-4.9-dev 258 sources: 259 - ubuntu-toolchain-r-test 260 261 - os: linux 262 compiler: clang++-3.7 263 env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=98,03,11,14,1z 264 addons: 265 apt: 266 packages: 267 - clang-3.7 268 sources: 269 - ubuntu-toolchain-r-test 270 - llvm-toolchain-precise-3.7 271 272 - os: linux 273 compiler: clang++-3.8 274 env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=98,03,11,14,1z 275 addons: 276 apt: 277 packages: 278 - clang-3.8 279 - libstdc++-4.9-dev 280 sources: 281 - ubuntu-toolchain-r-test 282 283 - os: linux 284 compiler: clang++-3.9 285 env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=98,03,11,14,1z 286 addons: 287 apt: 288 packages: 289 - clang-3.9 290 - libstdc++-4.9-dev 291 sources: 292 - ubuntu-toolchain-r-test 293 294 - os: linux 295 compiler: clang++-4.0 296 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=98,03,11,14,1z 297 addons: 298 apt: 299 packages: 300 - clang-4.0 301 sources: 302 - ubuntu-toolchain-r-test 303 - llvm-toolchain-trusty-4.0 304 305 - os: linux 306 compiler: clang++-5.0 307 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=98,03,11,14,1z 308 addons: 309 apt: 310 packages: 311 - clang-5.0 312 sources: 313 - ubuntu-toolchain-r-test 314 - llvm-toolchain-trusty-5.0 315 316 - os: linux 317 compiler: clang++-6.0 318 env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=98,03,11,14,17 319 addons: 320 apt: 321 packages: 322 - clang-6.0 323 sources: 324 - ubuntu-toolchain-r-test 325 - llvm-toolchain-trusty-6.0 326 327 - os: linux 328 compiler: clang++-7 329 env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=98,03,11,14,17,2a 330 addons: 331 apt: 332 packages: 333 - clang-7 334 sources: 335 - ubuntu-toolchain-r-test 336 - llvm-toolchain-trusty-7 337 338 - os: linux 339 compiler: clang++-8 340 env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=98,03,11,14,17,2a 341 addons: 342 apt: 343 packages: 344 - clang-8 345 sources: 346 - ubuntu-toolchain-r-test 347 - llvm-toolchain-trusty-8 348 349 - os: linux 350 dist: xenial 351 compiler: clang++-9 352 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=98,03,11,14,17,2a 353 addons: 354 apt: 355 packages: 356 - clang-9 357 sources: 358 - ubuntu-toolchain-r-test 359 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' 360 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 361 362 - os: linux 363 compiler: clang++-8 364 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-8 CXXSTD=98,03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 365 addons: 366 apt: 367 packages: 368 - clang-8 369 sources: 370 - ubuntu-toolchain-r-test 371 - llvm-toolchain-trusty-8 372 373install: 374 - gem install asciidoctor 375 - gem install coderay 376 - cd .. 377 - git clone -b master --depth 1 https://github.com/boostorg/boost.git boost-root 378 - cd boost-root 379 - git submodule update --init tools/build 380 - git submodule update --init tools/inspect 381 - git submodule update --init libs/config 382 - git submodule update --init tools/boostdep 383 - rm -rf libs/exception 384 - mkdir libs/exception 385 - cp -r $TRAVIS_BUILD_DIR/* libs/exception 386 - python tools/boostdep/depinst/depinst.py exception 387 - ./bootstrap.sh 388 - ./b2 headers 389 - cd libs/exception 390 391script: 392 - |- 393 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 394 - ../../b2 test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=address,undefined cxxflags=-fno-sanitize-recover=address,undefined linkflags=-fsanitize=address,undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 395 - ../../b2 exception-handling=off rtti=off test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=address,undefined cxxflags=-fno-sanitize-recover=address,undefined linkflags=-fsanitize=address,undefined debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 396 397notifications: 398 email: 399 on_success: always 400