SWIG image
Home Development Mailing Lists Bugs and Patches
Information
What is SWIG?
Compatibility
Features
Tutorial
Documentation
News
The Bleeding Edge
History
Guilty Parties
Projects
Legal Department
Links
Download
SwigWiki
Donate
Affiliations
Software Freedom Conservancy logo
Our Generous Host
Get SWIG at SourceForge.net. Fast, secure and Free Open Source software downloads
Exits
AllegroCL
C# - Mono
C# - MS .NET
CFFI
CHICKEN
CLISP
D
Go language
Guile
Java
Javascript - Node.js
Javascript - V8
Javascript - WebKit
Lua
MzScheme/Racket
Ocaml
Octave
Perl
PHP
Python
R
Ruby
Tcl/Tk

Compatibility

SWIG is known to work on the following platforms :

  • Unix
    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).
  • Microsoft Windows
    SWIG works on 32 bit versions of Windows such as Windows 95/98/NT/2000/XP/Vista. Currently the Windows version of SWIG 1.3 is compiled and tested under Visual Studio compilers, Cygwin and Mingw 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++).
  • Macintosh
    swig-1.3.12 and later support OS-X/Darwin. Simply download the Unix sources, configure, and build from the command terminal.

Supported Languages

The following scripting languages were supported in the final SWIG 1.1 release.
  • Tcl 8.0 and newer versions.
  • Python 1.5 and newer.
  • Perl 5.003 or newer.
  • Guile 1.3.4 and newer.
The following languages are also supported in swig-1.3.6 onwards.
  • Java JDK 1.1 and newer.
  • Ruby.
  • Mzscheme.
PHP support was added in swig-1.3.11.
Objective Caml (Ocaml) and Pike support was added in swig-1.3.14.
Support for C# and the Chicken scheme compiler was added in swig-1.3.18.
Support for Allegro CL and Modula-3 was added in swig-1.3.22.
Support for Lua, CLISP and Common Lisp with UFFI was added in swig-1.3.26.
Support for Common Lisp with CFFI was added in swig-1.3.28.
Support for R was added in swig-1.3.30.
Support for Octave was added in swig-1.3.35.
Support for the Go language was added in swig-2.0.1.
Support for D was added in swig-2.0.2.
Support for Javascript was added in swig-3.0.1.

Any newer versions of these languages should be assumed to be supported unless otherwise indicated. There is also a SWIG Eiffel module - SWIGEiffel.

Compilation Requirements

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 ISO C and C++.
Feedback and questions concerning this site should be posted to the swig-devel mailing list.

Last modified : Wed May 28 00:27:18 2014