swig/Examples/tcl/import
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.dsp Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00: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.dsp Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
base.h Fix virtual destructor 2008-06-21 22:26:35 +00:00
base.i The great merge 2002-11-30 22:01:28 +00:00
example.dsw eol-style set to CRLF 2007-10-18 21:19:24 +00:00
foo.dsp Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +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.tcl Correct some comments 2006-07-04 20:48:08 +00:00
spam.dsp Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +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 'tclsh runme.tcl' 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 used %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

Windows:
--------
- Use the Visual C++ 6 workspace file (example.dsw). The Batch build option
  in the Build menu is usually the easiest way to do this. Only use the Release
  builds not the Debug builds.
- Run the test as described above