swig/Examples/python/import_packages/same_modnames1
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
..
pkg1 Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
pkg2 Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
Makefile Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
README Fixed SF bug #1297 (Python imports) 2013-12-24 17:22:25 +00:00
runme.py Further fixes when using type() when using -builtin to include module name 2014-03-01 23:26:27 +00:00

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

There are two modules having same name but belonging to different packages.
This case is not correctly handled by swig 2.

The issue was reported as Source Forge bug #1297 and later as GitHub issue #7.

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

Overview:
---------

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

  pkg1/foo.i - Pkg1_Foo class.
  pkg2/foo.i - Pkg2_Foo class (derived from Pkg1_Foo).

The pkg2/foo.i module uses %import to refer to pkg1/foo.i.

If everything works well, the module pkg2.foo shall load properly.

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