blob: dd645d22ab99126dcd0efa2774faf64fb2df1193 [file] [log] [blame]
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++.