| This example tests the %import directive and working with multiple modules. | |
| Use 'ruby runme.rb' 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 | |