language: cpp
matrix:
  include:
    - compiler: clang
      os: linux
      env: SWIGLANG=
    - compiler: gcc
      os: linux
      env: SWIGLANG=
    - os: linux
      env: SWIGLANG= SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1
    - os: linux
      env: SWIGLANG= SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP14=1
    - compiler: gcc
      os: linux
      env: SWIGLANG=csharp
    - compiler: gcc
      os: linux
      env: SWIGLANG=d
    - compiler: gcc
      os: linux
      env: SWIGLANG=go
    - compiler: gcc
      os: linux
      env: SWIGLANG=guile
    - compiler: gcc
      os: linux
      env: SWIGLANG=java
    - compiler: gcc
      os: linux
      env: SWIGLANG=javascript ENGINE=node
    - compiler: gcc
      os: linux
      env: SWIGLANG=javascript ENGINE=jsc
    - compiler: gcc
      os: linux
      env: SWIGLANG=javascript ENGINE=v8
    - compiler: gcc
      os: linux
      env: SWIGLANG=lua
    - compiler: gcc
      os: linux
      env: SWIGLANG=octave SWIGJOBS=-j2 # 3.2
    - compiler: gcc
      os: linux
      env: SWIGLANG=octave SWIGJOBS=-j2 VER=3.8
    - compiler: gcc
      os: linux
      env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.0
    - compiler: gcc
      os: linux
      env: SWIGLANG=perl5
    - compiler: gcc
      os: linux
      env: SWIGLANG=php
    - compiler: gcc
      os: linux
      env: SWIGLANG=python VER=2.4
    - compiler: gcc
      os: linux
      env: SWIGLANG=python VER=2.5
    - compiler: gcc
      os: linux
      env: SWIGLANG=python VER=2.6
    - compiler: gcc
      os: linux
      env: SWIGLANG=python # 2.7
    - compiler: gcc
      os: linux
      env: SWIGLANG=python PY3=3 # 3.2
    - compiler: gcc
      os: linux
      env: SWIGLANG=python PY3=3 VER=3.3
    - compiler: gcc
      os: linux
      env: SWIGLANG=python PY3=3 VER=3.4
    - compiler: gcc
      os: linux
      env: SWIGLANG=python PY3=3 VER=3.5
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-builtin
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3 VER=3.5
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-O
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-classic
    - compiler: gcc
      os: linux
      env: SWIGLANG=r
    - compiler: gcc
      os: linux
      env: SWIGLANG=ruby
    - compiler: gcc
      os: linux
      env: SWIGLANG=scilab
    - compiler: gcc
      os: linux
      env: SWIGLANG=tcl
    - os: linux
      env: SWIGLANG=csharp SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1
    - os: linux
      env: SWIGLANG=java SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1
    - os: linux
      env: SWIGLANG=python SWIG_CC=gcc-5 SWIG_CXX=g++-5 CPP11=1
    - os: osx
      env: SWIGLANG= SWIG_CC=gcc-4.2 SWIG_CXX=g++-4.2
    - 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=php
    - 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:
    # Lots of failing tests currently
    - compiler: gcc
      os: linux
      env: SWIGLANG=ocaml
    # Occasional gcc internal compiler error
    - compiler: gcc
      os: linux
      env: SWIGLANG=octave SWIGJOBS=-j2 VER=3.8
    # Occasional gcc internal compiler error
    - compiler: gcc
      os: linux
      env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.0
    # Not quite working yet
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-classic
    # Not quite working yet
    - compiler: gcc
      os: linux
      env: SWIGLANG=python SWIG_FEATURES=-O
    - compiler: clang
      os: osx
      env: SWIGLANG=go
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
  - 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-$SWIGLANG$PY3); 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'
branches:
  only:
    - master
