Examples README
January 4, 1998
-------------------------------------------------------------

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.   If you are using Visual C++, copy
the file 'Makefile.win.vc' to 'Makefile.vc'.   If using Borland C++,
copy the file 'Makefile.win.bc' to 'Makefile.win'.   Next, edit
this file to reflect the setup on your machine including the
location of various packages such as Tcl, Perl, and Python, and the
location of your C++ compiler.

Most of the examples have been tested with Microsoft Visual C++ 4.0.
A subset of the examples have been tested with Visual C++ 5.0 and
and even smaller set have been tested with Borland C++ 5.2.   Your
mileage may vary.

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 : January 4, 1998
------------------------------
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, Solaris 2.5, MkLinux DR2.1
      - gcc 2.7.2, cc (SGI), DCC (SGI), CC (Solaris)
      - Tcl 8.0/Tk8.0
      - Python 1.4 and 1.5
      - Perl 5.003, 5.004, 5.004_04.

Windows:
      - MS Visual C++ 4.0
      - MS Visual C++ 5.0
      - Borland C++ 5.2
      - Windows NT 4.0
      - Tcl 8.0/Tk8.0
      - Python 1.5
      - Activeware Perl for Win32 (Build 315)
      - Perl5.004_04

Known Bugs (1/4/98)
--------------------
-  Not all examples build under Windows NT due to Unix dependencies.
-  Examples/perl5/typemaps/file fails under NT for unknown reasons.
-  Examples/tcl/c++/list fails under NT and Visual C++ 5.0.
-  Examples/tcl/typemaps/argv fails under NT and Borland C++ 5.2.

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.1p4)
-----------------------
1. Added Perl examples to the GIFPlot and OpenGL directories.

2. Restructured the OpenGL example to be a little easier to build
   and use.

3. Added partial support for Borland C++ builds.


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"






