| language: cpp |
| matrix: |
| include: |
| - compiler: clang |
| os: linux |
| env: SWIGLANG= |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG= |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG= SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG= SWIG_CC=gcc-6 SWIG_CXX=g++-6 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=csharp |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=d |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=go VER=1.3 |
| sudo: required |
| dist: xenial |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=go VER=1.8 |
| sudo: required |
| dist: xenial |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=go VER=1.12 |
| sudo: required |
| dist: xenial |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=guile |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=java |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=node |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=node VER=4 CPP11=1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=node VER=6 CPP11=1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=node VER=8 CPP11=1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=node VER=10 CPP11=1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=jsc |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=javascript ENGINE=v8 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=lua |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=lua VER=5.3 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=mzscheme |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=ocaml |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=octave SWIGJOBS=-j2 # 3.8 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.0 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.2 CPP11=1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.4 CPP11=1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=perl5 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=php VER=7.0 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=php VER=7.1 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=php VER=7.2 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=php VER=7.3 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python # 2.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python PY3=3 VER=3.2 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python PY3=3 VER=3.3 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python PY3=3 VER=3.4 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python PY3=3 VER=3.5 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python PY3=3 VER=3.6 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python PY3=3 VER=3.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES="-builtin -O" |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP11=1 PY3=3 VER=3.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3 VER=3.4 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3 VER=3.5 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3 VER=3.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES="-builtin -O" PY3=3 VER=3.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3 VER=3.7 SWIGOPTPY3= |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-O |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=python SWIG_FEATURES=-O PY3=3 VER=3.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=r |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=ruby VER=1.9.3 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=ruby VER=2.0.0 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=ruby VER=2.3.0 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=scilab |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=tcl |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=csharp SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=go SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=java SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=python SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=r CPP11=1 # Note: making 'R CMD SHLIB' use a different compiler is non-trivial |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=ruby SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=tcl SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=csharp SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=go SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=java SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=python SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=ruby SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=tcl SWIG_CC=gcc-6 SWIG_CXX=g++-6 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=java SWIG_CC=gcc-7 SWIG_CXX=g++-7 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=python SWIG_CC=gcc-7 SWIG_CXX=g++-7 CPP14=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=csharp SWIG_CC=gcc-8 SWIG_CXX=g++-8 CPP17=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=java SWIG_CC=gcc-8 SWIG_CXX=g++-8 CPP17=1 |
| sudo: required |
| dist: trusty |
| - os: linux |
| env: SWIGLANG=python SWIG_CC=gcc-8 SWIG_CXX=g++-8 CPP17=1 PY3=3 VER=3.7 |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: osx |
| env: SWIGLANG= |
| - compiler: clang |
| os: osx |
| env: SWIGLANG= |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=csharp |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=go |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=guile |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=java |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=lua |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=perl5 |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=python |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=python PY3=3 |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=ruby |
| - compiler: clang |
| os: osx |
| env: SWIGLANG=tcl |
| |
| allow_failures: |
| # Sometimes hits the Travis 50 minute time limit |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.4 CPP11=1 |
| sudo: required |
| dist: trusty |
| # Experimental languages |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=mzscheme |
| sudo: required |
| dist: trusty |
| - compiler: gcc |
| os: linux |
| env: SWIGLANG=ocaml |
| sudo: required |
| dist: trusty |
| |
| before_install: |
| - date -u |
| - uname -a |
| - if test "$TRAVIS_OS_NAME" = "linux"; then lscpu && cat /proc/cpuinfo | grep "model name" && cat /proc/meminfo | grep MemTotal; fi |
| - if test "$TRAVIS_OS_NAME" = "osx"; then sysctl -a | grep brand_string; fi |
| # Travis overrides CC environment with compiler predefined values |
| - if test -n "$SWIG_CC"; then export CC="$SWIG_CC"; fi |
| - if test -n "$SWIG_CXX"; then export CXX="$SWIG_CXX"; fi |
| install: |
| - if test "$TRAVIS_OS_NAME" = "linux"; then source Tools/travis-linux-install.sh; fi |
| - if test "$TRAVIS_OS_NAME" = "osx"; then source Tools/travis-osx-install.sh; fi |
| - if test -n "$CPP11"; then CONFIGOPTS+=(--enable-cpp11-testing --without-maximum-compile-warnings "CXXFLAGS=-std=c++11 -Wall -Wextra" "CFLAGS=-std=c11 -Wall -Wextra") && export CSTD=c11 && export CPPSTD=c++11; fi |
| - if test -n "$CPP14"; then CONFIGOPTS+=(--enable-cpp11-testing --without-maximum-compile-warnings "CXXFLAGS=-std=c++14 -Wall -Wextra" "CFLAGS=-std=c11 -Wall -Wextra") && export CSTD=c11 && export CPPSTD=c++14; fi |
| - if test -n "$CPP17"; then CONFIGOPTS+=(--enable-cpp11-testing --without-maximum-compile-warnings "CXXFLAGS=-std=c++17 -Wall -Wextra" "CFLAGS=-std=c17 -Wall -Wextra") && export CSTD=c17 && export CPPSTD=c++17; fi |
| - ls -la $(which $CC) |
| - ls -la $(which $CXX) |
| - $CC --version |
| - $CXX --version |
| script: |
| - echo 'Configuring...' && echo -en 'travis_fold:start:script.1\\r' |
| - if test -n "$SWIGLANG"; then CONFIGOPTS+=(--without-alllang --with-$WITHLANG); fi |
| - echo "${CONFIGOPTS[@]}" |
| - ./autogen.sh && mkdir -p build/build && cd build/build && ../../configure "${CONFIGOPTS[@]}" |
| - echo -en 'travis_fold:end:script.1\\r' |
| - make -s $SWIGJOBS |
| - ./swig -version && ./swig -pcreversion |
| - if test -z "$SWIGLANG"; then make -s $SWIGJOBS check-ccache; fi |
| - if test -z "$SWIGLANG"; then make -s $SWIGJOBS check-errors-test-suite; fi |
| - echo 'Installing...' && echo -en 'travis_fold:start:script.2\\r' |
| - if test -z "$SWIGLANG"; then sudo make -s install && swig -version && ccache-swig -V; fi |
| - echo -en 'travis_fold:end:script.2\\r' |
| # Stricter compile flags for examples. Various headers and SWIG generated code prevents full use of -pedantic. |
| - if test -n "$SWIGLANG"; then cflags=$($TRAVIS_BUILD_DIR/Tools/testflags.py --language $SWIGLANG --cflags --std=$CSTD --compiler=$CC) && echo $cflags; fi |
| - if test -n "$SWIGLANG"; then cxxflags=$($TRAVIS_BUILD_DIR/Tools/testflags.py --language $SWIGLANG --cxxflags --std=$CPPSTD --compiler=$CC) && echo $cxxflags; fi |
| - if test -n "$SWIGLANG"; then make -s check-$SWIGLANG-version; fi |
| - if test -n "$SWIGLANG"; then make check-$SWIGLANG-enabled; fi |
| - if test -n "$SWIGLANG"; then make $SWIGJOBS check-$SWIGLANG-examples CFLAGS="$cflags" CXXFLAGS="$cxxflags"; fi |
| - if test -n "$SWIGLANG"; then make $SWIGJOBS check-$SWIGLANG-test-suite CFLAGS="$cflags" CXXFLAGS="$cxxflags"; fi |
| - echo 'Cleaning...' && echo -en 'travis_fold:start:script.3\\r' |
| - make check-maintainer-clean && ../../configure $CONFIGOPTS |
| - echo -en 'travis_fold:end:script.3\\r' |