- .travis.yml:
- ppa:kwwette/octaves has Octave version 4.2, also run C++11 tests
- configure.ac:
- prefer Octave program "octave-cli" to "octave"
- extract any -std=* flags from CXX, add to OCTAVE_CXXFLAGS
- Lib/typemaps/fragments.swg:
- SWIG_isfinite_func(): extern "C++" is required as this fragment can
end up inside an extern "C" { } block
- Lib/octave:
- add std_wstring.i (copied from std_string.i) for C++11 tests
- Lib/octave/octrun.swg:
- move Octave version-checking macros to octruntime.swg
- Octave single()/double() functions now call .as_single()/.as_double()
methods; redirect calls to __float__() method as per .scalar_value()
- << and >> operators are no longer supported by Octave
- Lib/octave/octruntime.swg:
- move Octave version-checking macros here for conditional #includes
- #include interpreter.h instead of #toplev.h
- #include call-stack.h (now needed for octave_call_stack)
- unwind_protect is now in octave:: namespace
- error_state and warning_state are deprecated; use try/catch to catch
errors in feval() instead
- always set octave_exit = ::_Exit, to try to prevent segfault on exit
- Lib/octave/octopers.swg:
- << and >> operators are no longer supported by Octave
- Lib/octave/exception.i:
- Add macro SWIG_RETHROW_OCTAVE_EXCEPTIONS which rethrows any
exceptions raised by Octave >= 4.2
- Examples/test-suite/exception_order.i:
- Use macro SWIG_RETHROW_OCTAVE_EXCEPTIONS to rethrow exceptions
raised by error() function in Octave >= 4.2
- Update Doc/Manual/Octave.html and CHANGES.current
334 lines
9.4 KiB
YAML
334 lines
9.4 KiB
YAML
language: cpp
|
|
matrix:
|
|
include:
|
|
- compiler: clang
|
|
os: linux
|
|
env: SWIGLANG=
|
|
sudo: required
|
|
dist: trusty
|
|
- compiler: gcc
|
|
os: linux
|
|
env: SWIGLANG=
|
|
- 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
|
|
sudo: required
|
|
dist: trusty
|
|
- compiler: gcc
|
|
os: linux
|
|
env: SWIGLANG=go VER=1.5
|
|
sudo: required
|
|
dist: trusty
|
|
- 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
|
|
- 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=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=perl5
|
|
sudo: required
|
|
dist: trusty
|
|
- compiler: gcc
|
|
os: linux
|
|
env: SWIGLANG=php5
|
|
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=python VER=2.4
|
|
sudo: required
|
|
dist: trusty
|
|
- compiler: gcc
|
|
os: linux
|
|
env: SWIGLANG=python VER=2.5
|
|
sudo: required
|
|
dist: trusty
|
|
- compiler: gcc
|
|
os: linux
|
|
env: SWIGLANG=python VER=2.6
|
|
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 SWIG_FEATURES=-builtin VER=2.6
|
|
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 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.5 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=-classic
|
|
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=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=csharp 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
|
|
- 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=php5
|
|
- 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
|
|
sudo: required
|
|
dist: trusty
|
|
# Not quite working yet
|
|
- compiler: gcc
|
|
os: linux
|
|
env: SWIGLANG=python SWIG_FEATURES=-O
|
|
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
|
|
- 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'
|