Examples README
June 23, 1997
-------------------------------------------------------------

This directory contains a examples for all of the currently
supported target languages.   Examples are self-contained in
a subdirectory corresponding to the language you are using.
The OpenGL and GIFPlot directories contain more sophisticated
examples of SWIG that compile under multiple scripting languages.

How to run (Unix)
-----------------

Most of the examples rely on the file "Makefile.template" located in
the top level of the SWIG distribution.  You may have to edit this
file to get it to work (although some of it gets set automatically by
configure).  Assuming that it is set up correctly, you should be able
to simply type "make" in an appropriate directory.

How to run (Windows NT)
-----------------------

Most examples rely upon the file "Makefile.win" located in the top
level of the SWIG distribution.   You will have to edit this
file by hand to match your local machine setup.   The examples have
only been tested with Microsoft Visual C++ 4.0.   Other compilers
may work too with abit of work.

Notable Examples
----------------
The OpenGL and GIFPlot directories show how multiple scripting
languages can be used with the same package.  This examples are 
also significantly larger than the others.

The 'lang' subdirectory shows how you can write a new SWIG
language module.

The 'MATLAB' subdirectory contains an experimental SWIG module for
making MATLAB 5.0 native wrappers (ie. using SWIG to add C functions
directly to MATLAB).

Last Tested : June 22, 1997
---------------------------
All of the examples are tested before each release.   The primary test
platforms are Linux and Windows-NT.  Configuration for last test :

Unix:
      - Linux 2.0.28, Irix 6.2, MkLinux DR2.1
      - gcc 2.7.2, cc (SGI), DCC (SGI)
      - Tcl 8.0b1/Tk8.0b1 (and Tcl 7.6, Tk 4.2)
      - Python 1.3, 1.4, 1.5.
      - Perl 5.003, 5.004.

Windows:
      - MS Visual C++ 4.0
      - Windows NT 4.0
      - Tcl 8.0b1/Tk8.0b1
      - Python 1.4
      - Activeware Perl for Win32 (Build 306)
      - Perl5.004

Known Bugs (6/23/97)
--------------------
-  Not all examples build under Windows NT due to Unix dependencies.
-  Examples/perl5/typemaps/file fails under NT for unknown reasons.

Note 
----
Some SWIG examples, particularly those related to 3rd party packages
such as OpenGL may take some hacking to get compiled on your machine.
Hopefully the other examples will work, but you should plan on having
to do some minor tweaking of Makefiles here and there.

Changes (Version 1.1 Final)
---------------------------

1. Added 'lang' directory showing how to build a new SWIG language
   module.

2. Added 'MATLAB' directory.  This contains an experimental SWIG
   language module for making native MATLAB cmex wrappers with SWIG.

3. Examples added for showing how to use the SWIG runtime libraries.

Changes (Version 1.1 Beta 6)
-----------------------------
1.  More examples for typemaps and other new SWIG features.

2.  Added Windows-NT makefiles for almost all of the examples
    (still missing some here and there).

3.  Removed MATLAB example because it was horribly out of date.  Will
    reappear in a later release.

Changes (Version 1.1 Beta)
-------------------------

1.  More Perl5 examples---particularly related to shadow classes

2.  Perl and Python examples now have the option of being built
    as both dynamic and static extensions.

3.  A few more Python examples

4.  Minor cleanup here and there

5.  More examples will be provided with 1.1 final.


Changes (Version 1.0)
---------------------

1.  More examples (in Python and Perl5 in particular)
2.  Some more C++ examples.
3.  Fixed all of the makefiles to rely on a common makefile.
4.  Brought the examples up to SWIG 1.0 Final compatibility 
    (some still used obsolete features from 0.1alpha--yikes!).
4.  Minor cleanup and lots of little bug fixes.

Changes (since 1.0 Beta 3)
--------------------------
1. Added c++ directory
2. Added OpenGL directory
3. Added MATLAB example.
4. Changed examples to use "swig" command instead of "wrap"






