swig/Examples/ruby/import
2004-07-10 16:37:37 +00:00
..
.cvsignore VC++ pollution 2003-02-25 22:11:44 +00:00
bar.dsp New -noruntime commandline option 2003-11-25 21:08:16 +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 New -noruntime commandline option 2003-11-25 21:08:16 +00:00
base.h The great merge 2002-11-30 22:01:28 +00:00
base.i The great merge 2002-11-30 22:01:28 +00:00
example.dsw Visual C++ project files for building native Windows runtime libraries 2003-05-08 15:19:10 +00:00
foo.dsp New -noruntime commandline option 2003-11-25 21:08:16 +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 import and import_template examples that used the prebuilt runtime library generate their own runtime library DLL/so and use that instead now 2004-07-10 16:37:37 +00:00
README import and import_template examples that used the prebuilt runtime library generate their own runtime library DLL/so and use that instead now 2004-07-10 16:37:37 +00:00
runme.rb The great merge 2002-11-30 22:01:28 +00:00
runtime.i import and import_template examples that used the prebuilt runtime library generate their own runtime library DLL/so and use that instead now 2004-07-10 16:37:37 +00:00
spam.dsp New -noruntime commandline option 2003-11-25 21:08:16 +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 '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 used %import to refer to another module.  For
example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).

The runtime.i file is an empty SWIG module which will generate
the runtime library code for sharing amongst the other modules 
(uses -runtime commandline option). 

If everything is okay, all of the modules will load correctly and
type checking will work correctly.

Unix:
-----
- Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
  libruntime.so can be loaded.
- Run the test as described above

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