summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml168
1 files changed, 39 insertions, 129 deletions
diff --git a/.travis.yml b/.travis.yml
index 69621cb9c..9ba6a1d14 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,151 +1,61 @@
-language: cpp
+language: objective-c
+env:
+ - SWIGLANG= CC=gcc-4.2 CXX=g++-4.2
+ - SWIGLANG= CC=clang CXX=clang++
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
+ - env: SWIGLANG=csharp CC=clang CXX=clang++
+ - env: SWIGLANG=go CC=clang CXX=clang++
+ - env: SWIGLANG=guile CC=clang CXX=clang++
+ - env: SWIGLANG=java CC=clang CXX=clang++
+ - env: SWIGLANG=lua CC=clang CXX=clang++
+ - env: SWIGLANG=perl5 CC=clang CXX=clang++
+ - env: SWIGLANG=php CC=clang CXX=clang++
+ - env: SWIGLANG=python CC=clang CXX=clang++
+ - env: SWIGLANG=python PY3=1 CC=clang CXX=clang++
+ - env: SWIGLANG=ruby CC=clang CXX=clang++
+ - env: SWIGLANG=tcl CC=clang CXX=clang++
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
+ - env: SWIGLANG=go CC=clang CXX=clang++
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
+ - sw_vers
+ - brew update
+ - brew list
+ - brew install pcre
+# - brew install boost
+ - if test "$SWIGLANG" = "csharp"; then brew install https://s3.amazonaws.com/travisbuilds.swig.org/mono.rb; fi
+ - if test "$SWIGLANG" = "guile"; then Tools/brew-install guile; fi
+ - if test "$SWIGLANG" = "lua"; then brew install lua; fi
+ - if test "$SWIGLANG" = "python" -a "$PY3"; then brew install python3 && brew list -v python3; fi
+ - ls -la $(which $CC)
+ - ls -la $(which $CXX)
+ # Language specific compile flags
+ - export CFLAGS_EXAMPLES="" && export CXXFLAGS_EXAMPLES="" && export CFLAGS_TESTSUITE="" && export CXXFLAGS_TESTSUITE=""
+ # -Wno-attributes is for clang LLVM 3.5 and bdw-gc < 7.5 used by guile
+ - if test "$SWIGLANG" = "guile"; then export CFLAGS_EXAMPLES="-Wno-attributes" && export CXXFLAGS_EXAMPLES="-Wno-attributes" && export CFLAGS_TESTSUITE="-Wno-attributes" && export CXXFLAGS_TESTSUITE="-Wno-attributes"; 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[@]}"
+ - ./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'
+# - 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
+ - if test -n "$SWIGLANG"; then make -k $SWIGJOBS check-$SWIGLANG-examples CFLAGS="$CFLAGS_EXAMPLES" CXXFLAGS="$CXXFLAGS_EXAMPLES"; fi
+ - if test -n "$SWIGLANG"; then make -k $SWIGJOBS check-$SWIGLANG-test-suite CFLAGS="$CFLAGS_TESTSUITE" CXXFLAGS="$CXXFLAGS_TESTSUITE"; 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
+ - travis-osx
+