|
Björn Esser |
65e54ee |
Index: swig-3.0.11/.travis.yml
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/.travis.yml
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/.travis.yml
|
|
Björn Esser |
65e54ee |
@@ -77,13 +77,19 @@ matrix:
|
|
Björn Esser |
65e54ee |
dist: trusty
|
|
Björn Esser |
65e54ee |
- compiler: gcc
|
|
Björn Esser |
65e54ee |
os: linux
|
|
Björn Esser |
65e54ee |
- env: SWIGLANG=octave SWIGJOBS=-j2 # 3.2
|
|
Björn Esser |
65e54ee |
+ env: SWIGLANG=octave SWIGJOBS=-j2 # 3.8
|
|
Björn Esser |
65e54ee |
+ sudo: required
|
|
Björn Esser |
65e54ee |
+ dist: trusty
|
|
Björn Esser |
65e54ee |
- compiler: gcc
|
|
Björn Esser |
65e54ee |
os: linux
|
|
Björn Esser |
65e54ee |
- env: SWIGLANG=octave SWIGJOBS=-j2 VER=3.8
|
|
Björn Esser |
65e54ee |
+ env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.0
|
|
Björn Esser |
65e54ee |
+ sudo: required
|
|
Björn Esser |
65e54ee |
+ dist: trusty
|
|
Björn Esser |
65e54ee |
- compiler: gcc
|
|
Björn Esser |
65e54ee |
os: linux
|
|
Björn Esser |
65e54ee |
- env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.0
|
|
Björn Esser |
65e54ee |
+ env: SWIGLANG=octave SWIGJOBS=-j2 VER=4.2
|
|
Björn Esser |
65e54ee |
+ sudo: required
|
|
Björn Esser |
65e54ee |
+ dist: trusty
|
|
Björn Esser |
65e54ee |
- compiler: gcc
|
|
Björn Esser |
65e54ee |
os: linux
|
|
Björn Esser |
65e54ee |
env: SWIGLANG=perl5
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/CHANGES.current
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/CHANGES.current
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/CHANGES.current
|
|
Björn Esser |
65e54ee |
@@ -4,6 +4,31 @@ See the RELEASENOTES file for a summary
|
|
Björn Esser |
65e54ee |
Issue # numbers mentioned below can be found on Github. For more details, add
|
|
Björn Esser |
65e54ee |
the issue number to the end of the URL: https://github.com/swig/swig/issues/
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+Backported from https://github.com/swig/swig/pull/875
|
|
Björn Esser |
65e54ee |
+=====================================================
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+2016-12-31: kwwette
|
|
Björn Esser |
65e54ee |
+ [Octave] add support for version 4.2.0
|
|
Björn Esser |
65e54ee |
+ - C++11 compiler is required to compile examples/test suite
|
|
Björn Esser |
65e54ee |
+ - Octave has dropped support for << and >> operators, so SWIG now
|
|
Björn Esser |
65e54ee |
+ ignores them
|
|
Björn Esser |
65e54ee |
+ - The Octave error() function now raises C++ exceptions to propagate
|
|
Björn Esser |
65e54ee |
+ Octave errors, so %exception directives may need to be modified.
|
|
Björn Esser |
65e54ee |
+ For convenience the SWIG_RETHROW_OCTAVE_EXCEPTIONS macro can be used
|
|
Björn Esser |
65e54ee |
+ to rethrow any Octave exceptions for Octave itself to handle, e.g.:
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ try {
|
|
Björn Esser |
65e54ee |
+ $action // may call error()
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+ SWIG_RETHROW_OCTAVE_EXCEPTIONS // error() exceptions are rethrown
|
|
Björn Esser |
65e54ee |
+ catch(...) {
|
|
Björn Esser |
65e54ee |
+ ... // all other exceptions
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ *** POTENTIAL INCOMPATIBILITY ***
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
Version 3.0.11 (29 Dec 2016)
|
|
Björn Esser |
65e54ee |
============================
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Doc/Manual/Octave.html
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Doc/Manual/Octave.html
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Doc/Manual/Octave.html
|
|
Björn Esser |
65e54ee |
@@ -64,8 +64,15 @@ Also, there are a dozen or so examples i
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
-As of SWIG 3.0.7, the Octave module is regularly tested with Octave versions 3.2.4, 3.8.1, and 4.0.0.
|
|
Björn Esser |
65e54ee |
-Use of older Octave versions is not recommended, as these versions are no longer tested with SWIG.
|
|
Björn Esser |
65e54ee |
+SWIG is regularly tested against the following versions of Octave: 3.8, 4.0, 4.2.
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+Every effort is made to maintain backward compatibility with older versions of Octave.
|
|
Björn Esser |
65e54ee |
+This cannot be guaranteed however, as in recent times new Octave releases have required nontrivial updates to SWIG, which may break backward compatibility for older Octave versions against which SWIG is not regularly tested.
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
The SWIG runtime exports the function <tt>swig_octave_prereq()</tt> for checking the version of Octave.
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Examples/test-suite/exception_order.i
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Examples/test-suite/exception_order.i
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Examples/test-suite/exception_order.i
|
|
Björn Esser |
65e54ee |
@@ -23,7 +23,17 @@
|
|
Björn Esser |
65e54ee |
user's throw declarations.
|
|
Björn Esser |
65e54ee |
*/
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
-#if defined(SWIGUTL)
|
|
Björn Esser |
65e54ee |
+#if defined(SWIGOCTAVE)
|
|
Björn Esser |
65e54ee |
+%exception {
|
|
Björn Esser |
65e54ee |
+ try {
|
|
Björn Esser |
65e54ee |
+ $action
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+ SWIG_RETHROW_OCTAVE_EXCEPTIONS
|
|
Björn Esser |
65e54ee |
+ catch(...) {
|
|
Björn Esser |
65e54ee |
+ SWIG_exception(SWIG_RuntimeError,"postcatch unknown");
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+}
|
|
Björn Esser |
65e54ee |
+#elif defined(SWIGUTL)
|
|
Björn Esser |
65e54ee |
%exception {
|
|
Björn Esser |
65e54ee |
try {
|
|
Björn Esser |
65e54ee |
$action
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Lib/octave/exception.i
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Lib/octave/exception.i
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Lib/octave/exception.i
|
|
Björn Esser |
65e54ee |
@@ -1,6 +1,14 @@
|
|
Björn Esser |
65e54ee |
%include <typemaps/exception.swg>
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
%insert("runtime") {
|
|
Björn Esser |
65e54ee |
%define_as(SWIG_exception(code, msg), %block(%error(code, msg); SWIG_fail; ))
|
|
Björn Esser |
65e54ee |
}
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+%define SWIG_RETHROW_OCTAVE_EXCEPTIONS
|
|
Björn Esser |
65e54ee |
+ /* rethrow any exceptions thrown by Octave */
|
|
Björn Esser |
65e54ee |
+%#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ catch (octave::execution_exception& _e) { throw; }
|
|
Björn Esser |
65e54ee |
+ catch (octave::exit_exception& _e) { throw; }
|
|
Björn Esser |
65e54ee |
+ catch (octave::interrupt_exception& _e) { throw; }
|
|
Björn Esser |
65e54ee |
+%#endif
|
|
Björn Esser |
65e54ee |
+%enddef
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Lib/octave/octopers.swg
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Lib/octave/octopers.swg
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Lib/octave/octopers.swg
|
|
Björn Esser |
65e54ee |
@@ -25,8 +25,6 @@
|
|
Björn Esser |
65e54ee |
// __div__ a / b
|
|
Björn Esser |
65e54ee |
// __pow__ a ^ b
|
|
Björn Esser |
65e54ee |
// __ldiv__ a \ b
|
|
Björn Esser |
65e54ee |
-// __lshift__ a << b
|
|
Björn Esser |
65e54ee |
-// __rshift__ a >> b
|
|
Björn Esser |
65e54ee |
// __lt__ a < b
|
|
Björn Esser |
65e54ee |
// __le__ a <= b
|
|
Björn Esser |
65e54ee |
// __eq__ a == b
|
|
Björn Esser |
65e54ee |
@@ -51,8 +49,6 @@
|
|
Björn Esser |
65e54ee |
%rename(__mul__) *::operator*;
|
|
Björn Esser |
65e54ee |
%rename(__div__) *::operator/;
|
|
Björn Esser |
65e54ee |
%rename(__mod__) *::operator%;
|
|
Björn Esser |
65e54ee |
-%rename(__lshift__) *::operator<<;
|
|
Björn Esser |
65e54ee |
-%rename(__rshift__) *::operator>>;
|
|
Björn Esser |
65e54ee |
%rename(__el_and__) *::operator&&;
|
|
Björn Esser |
65e54ee |
%rename(__el_or__) *::operator||;
|
|
Björn Esser |
65e54ee |
%rename(__xor__) *::operator^;
|
|
Björn Esser |
65e54ee |
@@ -84,5 +80,7 @@
|
|
Björn Esser |
65e54ee |
// Ignored operators
|
|
Björn Esser |
65e54ee |
%ignoreoperator(EQ) operator=;
|
|
Björn Esser |
65e54ee |
%ignoreoperator(ARROWSTAR) operator->*;
|
|
Björn Esser |
65e54ee |
+%ignoreoperator(LSHIFT) operator<<;
|
|
Björn Esser |
65e54ee |
+%ignoreoperator(RSHIFT) operator>>;
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
#endif /* __cplusplus */
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Lib/octave/octrun.swg
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Lib/octave/octrun.swg
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Lib/octave/octrun.swg
|
|
Björn Esser |
65e54ee |
@@ -1,87 +1,3 @@
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-#include <octave/version.h>
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// Macro for enabling features which require Octave version >= major.minor.patch
|
|
Björn Esser |
65e54ee |
-#define SWIG_OCTAVE_PREREQ(major, minor, patch) \
|
|
Björn Esser |
65e54ee |
- ( (OCTAVE_MAJOR_VERSION<<16) + (OCTAVE_MINOR_VERSION<<8) + OCTAVE_PATCH_VERSION >= ((major)<<16) + ((minor)<<8) + (patch) )
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// Reconstruct Octave major, minor, and patch versions for releases prior to 3.8.1
|
|
Björn Esser |
65e54ee |
-#if !defined(OCTAVE_MAJOR_VERSION)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# if !defined(OCTAVE_API_VERSION_NUMBER)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// Hack to distinguish between Octave 3.8.0, which removed OCTAVE_API_VERSION_NUMBER but did not yet
|
|
Björn Esser |
65e54ee |
-// introduce OCTAVE_MAJOR_VERSION, and Octave <= 3.2, which did not define OCTAVE_API_VERSION_NUMBER
|
|
Björn Esser |
65e54ee |
-# include <octave/ov.h>
|
|
Björn Esser |
65e54ee |
-# if defined(octave_ov_h)
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 8
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 0
|
|
Björn Esser |
65e54ee |
-# else
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// Hack to distinguish between Octave 3.2 and earlier versions, before OCTAVE_API_VERSION_NUMBER existed
|
|
Björn Esser |
65e54ee |
-# define ComplexLU __ignore
|
|
Björn Esser |
65e54ee |
-# include <octave/CmplxLU.h>
|
|
Björn Esser |
65e54ee |
-# undef ComplexLU
|
|
Björn Esser |
65e54ee |
-# if defined(octave_Complex_LU_h)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// We know only that this version is prior to Octave 3.2, i.e. OCTAVE_API_VERSION_NUMBER < 37
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 1
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 99
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# else
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// OCTAVE_API_VERSION_NUMBER == 37
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 2
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 0
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# endif // defined(octave_Complex_LU_h)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# endif // defined(octave_ov_h)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-// Correlation between Octave API and version numbers extracted from Octave's
|
|
Björn Esser |
65e54ee |
-// ChangeLogs; version is the *earliest* released Octave with that API number
|
|
Björn Esser |
65e54ee |
-# elif OCTAVE_API_VERSION_NUMBER >= 48
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 6
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 0
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# elif OCTAVE_API_VERSION_NUMBER >= 45
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 4
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 1
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# elif OCTAVE_API_VERSION_NUMBER >= 42
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 54
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# elif OCTAVE_API_VERSION_NUMBER >= 41
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 53
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# elif OCTAVE_API_VERSION_NUMBER >= 40
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 52
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# elif OCTAVE_API_VERSION_NUMBER >= 39
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 51
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# else // OCTAVE_API_VERSION_NUMBER == 38
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
-# define OCTAVE_PATCH_VERSION 50
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-# endif // !defined(OCTAVE_API_VERSION_NUMBER)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
-#endif // !defined(OCTAVE_MAJOR_VERSION)
|
|
Björn Esser |
65e54ee |
-
|
|
Björn Esser |
65e54ee |
#if !SWIG_OCTAVE_PREREQ(3,2,0)
|
|
Björn Esser |
65e54ee |
#define SWIG_DEFUN(cname, wname, doc) DEFUNX_DLD(#cname, wname, FS ## cname, args, nargout, doc)
|
|
Björn Esser |
65e54ee |
#else
|
|
Björn Esser |
65e54ee |
@@ -824,6 +740,24 @@ SWIGRUNTIME void swig_acquire_ownership_
|
|
Björn Esser |
65e54ee |
return ret.scalar_value();
|
|
Björn Esser |
65e54ee |
}
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ virtual octave_value as_double(void) const {
|
|
Björn Esser |
65e54ee |
+ octave_value ret;
|
|
Björn Esser |
65e54ee |
+ if (!dispatch_unary_op("__float__", ret)) {
|
|
Björn Esser |
65e54ee |
+ error("__float__ method not defined");
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+ return ret.as_double();
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ virtual octave_value as_single(void) const {
|
|
Björn Esser |
65e54ee |
+ octave_value ret;
|
|
Björn Esser |
65e54ee |
+ if (!dispatch_unary_op("__float__", ret)) {
|
|
Björn Esser |
65e54ee |
+ error("__float__ method not defined");
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+ return ret.as_single();
|
|
Björn Esser |
65e54ee |
+ }
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
#if SWIG_OCTAVE_PREREQ(3,8,0)
|
|
Björn Esser |
65e54ee |
virtual octave_value map(octave_base_value::unary_mapper_t umap) const {
|
|
Björn Esser |
65e54ee |
const std::string opname = std::string("__") + octave_base_value::get_umap_name(umap) + std::string("__");
|
|
Björn Esser |
65e54ee |
@@ -1092,6 +1026,14 @@ SWIGRUNTIME void swig_acquire_ownership_
|
|
Björn Esser |
65e54ee |
virtual double scalar_value(bool frc_str_conv = false) const
|
|
Björn Esser |
65e54ee |
{ return ptr->scalar_value(frc_str_conv); }
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ virtual octave_value as_double(void) const
|
|
Björn Esser |
65e54ee |
+ { return ptr->as_double(); }
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ virtual octave_value as_single(void) const
|
|
Björn Esser |
65e54ee |
+ { return ptr->as_single(); }
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
#if SWIG_OCTAVE_PREREQ(3,8,0)
|
|
Björn Esser |
65e54ee |
virtual octave_value map(octave_base_value::unary_mapper_t umap) const
|
|
Björn Esser |
65e54ee |
{ return ptr->map(umap); }
|
|
Björn Esser |
65e54ee |
@@ -1340,8 +1282,10 @@ octave_value_typeinfo::register_binary_o
|
|
Björn Esser |
65e54ee |
swig_binary_op(div);
|
|
Björn Esser |
65e54ee |
swig_binary_op(pow);
|
|
Björn Esser |
65e54ee |
swig_binary_op(ldiv);
|
|
Björn Esser |
65e54ee |
+#if !SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
swig_binary_op(lshift);
|
|
Björn Esser |
65e54ee |
swig_binary_op(rshift);
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
swig_binary_op(lt);
|
|
Björn Esser |
65e54ee |
swig_binary_op(le);
|
|
Björn Esser |
65e54ee |
swig_binary_op(eq);
|
|
Björn Esser |
65e54ee |
@@ -1371,8 +1315,10 @@ octave_value_typeinfo::register_binary_o
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(div);
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(pow);
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(ldiv);
|
|
Björn Esser |
65e54ee |
+#if !SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(lshift);
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(rshift);
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(lt);
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(le);
|
|
Björn Esser |
65e54ee |
swigreg_binary_op(eq);
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Lib/octave/octruntime.swg
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Lib/octave/octruntime.swg
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Lib/octave/octruntime.swg
|
|
Björn Esser |
65e54ee |
@@ -1,7 +1,93 @@
|
|
Björn Esser |
65e54ee |
%insert(runtime) %{
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
#include <cstdlib>
|
|
Björn Esser |
65e54ee |
#include <iostream>
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
#include <octave/oct.h>
|
|
Björn Esser |
65e54ee |
+#include <octave/version.h>
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// Macro for enabling features which require Octave version >= major.minor.patch
|
|
Björn Esser |
65e54ee |
+// - Use (OCTAVE_PATCH_VERSION + 0) to handle both '<digit>' (released) and '<digit>+' (in development) patch numbers
|
|
Björn Esser |
65e54ee |
+#define SWIG_OCTAVE_PREREQ(major, minor, patch) \
|
|
Björn Esser |
65e54ee |
+ ( (OCTAVE_MAJOR_VERSION<<16) + (OCTAVE_MINOR_VERSION<<8) + (OCTAVE_PATCH_VERSION + 0) >= ((major)<<16) + ((minor)<<8) + (patch) )
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// Reconstruct Octave major, minor, and patch versions for releases prior to 3.8.1
|
|
Björn Esser |
65e54ee |
+#if !defined(OCTAVE_MAJOR_VERSION)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# if !defined(OCTAVE_API_VERSION_NUMBER)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// Hack to distinguish between Octave 3.8.0, which removed OCTAVE_API_VERSION_NUMBER but did not yet
|
|
Björn Esser |
65e54ee |
+// introduce OCTAVE_MAJOR_VERSION, and Octave <= 3.2, which did not define OCTAVE_API_VERSION_NUMBER
|
|
Björn Esser |
65e54ee |
+# include <octave/ov.h>
|
|
Björn Esser |
65e54ee |
+# if defined(octave_ov_h)
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 8
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 0
|
|
Björn Esser |
65e54ee |
+# else
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// Hack to distinguish between Octave 3.2 and earlier versions, before OCTAVE_API_VERSION_NUMBER existed
|
|
Björn Esser |
65e54ee |
+# define ComplexLU __ignore
|
|
Björn Esser |
65e54ee |
+# include <octave/CmplxLU.h>
|
|
Björn Esser |
65e54ee |
+# undef ComplexLU
|
|
Björn Esser |
65e54ee |
+# if defined(octave_Complex_LU_h)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// We know only that this version is prior to Octave 3.2, i.e. OCTAVE_API_VERSION_NUMBER < 37
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 1
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 99
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# else
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// OCTAVE_API_VERSION_NUMBER == 37
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 2
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 0
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# endif // defined(octave_Complex_LU_h)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# endif // defined(octave_ov_h)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+// Correlation between Octave API and version numbers extracted from Octave's
|
|
Björn Esser |
65e54ee |
+// ChangeLogs; version is the *earliest* released Octave with that API number
|
|
Björn Esser |
65e54ee |
+# elif OCTAVE_API_VERSION_NUMBER >= 48
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 6
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 0
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# elif OCTAVE_API_VERSION_NUMBER >= 45
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 4
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 1
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# elif OCTAVE_API_VERSION_NUMBER >= 42
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 54
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# elif OCTAVE_API_VERSION_NUMBER >= 41
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 53
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# elif OCTAVE_API_VERSION_NUMBER >= 40
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 52
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# elif OCTAVE_API_VERSION_NUMBER >= 39
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 51
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# else // OCTAVE_API_VERSION_NUMBER == 38
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MAJOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_MINOR_VERSION 3
|
|
Björn Esser |
65e54ee |
+# define OCTAVE_PATCH_VERSION 50
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# endif // !defined(OCTAVE_API_VERSION_NUMBER)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+#endif // !defined(OCTAVE_MAJOR_VERSION)
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
#include <octave/Cell.h>
|
|
Björn Esser |
65e54ee |
#include <octave/dynamic-ld.h>
|
|
Björn Esser |
65e54ee |
#include <octave/oct-env.h>
|
|
Björn Esser |
65e54ee |
@@ -9,8 +95,16 @@
|
|
Björn Esser |
65e54ee |
#include <octave/ov-scalar.h>
|
|
Björn Esser |
65e54ee |
#include <octave/ov-fcn-handle.h>
|
|
Björn Esser |
65e54ee |
#include <octave/parse.h>
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+#include <octave/interpreter.h>
|
|
Björn Esser |
65e54ee |
+#else
|
|
Björn Esser |
65e54ee |
#include <octave/toplev.h>
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
#include <octave/unwind-prot.h>
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+#include <octave/call-stack.h>
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
%}
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
%insert(runtime) "swigrun.swg";
|
|
Björn Esser |
65e54ee |
@@ -24,27 +118,34 @@
|
|
Björn Esser |
65e54ee |
static bool SWIG_init_user(octave_swig_type* module_ns);
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
SWIGINTERN bool SWIG_Octave_LoadModule(std::string name) {
|
|
Björn Esser |
65e54ee |
- bool retn;
|
|
Björn Esser |
65e54ee |
+ bool retn = false;
|
|
Björn Esser |
65e54ee |
{
|
|
Björn Esser |
65e54ee |
-#if !SWIG_OCTAVE_PREREQ(3,3,50)
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ octave::unwind_protect frame;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_error_messages); discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_warning_messages); discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+#elif SWIG_OCTAVE_PREREQ(3,3,50)
|
|
Björn Esser |
65e54ee |
+ unwind_protect frame;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(error_state); error_state = 0;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(warning_state); warning_state = 0;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_error_messages); discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_warning_messages); discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+#else
|
|
Björn Esser |
65e54ee |
unwind_protect::begin_frame("SWIG_Octave_LoadModule");
|
|
Björn Esser |
65e54ee |
- unwind_protect_int(error_state);
|
|
Björn Esser |
65e54ee |
- unwind_protect_int(warning_state);
|
|
Björn Esser |
65e54ee |
- unwind_protect_bool(discard_error_messages);
|
|
Björn Esser |
65e54ee |
- unwind_protect_bool(discard_warning_messages);
|
|
Björn Esser |
65e54ee |
+ unwind_protect_int(error_state); error_state = 0;
|
|
Björn Esser |
65e54ee |
+ unwind_protect_int(warning_state); warning_state = 0;
|
|
Björn Esser |
65e54ee |
+ unwind_protect_bool(discard_error_messages); discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
+ unwind_protect_bool(discard_warning_messages); discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ try {
|
|
Björn Esser |
65e54ee |
+ feval(name, octave_value_list(), 0);
|
|
Björn Esser |
65e54ee |
+ retn = true;
|
|
Björn Esser |
65e54ee |
+ } catch (octave::execution_exception&) { }
|
|
Björn Esser |
65e54ee |
#else
|
|
Björn Esser |
65e54ee |
- unwind_protect frame;
|
|
Björn Esser |
65e54ee |
- frame.protect_var(error_state);
|
|
Björn Esser |
65e54ee |
- frame.protect_var(warning_state);
|
|
Björn Esser |
65e54ee |
- frame.protect_var(discard_error_messages);
|
|
Björn Esser |
65e54ee |
- frame.protect_var(discard_warning_messages);
|
|
Björn Esser |
65e54ee |
-#endif
|
|
Björn Esser |
65e54ee |
- error_state = 0;
|
|
Björn Esser |
65e54ee |
- warning_state = 0;
|
|
Björn Esser |
65e54ee |
- discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
- discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
feval(name, octave_value_list(), 0);
|
|
Björn Esser |
65e54ee |
retn = (error_state == 0);
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
#if !SWIG_OCTAVE_PREREQ(3,3,50)
|
|
Björn Esser |
65e54ee |
unwind_protect::run_frame("SWIG_Octave_LoadModule");
|
|
Björn Esser |
65e54ee |
#endif
|
|
Björn Esser |
65e54ee |
@@ -56,31 +157,37 @@ SWIGINTERN bool SWIG_Octave_LoadModule(s
|
|
Björn Esser |
65e54ee |
}
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
SWIGINTERN bool SWIG_Octave_InstallFunction(octave_function *octloadfcn, std::string name) {
|
|
Björn Esser |
65e54ee |
- bool retn;
|
|
Björn Esser |
65e54ee |
+ bool retn = false;
|
|
Björn Esser |
65e54ee |
{
|
|
Björn Esser |
65e54ee |
-#if !SWIG_OCTAVE_PREREQ(3,3,50)
|
|
Björn Esser |
65e54ee |
- unwind_protect::begin_frame("SWIG_Octave_InstallFunction");
|
|
Björn Esser |
65e54ee |
- unwind_protect_int(error_state);
|
|
Björn Esser |
65e54ee |
- unwind_protect_int(warning_state);
|
|
Björn Esser |
65e54ee |
- unwind_protect_bool(discard_error_messages);
|
|
Björn Esser |
65e54ee |
- unwind_protect_bool(discard_warning_messages);
|
|
Björn Esser |
65e54ee |
-#else
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ octave::unwind_protect frame;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_error_messages); discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_warning_messages); discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+#elif SWIG_OCTAVE_PREREQ(3,3,50)
|
|
Björn Esser |
65e54ee |
unwind_protect frame;
|
|
Björn Esser |
65e54ee |
- frame.protect_var(error_state);
|
|
Björn Esser |
65e54ee |
- frame.protect_var(warning_state);
|
|
Björn Esser |
65e54ee |
- frame.protect_var(discard_error_messages);
|
|
Björn Esser |
65e54ee |
- frame.protect_var(discard_warning_messages);
|
|
Björn Esser |
65e54ee |
-#endif
|
|
Björn Esser |
65e54ee |
- error_state = 0;
|
|
Björn Esser |
65e54ee |
- warning_state = 0;
|
|
Björn Esser |
65e54ee |
- discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
- discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(error_state); error_state = 0;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(warning_state); warning_state = 0;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_error_messages); discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
+ frame.protect_var(discard_warning_messages); discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+#else
|
|
Björn Esser |
65e54ee |
+ unwind_protect::begin_frame("SWIG_Octave_LoadModule");
|
|
Björn Esser |
65e54ee |
+ unwind_protect_int(error_state); error_state = 0;
|
|
Björn Esser |
65e54ee |
+ unwind_protect_int(warning_state); warning_state = 0;
|
|
Björn Esser |
65e54ee |
+ unwind_protect_bool(discard_error_messages); discard_error_messages = true;
|
|
Björn Esser |
65e54ee |
+ unwind_protect_bool(discard_warning_messages); discard_warning_messages = true;
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
octave_value_list args;
|
|
Björn Esser |
65e54ee |
args.append(name);
|
|
Björn Esser |
65e54ee |
args.append(octloadfcn->fcn_file_name());
|
|
Björn Esser |
65e54ee |
- error_state = 0;
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(4,2,0)
|
|
Björn Esser |
65e54ee |
+ try {
|
|
Björn Esser |
65e54ee |
+ feval("autoload", args, 0);
|
|
Björn Esser |
65e54ee |
+ retn = true;
|
|
Björn Esser |
65e54ee |
+ } catch (octave::execution_exception&) { }
|
|
Björn Esser |
65e54ee |
+#else
|
|
Björn Esser |
65e54ee |
feval("autoload", args, 0);
|
|
Björn Esser |
65e54ee |
retn = (error_state == 0);
|
|
Björn Esser |
65e54ee |
+#endif
|
|
Björn Esser |
65e54ee |
#if !SWIG_OCTAVE_PREREQ(3,3,50)
|
|
Björn Esser |
65e54ee |
unwind_protect::run_frame("SWIG_Octave_InstallFunction");
|
|
Björn Esser |
65e54ee |
#endif
|
|
Björn Esser |
65e54ee |
@@ -211,10 +318,11 @@ DEFUN_DLD( SWIG_name, args, nargout, SWI
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
// workaround to prevent octave seg-faulting on exit: set Octave exit function
|
|
Björn Esser |
65e54ee |
// octave_exit to _Exit, which exits immediately without trying to cleanup memory.
|
|
Björn Esser |
65e54ee |
- // definitely affects version 3.2.*, not sure about 3.3.*, seems to be fixed in
|
|
Björn Esser |
65e54ee |
- // version 3.4.* and above. can be turned off with macro definition.
|
|
Björn Esser |
65e54ee |
+ // definitely affecteds version 3.2.*, not sure about 3.3.*, seems to be fixed in
|
|
Björn Esser |
65e54ee |
+ // version 3.4.*, but reappeared in 4.2.*, so turn on for all versions after 3.2.*.
|
|
Björn Esser |
65e54ee |
+ // can be turned off with macro definition.
|
|
Björn Esser |
65e54ee |
#ifndef SWIG_OCTAVE_NO_SEGFAULT_HACK
|
|
Björn Esser |
65e54ee |
-#if SWIG_OCTAVE_PREREQ(3,2,0) && !SWIG_OCTAVE_PREREQ(3,4,1)
|
|
Björn Esser |
65e54ee |
+#if SWIG_OCTAVE_PREREQ(3,2,0)
|
|
Björn Esser |
65e54ee |
octave_exit = ::_Exit;
|
|
Björn Esser |
65e54ee |
#endif
|
|
Björn Esser |
65e54ee |
#endif
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Lib/octave/std_wstring.i
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- /dev/null
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Lib/octave/std_wstring.i
|
|
Björn Esser |
65e54ee |
@@ -0,0 +1 @@
|
|
Björn Esser |
65e54ee |
+%include <typemaps/std_string.swg>
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Lib/typemaps/fragments.swg
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Lib/typemaps/fragments.swg
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Lib/typemaps/fragments.swg
|
|
Björn Esser |
65e54ee |
@@ -177,9 +177,11 @@
|
|
Björn Esser |
65e54ee |
* versions.
|
|
Björn Esser |
65e54ee |
*
|
|
Björn Esser |
65e54ee |
* Make sure namespace std exists to avoid compiler warnings.
|
|
Björn Esser |
65e54ee |
+ *
|
|
Björn Esser |
65e54ee |
+ * extern "C++" is required as this fragment can end up inside an extern "C" { } block
|
|
Björn Esser |
65e54ee |
*/
|
|
Björn Esser |
65e54ee |
namespace std { }
|
|
Björn Esser |
65e54ee |
-template<typename T>
|
|
Björn Esser |
65e54ee |
+extern "C++" template<typename T>
|
|
Björn Esser |
65e54ee |
inline int SWIG_isfinite_func(T x) {
|
|
Björn Esser |
65e54ee |
using namespace std;
|
|
Björn Esser |
65e54ee |
return isfinite(x);
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/Tools/travis-linux-install.sh
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/Tools/travis-linux-install.sh
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/Tools/travis-linux-install.sh
|
|
Björn Esser |
65e54ee |
@@ -64,7 +64,7 @@ case "$SWIGLANG" in
|
|
Björn Esser |
65e54ee |
;;
|
|
Björn Esser |
65e54ee |
"octave")
|
|
Björn Esser |
65e54ee |
if [[ -z "$VER" ]]; then
|
|
Björn Esser |
65e54ee |
- sudo apt-get -qq install octave3.2 octave3.2-headers
|
|
Björn Esser |
65e54ee |
+ sudo apt-get -qq install liboctave-dev
|
|
Björn Esser |
65e54ee |
else
|
|
Björn Esser |
65e54ee |
sudo add-apt-repository -y ppa:kwwette/octaves
|
|
Björn Esser |
65e54ee |
sudo apt-get -qq update
|
|
Björn Esser |
65e54ee |
Index: swig-3.0.11/configure.ac
|
|
Björn Esser |
65e54ee |
===================================================================
|
|
Björn Esser |
65e54ee |
--- swig-3.0.11.orig/configure.ac
|
|
Björn Esser |
65e54ee |
+++ swig-3.0.11/configure.ac
|
|
Björn Esser |
dfde9f6 |
@@ -1018,30 +1018,77 @@ OCTAVE_SO=.oct
|
|
Björn Esser |
65e54ee |
AC_ARG_WITH(octave, AS_HELP_STRING([--without-octave], [Disable Octave])
|
|
Björn Esser |
65e54ee |
AS_HELP_STRING([--with-octave=path], [Set location of Octave executable]),[OCTAVEBIN="$withval"], [OCTAVEBIN="$alllang_default"])
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
-# First, check for "--without-octave" or "--with-octave=no".
|
|
Björn Esser |
65e54ee |
+# Check for "--without-octave" or "--with-octave=no".
|
|
Björn Esser |
65e54ee |
if test x"${OCTAVEBIN}" = xno; then
|
|
Björn Esser |
65e54ee |
AC_MSG_NOTICE([Disabling Octave])
|
|
Björn Esser |
65e54ee |
OCTAVE=
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
-# First figure out what the name of Octave is
|
|
Björn Esser |
65e54ee |
+# Check for Octave; prefer command-line program "octave-cli" to (in newer versions) GUI program "octave"
|
|
Björn Esser |
65e54ee |
elif test "x$OCTAVEBIN" = xyes; then
|
|
Björn Esser |
65e54ee |
- AC_PATH_PROG(OCTAVE, [octave])
|
|
Björn Esser |
65e54ee |
+ AC_PATH_PROG(OCTAVE, [octave-cli octave])
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
else
|
|
Björn Esser |
65e54ee |
OCTAVE="$OCTAVEBIN"
|
|
Björn Esser |
65e54ee |
fi
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
+# Check Octave options and version, and whether a C++11 compiler is required
|
|
Björn Esser |
65e54ee |
if test -n "$OCTAVE"; then
|
|
Björn Esser |
65e54ee |
- AC_MSG_CHECKING([for mkoctfile])
|
|
Björn Esser |
65e54ee |
- mkoctfile="$(dirname $OCTAVE)/$(basename $OCTAVE | sed -e 's/octave/mkoctfile/')"
|
|
Björn Esser |
65e54ee |
- AS_IF([test -x "${mkoctfile}"],[
|
|
Björn Esser |
65e54ee |
- AC_MSG_RESULT([${mkoctfile}])
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ for octave_opt in --no-window-system --silent --norc --no-history; do
|
|
Björn Esser |
65e54ee |
+ AC_MSG_CHECKING([if Octave option '${octave_opt}' is supported])
|
|
Björn Esser |
65e54ee |
+ octave_out=`${OCTAVE} ${octave_opt} /dev/null 2>&1 | sed -n '1p' | sed -n '/unrecognized/p'`
|
|
Björn Esser |
65e54ee |
+ AS_IF([test "x${octave_out}" = x],[
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([yes])
|
|
Björn Esser |
65e54ee |
+ OCTAVE="${OCTAVE} ${octave_opt}"
|
|
Björn Esser |
65e54ee |
+ ],[
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([no])
|
|
Björn Esser |
65e54ee |
+ ])
|
|
Björn Esser |
65e54ee |
+ done
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ AC_MSG_CHECKING([for Octave version])
|
|
Björn Esser |
65e54ee |
+ octave_version=`${OCTAVE} --version 2>/dev/null | sed -n '1p' | sed -n 's/^.*version //p'`
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([${octave_version}])
|
|
Björn Esser |
65e54ee |
+ AS_CASE([${octave_version}],
|
|
Björn Esser |
65e54ee |
+ [*.*.*],[:],
|
|
Björn Esser |
65e54ee |
+ [AC_MSG_ERROR([could not determine version of ${OCTAVE}])]
|
|
Björn Esser |
65e54ee |
+ )
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+ AC_MSG_CHECKING([if Octave requires a C++11 compiler])
|
|
Björn Esser |
65e54ee |
+ OCTAVE_CXX11FLAGS=
|
|
Björn Esser |
65e54ee |
+ AX_COMPARE_VERSION([${octave_version}],[ge],[4.2.0],[
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([yes])
|
|
Björn Esser |
65e54ee |
+ AC_LANG_PUSH([C++])
|
|
Björn Esser |
65e54ee |
+ CXXFLAGS_SAVED=$CXXFLAGS
|
|
Björn Esser |
65e54ee |
+ CXXFLAGS=
|
|
Björn Esser |
65e54ee |
+ AX_CXX_COMPILE_STDCXX_11([noext], [nostop])
|
|
Björn Esser |
65e54ee |
+ CXXFLAGS=$CXXFLAGS_SAVED
|
|
Björn Esser |
65e54ee |
+ AC_LANG_POP([C++])
|
|
Björn Esser |
65e54ee |
+ AC_MSG_CHECKING([for C++11 enabled compiler])
|
|
Björn Esser |
65e54ee |
+ AS_IF([test "x${HAVE_CXX11_COMPILER}" = x],[
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([no, disabling Octave])
|
|
Björn Esser |
65e54ee |
+ OCTAVE=
|
|
Björn Esser |
65e54ee |
+ ],[
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([$HAVE_CXX11_COMPILER])
|
|
Björn Esser |
65e54ee |
+ OCTAVE_CXX11FLAGS="${CXX11FLAGS}"
|
|
Björn Esser |
65e54ee |
+ ])
|
|
Björn Esser |
65e54ee |
],[
|
|
Björn Esser |
65e54ee |
- AC_MSG_RESULT([not found, disabling Octave])
|
|
Björn Esser |
65e54ee |
+ AC_MSG_RESULT([no])
|
|
Björn Esser |
65e54ee |
+ ])
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+fi
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# Check for required Octave helper program "mkoctfile"
|
|
Björn Esser |
65e54ee |
+if test -n "$OCTAVE"; then
|
|
Björn Esser |
65e54ee |
+ AC_PATH_PROG(mkoctfile, [mkoctfile], [], [$(dirname $OCTAVE)])
|
|
Björn Esser |
65e54ee |
+ AS_IF([test "x${mkoctfile}" = x],[
|
|
Björn Esser |
65e54ee |
+ AC_MSG_NOTICE([mkoctfile not found, disabling Octave])
|
|
Björn Esser |
65e54ee |
OCTAVE=
|
|
Björn Esser |
65e54ee |
])
|
|
Björn Esser |
65e54ee |
fi
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
+# Check for Octave preprocessor/compiler/linker flags
|
|
Björn Esser |
65e54ee |
if test -n "$OCTAVE"; then
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
AC_MSG_CHECKING([for Octave preprocessor flags])
|
|
Björn Esser |
65e54ee |
OCTAVE_CPPFLAGS=
|
|
Björn Esser |
65e54ee |
for var in CPPFLAGS INCFLAGS ALL_CXXFLAGS; do
|
|
Björn Esser |
dfde9f6 |
@@ -1053,8 +1100,9 @@ if test -n "$OCTAVE"; then
|
|
Björn Esser |
65e54ee |
done
|
|
Björn Esser |
65e54ee |
done
|
|
Björn Esser |
65e54ee |
AC_MSG_RESULT([$OCTAVE_CPPFLAGS])
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
AC_MSG_CHECKING([for Octave compiler flags])
|
|
Björn Esser |
65e54ee |
- OCTAVE_CXXFLAGS=
|
|
Björn Esser |
65e54ee |
+ OCTAVE_CXXFLAGS="${OCTAVE_CXX11FLAGS}"
|
|
Björn Esser |
65e54ee |
for var in ALL_CXXFLAGS; do
|
|
Björn Esser |
65e54ee |
for flag in `env - ${mkoctfile} -p ${var}`; do
|
|
Björn Esser |
65e54ee |
case ${flag} in
|
|
Björn Esser |
dfde9f6 |
@@ -1066,28 +1114,20 @@ if test -n "$OCTAVE"; then
|
|
Björn Esser |
65e54ee |
save_CXXFLAGS="${CXXFLAGS}"
|
|
Björn Esser |
65e54ee |
CXXFLAGS="-Werror -O0"
|
|
Björn Esser |
65e54ee |
AC_COMPILE_IFELSE([
|
|
Björn Esser |
65e54ee |
- AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[])
|
|
Björn Esser |
65e54ee |
+ AC_LANG_PROGRAM([],[])
|
|
Björn Esser |
65e54ee |
],[
|
|
Björn Esser |
65e54ee |
OCTAVE_CXXFLAGS="${OCTAVE_CXXFLAGS} -O0"
|
|
Björn Esser |
65e54ee |
])
|
|
Björn Esser |
65e54ee |
CXXFLAGS="${save_CXXFLAGS}"
|
|
Björn Esser |
65e54ee |
AC_MSG_RESULT([$OCTAVE_CXXFLAGS])
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
AC_MSG_CHECKING([for Octave linker flags])
|
|
Björn Esser |
65e54ee |
OCTAVE_LDFLAGS=
|
|
Björn Esser |
65e54ee |
for var in RDYNAMIC_FLAG LFLAGS RLD_FLAG OCTAVE_LIBS LIBS; do
|
|
Björn Esser |
65e54ee |
OCTAVE_LDFLAGS="${OCTAVE_LDFLAGS} "`env - ${mkoctfile} -p ${var}`
|
|
Björn Esser |
65e54ee |
done
|
|
Björn Esser |
65e54ee |
AC_MSG_RESULT([$OCTAVE_LDFLAGS])
|
|
Björn Esser |
65e54ee |
- for octave_opt in --silent --norc --no-history --no-window-system; do
|
|
Björn Esser |
65e54ee |
- AC_MSG_CHECKING([if Octave option '${octave_opt}' is supported])
|
|
Björn Esser |
65e54ee |
- octave_out=`${OCTAVE} ${octave_opt} /dev/null 2>&1 | sed -n '1p' | sed -n '/unrecognized/p'`
|
|
Björn Esser |
65e54ee |
- AS_IF([test "x${octave_out}" = x],[
|
|
Björn Esser |
65e54ee |
- AC_MSG_RESULT([yes])
|
|
Björn Esser |
65e54ee |
- OCTAVE="${OCTAVE} ${octave_opt}"
|
|
Björn Esser |
65e54ee |
- ],[
|
|
Björn Esser |
65e54ee |
- AC_MSG_RESULT([no])
|
|
Björn Esser |
65e54ee |
- ])
|
|
Björn Esser |
65e54ee |
- done
|
|
Björn Esser |
65e54ee |
+
|
|
Björn Esser |
65e54ee |
fi
|
|
Björn Esser |
65e54ee |
|
|
Björn Esser |
65e54ee |
AC_SUBST(OCTAVE)
|
|
Björn Esser |
dfde9f6 |
Index: swig-3.0.11/Lib/perl5/std_wstring.i
|
|
Björn Esser |
dfde9f6 |
===================================================================
|
|
Björn Esser |
dfde9f6 |
--- /dev/null
|
|
Björn Esser |
dfde9f6 |
+++ swig-3.0.11/Lib/perl5/std_wstring.i
|
|
Björn Esser |
dfde9f6 |
@@ -0,0 +1 @@
|
|
Björn Esser |
dfde9f6 |
+%include <typemaps/std_string.swg>
|