swig/Examples/python/import_template
Karl Wette f574a34155 Allow examples and test-suite to be built out of source tree
- Examples/Makefile.in rules use SRCDIR as the relative source directory

- ./config.status replicates Examples/ source directory tree in build
  directory, and copies each Makefile to build directory, prefixed with
  a header which sets SRCDIR to source directory

- Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir

- Examples/test-suite/errors/Makefile.in needs to filter out source
  directory from SWIG error messages

- Lua: embedded interpreters are passed location of run-time test

- Python: copy run-time scripts to build directory because of 2to3
  conversion; import_packages example copies __init__.py from source
  directory; test-suite sets SCRIPTDIR to location of run-time tests

- Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir
  can be substituted with SRCDIR; removed './' from require() statements
  so that NODE_PATH can be used to point Node.js to build directory
2014-05-11 23:21:10 +02:00
..
bar.h The great merge 2002-11-30 22:01:28 +00:00
bar.i The great merge 2002-11-30 22:01:28 +00:00
base.h fix warnings with virtual destructor 2004-09-01 08:43:17 +00:00
base.i The great merge 2002-11-30 22:01:28 +00:00
foo.h The great merge 2002-11-30 22:01:28 +00:00
foo.i The great merge 2002-11-30 22:01:28 +00:00
Makefile Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
README Update for new runtime library approach (no more -runtime -noruntime) 2004-10-27 20:59:55 +00:00
runme.py The great merge 2002-11-30 22:01:28 +00:00
spam.h The great merge 2002-11-30 22:01:28 +00:00
spam.i The great merge 2002-11-30 22:01:28 +00:00

This example tests the %import directive and working with multiple modules.

Use 'python runme.py' to run a test.

Overview:
---------

The example defines 4 different extension modules--each wrapping
a separate C++ class.

     base.i     -  Base class
     foo.i      -  Foo class derived from Base
     bar.i      -  Bar class derived from Base
     spam.i     -  Spam class derived from Bar

Each module uses %import to refer to another module.  For
example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class.

If everything is okay, all of the modules will load properly and
type checking will work correctly. Caveat: Some compilers, for example
gcc-3.2.x, generate broken vtables with the inline methods in this test.
This is not a SWIG problem and can usually be solved with non-inlined
destructors compiled into separate shared objects/DLLs.

Unix:
-----
- Run make
- Run the test as described above