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

Use 'perl runme.pl' 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

Windows:
--------
- Use the Visual C++ 6 workspace file (example.dsw). Build the runtime
  project DLL first followed by the other 4 DLLs as they all have a
  dependency on the runtime DLL. 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

