-language: cpp\r
+language: c\r
+cache: ccache\r
+matrix:\r
+# gcc\r
+ include:\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: gcc\r
+ addons:\r
+ apt:\r
+ packages:\r
+ - valgrind\r
+ - cppcheck\r
+ env: CHECK="true"\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: gcc\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: gcc\r
+ env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: gcc\r
+ env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: gcc\r
+ env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"\r
\r
-compiler:\r
- - gcc\r
- - clang\r
+# clang\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: clang\r
+ addons:\r
+ apt:\r
+ sources:\r
+ - llvm-toolchain-xenial-5.0\r
+ packages:\r
+ - clang-5.0\r
+ env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: clang\r
+ addons:\r
+ apt:\r
+ sources:\r
+ - llvm-toolchain-xenial-6.0\r
+ packages:\r
+ - clang-6.0\r
+ - cppcheck\r
+ env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"\r
+ # The default clang on xenial is clang 7.0\r
+ - os: linux\r
+ dist: xenial\r
+ compiler: clang\r
+# osx\r
+ - os: osx\r
+ osx_image: xcode9.4\r
+ env: XCODE="true"\r
+ - os: osx\r
+ osx_image: xcode10.1\r
+ env: XCODE="true" CHECK="true"\r
\r
-addons:\r
- apt:\r
- packages:\r
- - cppcheck\r
- - valgrind\r
+# allow_failures:\r
+# - os: osx\r
\r
-os:\r
- - linux\r
- - osx\r
+install:\r
+ - sh autogen.sh\r
\r
before_install:\r
+ - echo $CC\r
- echo $LANG\r
- echo $LC_ALL\r
- set -e\r
-\r
-install:\r
- - sh autogen.sh\r
+ - if [ "$TRAVIS_OS_NAME" = "linux" ]; then\r
+ eval "${MATRIX_EVAL}";\r
+ if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then\r
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157;\r
+ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test;\r
+ sudo apt-get update -qq;\r
+ sudo apt-get install -y $CC;\r
+ fi;\r
+ fi\r
\r
before_script:\r
- ./configure\r
- make\r
\r
after_success:\r
- - make check ; result=$?\r
- - if [ $result != 0 ]; then\r
- cat tests/*.log;\r
+ - if [ -n "$CHECK" ]; then\r
+ make distcheck;\r
+ result=$?;\r
+ if [ $result != 0 ]; then\r
+ cat tests/*.log;\r
+ exit $result;\r
+ fi;\r
+ if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;\r
fi\r
- - if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi\r
- - exit $result\r
+\r