1 # Travis defines and exports CC and CXX *after* we have defined our
2 # environment variables via 'env'. So, do not use 'env' to define
3 # them. Instead, put their definitions in MATRIX_EVAL, which we eval
4 # after the definitions from Travis.
11 secure: ED3w6rzxuE6tVu3oyxha2MoGMRzRQCtinvr9uor1gw9TGKB80esTLx4KyX0xHemUdyQVarFDDQfVS5rf7jSDY8XiWIR6O+2Af9/30gb+8eyngyvACu7E28n+1XHmYWIEHsbvB9mic6C60FBj5sPcDnFWZeyttGL0WooSjYHiw1Egafwqbeu1mD3Aet9OI9VaLQvy0KcWAdVrYWSI9UWLvLM+xPVUjPFko4oS+dTlETzVnmn6JFbZX1OKONtfcvdoDRFBzs3iHm5dQUt/Fz+y/DtKSuvF3zvePHSgF6c8URbEPPjBdh87gkovSLyy+83fVeh4WMkF8b+dGZmikQv6kRsjKJdbQrS8tiMhZlORC5Gfmn4HXNgmapL+paUweakH7UZQHm6d5SZoBgCHNazfqMrywbZsZkGvZTDQIVG1Be7Lhh2BDFbPhPZNDvI9XYiqZP0QSb0BVfeO+AUSRcUPM7TvarxB74jYdfpTBu7sqJP6dSwhcDTEUhHmuLGjzsNm3uTZe8SUw/TGGx5uPTXNsCjJq6ClIOAIYXZTXLbBmIL/NBWCy0MUpD+9zsiknU7vzzq1RfgCCExhvYgosTjBLcX1kKI+eRSU5M44e+xCg4xx0m9WfafbKbhA20FfnWxCFIkZeVpkOOsexJ9zfe0SflVLxkd7vmci5SCBixLVbN0=
18 #- name: "GCC 8 with sanitizers"
23 # - ubuntu-toolchain-r-test
27 # # Can't use UBSAN: I get:
28 # # configure:4951: gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer conftest.c
29 # # /usr/bin/ld: unrecognized option '--push-state'
30 # - MATRIX_EVAL="CC='gcc-8 -fsanitize=undefined,address -fno-omit-frame-pointer' CXX='g++-8 -fsanitize=undefined,address -fno-omit-frame-pointer'"
37 - ubuntu-toolchain-r-test
41 - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'"
48 - ubuntu-toolchain-r-test
52 - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
59 - ubuntu-toolchain-r-test
63 - MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
70 - ubuntu-toolchain-r-test
74 - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
81 - ubuntu-toolchain-r-test
85 - MATRIX_EVAL="CC=gcc-4.8 && CXX=g++-4.8"
92 - ubuntu-toolchain-r-test
96 - MATRIX_EVAL="CC=gcc-4.7 && CXX=g++-4.7"
103 - ubuntu-toolchain-r-test
107 - MATRIX_EVAL="CC=gcc-4.6 && CXX=g++-4.6"
113 - name: "Clang 7 libc++ and ASAN"
118 # Travis is not ready yet:
119 # - llvm-toolchain-trusty-7
120 - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main'
121 key_url: 'http://apt.llvm.org/llvm-snapshot.gpg.key'
122 - ubuntu-toolchain-r-test
128 # Do not use ASAN with ubuntu's libc++: https://bugs.llvm.org/show_bug.cgi?id=17379
129 - MATRIX_EVAL="CC='clang-7 -fsanitize=address' CXX='clang++-7 -fsanitize=address -stdlib=libc++'"
131 - name: "Clang 6 -O3 and libc++"
136 - llvm-toolchain-trusty-6.0
137 - ubuntu-toolchain-r-test
142 - MATRIX_EVAL="CC=clang-6.0 && CXX='clang++-6.0 -stdlib=libc++'"
143 - CONFIGUREFLAGS='CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3'
150 - llvm-toolchain-trusty-5.0
155 - MATRIX_EVAL="CC='clang-5.0' CXX='clang++-5.0'"
162 - llvm-toolchain-trusty-4.0
166 - MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0"
173 - llvm-toolchain-trusty-3.9
177 - MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9"
184 - ubuntu-toolchain-r-test
185 - llvm-toolchain-precise-3.8
189 - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
196 - ubuntu-toolchain-r-test
197 - llvm-toolchain-precise-3.7
201 - MATRIX_EVAL="CC=clang-3.7 && CXX=clang++-3.7"
208 - ubuntu-toolchain-r-test
209 - llvm-toolchain-precise-3.6
213 - MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6"
220 - ubuntu-toolchain-r-test
221 - llvm-toolchain-precise-3.5
225 - MATRIX_EVAL="CC=clang-3.5 && CXX=clang++-3.5"
234 # No versioned name installed, but beware that Travis installs
235 # a more modern clang earlier in the default PATH.
236 - MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
245 # See comment for 3.4.
246 - MATRIX_EVAL='CC=/usr/bin/clang && CXX=/usr/bin/clang++'
254 # ICC's warnings are often very wrong (e.g., it thinks foo ?
255 # "bar" : "baz" is char* instead of const char*), so don't try
256 # to work around the, and obviously, don't die on them.
257 - MATRIX_EVAL="CC=icc && CXX=icpc"
258 - MAKE_ARGS='WERROR_CFLAGS= WERROR_CXXFLAGS='
261 - eval "$MATRIX_EVAL"
263 - sudo apt-get update -qq
264 - sudo apt-get install -qq autoconf automake autopoint doxygen flex gettext graphviz help2man m4 texinfo
265 - if [[ $CC == "icc" ]]; then build-aux/install-icc.sh; fi
266 - if [[ -f ~/.bashrc ]]; then source ~/.bashrc; fi
269 - autopoint --version
283 # For some reasons, sometimes the checkout does not have any tags,
284 # so `git describe` fails, so bootstrap fails.
285 - git describe || git tag v3.0 -m "Fake version 3.0."
288 - if [[ -f ~/.bashrc ]]; then source ~/.bashrc; fi
289 - ./configure --enable-gcc-warnings CC="$CC" CXX="$CXX" $CONFIGUREFLAGS || { cat config.log && false; }
290 - make -j2 $MAKE_ARGS
291 - make check VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }
292 - make maintainer-check-posix VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }
293 - make maintainer-check-g++ VERBOSE=1 TESTSUITEFLAGS=-j2 || { cat tests/testsuite.log && false; }
296 - if [[ $CC == "icc" ]]; then uninstall_intel_software; fi