SWIG Compatibility

<p>
<img src="images/compat.png" alt="Compatibility">

<p>
SWIG is known to work on the following platforms :

<ul>
<li> Unix 

<blockquote>
SWIG is configured and built using an autoconf script so it is
relatively easy to install on almost any flavor of Unix.  However, most of
SWIG's development has taken place under Linux and Solaris.
While the configuration script tries to determine the proper settings
for your machine, some tweaking may be required to compile the
examples included in the distribution (especially if you are using a 
version of Unix such as AIX or HPUX).
</blockquote>

<li> Microsoft Windows

<blockquote>
SWIG works on 32 bit versions of Windows such as Windows 95/98/NT/2000/XP. 
However, given that SWIG is primarily developed under Unix, the Windows
version is not as thoroughly tested, but is used widely and successfully under Windows.
Currently the Windows version of SWIG 1.3 is compiled and tested under <a href="http://www.cygwin.com">Cygwin</a> and <a href="http://www.mingw.org">Mingw</a> using gcc, but should be compilable by any other Windows C++ compiler. SWIG 1.1 can be compiled with Visual C++ 4.x/5.x/6.x or with the Borland C++ 5.x
compiler.   However, SWIG 1.1 has only been officially tested using the
Visual C++ compiler.   You may also need to determine which compiler
has been used to compile the various scripting languages that you will
be using.   In general, using SWIG with a different C++ compiler than
the one that was used to compile the target scripting language may
not work (for example, trying to create a Tcl/Tk module using the
Borland compiler when Tcl/Tk has been compiled with Visual C++).  

</blockquote>

<li> Macintosh

<blockquote>
A highly experimental version of SWIG has been compiled using
Metrowerks Code Warrior 10.  Given the limited availability and
experience with the Macintosh, this version of SWIG should only
be used by exceptionally brave users. SWIG has not been fully tested with Python or
Perl on the Macintosh although some users have reported success.
<p>
<b>Note:</b>SWIG-1.3.12 does support OS-X/Darwin.  Simply download the Unix
sources, configure, and build from the command terminal.
</blockquote>
</ul>

<h3><a name="SupportedLanguages"></a> Supported Languages </h3>

The following scripting languages were supported in the final SWIG 1.1 release.

<ul>
<li> Tcl 8.0 and newer versions.
<li> Python 1.5 and newer.
<li> Perl 5.003 or newer.
<li> Guile 1.3.4 and newer.
</ul>

The following languages are also supported in SWIG 1.3.6 onwards.

<ul>
<li> Java JDK 1.1 and newer.
<li> Ruby.
<li> Mzscheme.
</ul>

PHP support was added in SWIG 1.3.11.<br>
Objective Caml (Ocaml) and Pike support was added in SWIG 1.3.14.<br>
Support for C# and the Chicken scheme compiler was added in SWIG 1.3.18.<br>
Support for Allegro CL and Modula-3 was added in SWIG-1.3.22.<br>
<p>

Any newer versions of these languages should be assumed to be
supported unless otherwise indicated.   

There is also <a href="http://www.ultravioletconsulting.com/projects/swigjs">SwigJS</a>, a JavaScript module for SWIG 
and <a href="http://efsa.sourceforge.net/archive/cozzi/swigeiffel.htm">SWIGEiffel</a> for Eiffel.

<h3> Compilation Requirements </h3>

SWIG is implemented in C and C++ and is distributed in source form.
You will need a working C++ compiler (e.g. g++) to build SWIG and at
least one of the supported scripting languages to use it (or else it
isn't going to be very useful).  SWIG does not depend upon any of the
supported scripting languages for its own compilation.  Finally,
although SWIG is partly written in C++, a C++ compiler is not required to use
SWIG--it works just fine with both ANSI C and C++.



