• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016, 2017, 2018 Peter Dimov
2# Copyright 2019 Andrey Semashev
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
10branches:
11  only:
12    - master
13    - develop
14    - /feature\/.*/
15
16env:
17  matrix:
18    - BOGUS_JOB=true
19
20matrix:
21
22  exclude:
23    - env: BOGUS_JOB=true
24
25  include:
26# gcc, Linux
27    - os: linux
28      dist: trusty
29      compiler: gcc-4.4
30      env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
31      addons:
32        apt:
33          packages:
34            - g++-4.4
35          sources:
36            - ubuntu-toolchain-r-test
37
38    - os: linux
39      dist: trusty
40      compiler: gcc-4.6
41      env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
42      addons:
43        apt:
44          packages:
45            - g++-4.6
46          sources:
47            - ubuntu-toolchain-r-test
48
49    - os: linux
50      dist: trusty
51      compiler: gcc-4.7
52      env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
53      addons:
54        apt:
55          packages:
56            - g++-4.7
57          sources:
58            - ubuntu-toolchain-r-test
59
60    - os: linux
61      dist: xenial
62      compiler: gcc-4.8
63      env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
64      addons:
65        apt:
66          packages:
67            - g++-4.8
68          sources:
69            - ubuntu-toolchain-r-test
70
71    - os: linux
72      dist: xenial
73      compiler: gcc-4.9
74      env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
75      addons:
76        apt:
77          packages:
78            - g++-4.9
79          sources:
80            - ubuntu-toolchain-r-test
81
82    - os: linux
83      dist: xenial
84      compiler: gcc-5
85      env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
86      addons:
87        apt:
88          packages:
89            - g++-5
90          sources:
91            - ubuntu-toolchain-r-test
92
93    - os: linux
94      dist: xenial
95      compiler: gcc-6
96      env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
97      addons:
98        apt:
99          packages:
100            - g++-6
101          sources:
102            - ubuntu-toolchain-r-test
103
104    - os: linux
105      dist: xenial
106      compiler: gcc-7
107      env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
108      addons:
109        apt:
110          packages:
111            - g++-7
112          sources:
113            - ubuntu-toolchain-r-test
114
115    - os: linux
116      dist: xenial
117      compiler: gcc-8
118      env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17
119      addons:
120        apt:
121          packages:
122            - g++-8
123          sources:
124            - ubuntu-toolchain-r-test
125
126    - os: linux
127      dist: bionic
128      compiler: gcc-9
129      env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17
130      addons:
131        apt:
132          packages:
133            - g++-9
134          sources:
135            - sourceline: "ppa:ubuntu-toolchain-r/test"
136
137    - os: linux
138      dist: bionic
139      compiler: gcc-10
140      env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20
141      addons:
142        apt:
143          packages:
144            - g++-10
145          sources:
146            - sourceline: "ppa:ubuntu-toolchain-r/test"
147
148# clang, Linux
149    - os: linux
150      dist: trusty
151      compiler: clang-3.4
152      env: TOOLSET=clang COMPILER=clang++-3.4 CXXSTD=03,11
153      addons:
154        apt:
155          packages:
156            - clang-3.4
157            - libstdc++-4.9-dev
158          sources:
159            - ubuntu-toolchain-r-test
160            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.4 main"
161              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
162
163    - os: linux
164      dist: trusty
165      compiler: clang-3.5
166      env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
167      addons:
168        apt:
169          packages:
170            - clang-3.5
171            - libstdc++-4.9-dev
172          sources:
173            - ubuntu-toolchain-r-test
174            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.5 main"
175              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
176
177    - os: linux
178      dist: trusty
179      compiler: clang-3.6
180      env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
181      addons:
182        apt:
183          packages:
184            - clang-3.6
185            - libstdc++-5-dev
186          sources:
187            - ubuntu-toolchain-r-test
188            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.6 main"
189              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
190
191    - os: linux
192      dist: trusty
193      compiler: clang-3.7
194      env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
195      addons:
196        apt:
197          packages:
198            - clang-3.7
199            - libstdc++-5-dev
200          sources:
201            - ubuntu-toolchain-r-test
202            - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.7 main"
203              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
204
205    - os: linux
206      dist: xenial
207      compiler: clang-3.8
208      env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
209      addons:
210        apt:
211          packages:
212            - clang-3.8
213            - libstdc++-6-dev
214          sources:
215            - ubuntu-toolchain-r-test
216            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.8 main"
217              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
218
219    - os: linux
220      dist: xenial
221      compiler: clang-3.9
222      env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
223      addons:
224        apt:
225          packages:
226            - clang-3.9
227            - libstdc++-6-dev
228          sources:
229            - ubuntu-toolchain-r-test
230            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main"
231              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
232
233    - os: linux
234      dist: xenial
235      compiler: clang-4
236      env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
237      addons:
238        apt:
239          packages:
240            - clang-4.0
241            - libstdc++-6-dev
242          sources:
243            - ubuntu-toolchain-r-test
244            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main"
245              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
246
247    - os: linux
248      dist: xenial
249      compiler: clang-5
250      env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
251      addons:
252        apt:
253          packages:
254            - clang-5.0
255            - libstdc++-7-dev
256          sources:
257            - ubuntu-toolchain-r-test
258            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main"
259              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
260
261    - os: linux
262      dist: xenial
263      compiler: clang-6
264      env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17
265      addons:
266        apt:
267          packages:
268            - clang-6.0
269            - libstdc++-8-dev
270          sources:
271            - ubuntu-toolchain-r-test
272            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main"
273              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
274
275    - os: linux
276      dist: xenial
277      compiler: clang-7
278      env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17
279      addons:
280        apt:
281          packages:
282            - clang-7
283            - libstdc++-8-dev
284          sources:
285            - ubuntu-toolchain-r-test
286            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main"
287              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
288
289    - os: linux
290      dist: xenial
291      compiler: clang-8
292      env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17
293      addons:
294        apt:
295          packages:
296            - clang-8
297            - libstdc++-8-dev
298          sources:
299            - ubuntu-toolchain-r-test
300            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main"
301              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
302
303    - os: linux
304      dist: xenial
305      compiler: clang-9
306      env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17
307      addons:
308        apt:
309          packages:
310            - clang-9
311            - libstdc++-9-dev
312          sources:
313            - sourceline: "ppa:ubuntu-toolchain-r/test"
314            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main"
315              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
316
317    - os: linux
318      dist: xenial
319      compiler: clang-10
320      env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20
321      addons:
322        apt:
323          packages:
324            - clang-10
325            - libstdc++-9-dev
326          sources:
327            - sourceline: "ppa:ubuntu-toolchain-r/test"
328            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main"
329              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
330
331    - os: linux
332      dist: xenial
333      compiler: clang-libc++
334      env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20 CXXFLAGS="-stdlib=libc++" LINKFLAGS="-stdlib=libc++"
335      addons:
336        apt:
337          packages:
338            - clang-10
339            - libc++-10-dev
340            - libc++abi-10-dev
341          sources:
342            - sourceline: "ppa:ubuntu-toolchain-r/test"
343            - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main"
344              key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
345
346# clang, OS X
347# Disabled because OS X builds are slow on Travis CI
348#    - os: osx
349#      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
350#      osx_image: xcode9.4
351#
352#    - os: osx
353#      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
354#      osx_image: xcode10.3
355#
356#    - os: osx
357#      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17
358#      osx_image: xcode11.2
359
360install:
361  - GIT_FETCH_JOBS=8
362  - BOOST_BRANCH=develop
363  - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi
364  - cd ..
365  - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
366  - cd boost-root
367  - git submodule init tools/build
368  - git submodule init tools/boostdep
369  - git submodule init tools/boost_install
370  - git submodule init libs/headers
371  - git submodule init libs/config
372  - git submodule update --jobs $GIT_FETCH_JOBS
373  - cp -r $TRAVIS_BUILD_DIR/* libs/detail
374  - python tools/boostdep/depinst/depinst.py --git_args "--jobs $GIT_FETCH_JOBS" detail
375  - ./bootstrap.sh
376  - ./b2 headers
377
378script:
379  - |-
380    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
381  - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null`
382  - ./b2 -j $BUILD_JOBS libs/detail/test toolset=$TOOLSET cxxstd=$CXXSTD ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LINKFLAGS:+linkflags="$LINKFLAGS"}
383
384notifications:
385  email:
386    on_success: always
387