language: cpp
matrix:
  include:
    - compiler: clang
      env: SWIGLANG=
    - compiler: gcc
      env: SWIGLANG=
    - compiler: gcc
      env: SWIGLANG= GCC5=1 CPP11=1
    - compiler: gcc
      env: SWIGLANG= GCC5=1 CPP14=1
    - compiler: gcc
      env: SWIGLANG=csharp
    - compiler: gcc
      env: SWIGLANG=d
    - compiler: gcc
      env: SWIGLANG=go
    - compiler: gcc
      env: SWIGLANG=guile
    - compiler: gcc
      env: SWIGLANG=java
    - compiler: gcc
      env: SWIGLANG=javascript ENGINE=node
    - compiler: gcc
      env: SWIGLANG=javascript ENGINE=jsc
    - compiler: gcc
      env: SWIGLANG=javascript ENGINE=v8
    - compiler: gcc
      env: SWIGLANG=lua
    - compiler: gcc
      env: SWIGLANG=octave SWIGJOBS=-j3 # 3.2
    - compiler: gcc
      env: SWIGLANG=octave SWIGJOBS=-j3 VER=3.8
    - compiler: gcc
      env: SWIGLANG=octave SWIGJOBS=-j3 VER=4.0
    - compiler: gcc
      env: SWIGLANG=perl5
    - compiler: gcc
      env: SWIGLANG=php
    - compiler: gcc
      env: SWIGLANG=python VER=2.4
    - compiler: gcc
      env: SWIGLANG=python VER=2.5
    - compiler: gcc
      env: SWIGLANG=python VER=2.6
    - compiler: gcc
      env: SWIGLANG=python # 2.7
    - compiler: gcc
      env: SWIGLANG=python PY3=3 # 3.2
    - compiler: gcc
      env: SWIGLANG=python PY3=3 VER=3.3
    - compiler: gcc
      env: SWIGLANG=python PY3=3 VER=3.4
    - compiler: gcc
      env: SWIGLANG=python SWIG_FEATURES=-builtin
    - compiler: gcc
      env: SWIGLANG=python SWIG_FEATURES=-builtin PY3=3
    - compiler: gcc
      env: SWIGLANG=python SWIG_FEATURES=-O
    - compiler: gcc
      env: SWIGLANG=python SWIG_FEATURES=-classic
    - compiler: gcc
      env: SWIGLANG=r
    - compiler: gcc
      env: SWIGLANG=ruby
    - compiler: gcc
      env: SWIGLANG=scilab
    - compiler: gcc
      env: SWIGLANG=tcl
    - compiler: gcc
      env: SWIGLANG=csharp GCC5=1 CPP11=1
    - compiler: gcc
      env: SWIGLANG=java GCC5=1 CPP11=1
    - compiler: gcc
      env: SWIGLANG=python GCC5=1 CPP11=1
  allow_failures:
    # Lots of failing tests currently
    - compiler: gcc
      env: SWIGLANG=ocaml
    # Occasional gcc internal compiler error
    - compiler: gcc
      env: SWIGLANG=octave SWIGJOBS=-j3 VER=3.8
    # Occasional gcc internal compiler error
    - compiler: gcc
      env: SWIGLANG=octave SWIGJOBS=-j3 VER=4.0
    # Not quite working yet
    - compiler: gcc
      env: SWIGLANG=python SWIG_FEATURES=-classic
    # Not quite working yet
    - compiler: gcc
      env: SWIGLANG=python SWIG_FEATURES=-O
    # Runtime errors in Travis environment
    - compiler: gcc
      env: SWIGLANG=r
