blob: 030a33bc540b03690f53d0c97fe72a58a5d0bd80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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
|