swig/Examples
Karl Wette e24ec40895 Octave: add support for version 4.2
- .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
2017-01-22 11:53:12 +13:00
..
android Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
chicken Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
contract Remove bogus ; after } in examples 2014-11-07 15:34:43 +13:00
csharp Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
d Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
go Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
guile Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
java Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
javascript Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
lua Fix examples for lua 5.3 2016-05-01 11:52:02 +01:00
modula3 More remove SWIG_LIB variable 2015-08-21 22:48:34 +01:00
mzscheme More remove SWIG_LIB variable 2015-08-21 22:48:34 +01:00
ocaml Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
octave Octave: do not dump Octave core in examples/test suite scripts 2017-01-01 19:06:51 +13:00
perl5 Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
php Remove 'static' targets from PHP examples 2016-11-30 12:15:42 +13:00
php5 Fix PHP5 examples to use php5 make targets 2016-12-01 11:52:25 +13:00
pike Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
python Fix some typos in docs and examples and make the code look nicer. 2016-12-31 23:06:56 +08:00
r Revert "Merge pull request #853 from ivannp/underscores" 2016-12-22 19:47:54 +00:00
ruby Ruby mark_function example and docs fixes 2015-09-05 15:30:50 +01:00
s-exp Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
scilab Revert "scilab: runtime initialization needed in examples" 2016-03-18 08:56:23 +00:00
tcl Remove use of preinst-swig script 2015-08-21 22:43:17 +01:00
test-suite Octave: add support for version 4.2 2017-01-22 11:53:12 +13:00
xml More remove SWIG_LIB variable 2015-08-21 22:48:34 +01:00
index.html
Makefile.in [PHP7] Send errors to stderr so they escape RUNPIPE 2016-12-06 08:35:22 +13:00
README

SWIG Examples

The subdirectories of "Examples" named after SWIG's language backends
contain a number of simple examples that are primarily used for testing.

The file 'index.html' is the top of a hyperlinked document that
contains information about all of the examples along with various
notes related to each example.

Note: All of the examples rely upon the Makefile in this directory.
You may need to edit it to reflect the configuration of your machine
in case the configure script guesses incorrect settings.


*** Special note concerning C++ ***

The configure script is currently unable to handle all of the possible
options for producing dynamically loadable C++ extensions.  Here are
the rules of thumb for making C++ work:

 -  Try using the C++ as the linker for the shared library.  For example:

         g++ -shared $(OBJS) -o module.so

 -  If that doesn't work, you may need to explicitly link against some
    kind of C++ runtime library.  For example:

         ld -G $(OBJS) -L/opt/SUNWspro/lib -lCrun -o module.so

    This can be set by modifying the setting of CPP_DLLIBS in the
    Makefile.


*** Special note for SWIG Maintainers ***

When you add an example, consider arranging for the example to be also
useful as part of the SWIG testing framework.  To do this, include in
the example makefile a target "check" ("check: all" is sufficient for a
first pass), and add an invocation to ../Makefile.in under target
"check-examples" (or whatever is appropriate).  Later, we can add or
expand the actions under target "check" to do more in-depth testing.