before_install:
  - date -u
  - uname -a
  - lsb_release -a
  - sudo apt-get -qq update
  - if test -n "$GCC5"; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get -qq update && sudo apt-get install -qq g++-5 && export CC=gcc-5 && export CXX=g++-5; fi
  - if test -z "$GCC5"; then sudo apt-get -qq install libboost-dev; fi
  - if test -n "$GCC5"; then sudo add-apt-repository -y ppa:boost-latest/ppa && sudo apt-get -qq update && sudo apt-get install -qq libboost1.55-dev; fi
  - if test -z "$SWIGLANG"; then sudo apt-get -qq install yodl; fi
  - if test "$SWIGLANG" = "csharp"; then sudo apt-get -qq install mono-devel; fi
  - if test "$SWIGLANG" = "d"; then wget http://downloads.dlang.org/releases/2014/dmd_2.066.0-0_amd64.deb; sudo dpkg -i dmd_2.066.0-0_amd64.deb; fi
  - if test "$SWIGLANG" = "go"; then go env | sed -e 's/^/export /' > goenvsetup && source goenvsetup && rm -f goenvsetup; fi # Until configure.ac is fixed
  - if test "$SWIGLANG" = "javascript" -a "$ENGINE" = "node"; then sudo apt-get install -qq rlwrap python-software-properties && echo 'yes' | sudo add-apt-repository ppa:chris-lea/node.js && sudo apt-get -qq update && sudo apt-get install -qq nodejs && sudo npm install -g node-gyp; fi
  - if test "$SWIGLANG" = "javascript" -a "$ENGINE" = "jsc"; then sudo apt-get install -qq libwebkitgtk-dev; fi
  - if test "$SWIGLANG" = "javascript" -a "$ENGINE" = "v8"; then sudo apt-get install -qq libv8-dev; fi
  - if test "$SWIGLANG" = "guile"; then sudo apt-get -qq install guile-2.0-dev; fi
  - if test "$SWIGLANG" = "lua"; then sudo apt-get -qq install lua5.1 liblua5.1-dev; fi
  # configure also looks for ocamldlgen, but this isn't packaged.  But it isn't used by default so this doesn't matter.
  - if test "$SWIGLANG" = "ocaml"; then sudo apt-get -qq install ocaml ocaml-findlib; fi
  - if test "$SWIGLANG" = "octave" -a -z "$VER"; then sudo apt-get -qq install octave3.2 octave3.2-headers; fi
  - if test "$SWIGLANG" = "octave" -a "$VER"; then sudo add-apt-repository -y ppa:kwwette/octaves && sudo apt-get -qq update && sudo apt-get -qq install liboctave${VER}-dev; fi
  - if test "$SWIGLANG" = "php"; then sudo apt-get install php5-cli php5-dev; fi
  - if test "$SWIGLANG" = "python"; then git clone https://github.com/jcrocholl/pep8.git && pushd pep8 && git checkout tags/1.5.7 && python ./setup.py build && sudo python ./setup.py install && popd; fi
  - if test "$SWIGLANG" = "python" -a "$PY3" -a -z "$VER"; then sudo apt-get install -qq python3-dev; fi
  - if test "$SWIGLANG" = "python" -a "$VER"; then sudo add-apt-repository -y ppa:fkrull/deadsnakes && sudo apt-get -qq update && sudo apt-get -qq install python${VER}-dev && CONFIGOPTS+=("--with-python${PY3}=python${VER}"); fi
  - if test "$SWIGLANG" = "r"; then sudo apt-get -qq install r-base; fi
  - if test "$SWIGLANG" = "scilab"; then sudo apt-get -qq install scilab; fi
  - if test "$SWIGLANG" = "tcl"; then sudo apt-get -qq install tcl8.4-dev; 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
  - $CC --version
  - $CXX --version
  # Stricter compile flags for examples. Various headers and SWIG generated code prevents full use of -pedantic.
  - if test -n "$SWIGLANG"; then export cflags=$(Tools/testflags.py --language $SWIGLANG --cflags --std=$CSTD) && echo $cflags; fi
  - if test -n "$SWIGLANG"; then export cxxflags=$(Tools/testflags.py --language $SWIGLANG --cxxflags --std=$CPPSTD) && echo $cxxflags; fi
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'
  - if test -n "$SWIGLANG"; then make -s check-$SWIGLANG-version; 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
