Simplified Wrapper and Interface Generator

Welcome to SWIG

[ Japanese ]

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, Ruby, Guile and MzScheme, however the list of supported languages also includes non-scripting languages such as Java, OCAML and CHICKEN. SWIG is most commonly used to create high-level interpreted programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG may be freely used, distributed, and modified for commercial and noncommercial use.

News

2002/11/27 An article about SWIG appears in C Magazine (Japanese).

2002/11/27 Bernard Desgraupes has created a Macintosh version of SWIG-1.3.17. Download here.

2002/11/22 SWIG-1.3.17 has been released. This is mostly a bug-fix release for 1.3.16.

2002/10/14 SWIG-1.3.16 has been released. This is mostly a bug-fix release for 1.3.15.

2002/10/01 Mitchell Charity has created Inline::SWIG for Perl. Check it out.

2002/09/10 SWIG-1.3.15 has been released. This is mostly a bug-fix release for 1.3.14 that resolves a number of issues with template and namespace support. Improvements to exception handling and overloading are also included.

2002/08/12 SWIG-1.3.14 has been released. SWIG development continues to break new ground--this release features full support for overloaded methods and functions, C++ smart pointers, and more. It also includes new language modules for Ocaml and XML as well as a variety of enhancements to existing modules.

2002/07/19 Shibukawa Yoshiki is working on a Japanese translation of the SWIG documentation. Check out swig-jp.dyndns.org.

2002/06/17 SWIG-1.3.13 has been released. This is a more stable version of SWIG-1.3.12. If you downloaded SWIG-1.3.12, you should upgrade.

2002/06/02 Updated documentation for SWIG-1.3.12 is online.

2002/06/02 SWIG-1.3.12 has been released. This is the most capable SWIG release ever! New features include support for C++ namespaces, enhanced support for C++ templates, new library files, updated documentation, and a huge number of minor enhancements. See the download page for release notes and versions for Windows and Macintosh.

2002/04/03 Robert Tolbert has contributed PDF and postscript versions of the SWIG-1.3.11 documentation. Check it out.

2002/02/01 SWIG-1.3.11 has been released. This is a bug-fix release for SWIG-1.3.10. The release also includes substantial improvements to the Java and PHP modules. See the download page for release notes and versions for Windows and Macintosh.

2001/12/10 SWIG-1.3.10 has been released. This release features substantial changes to typemaps, exception handling, and SWIG's internals. New features also include support for C++ operator overloading and an experimental PHP module. Since this is an unstable release, first time users might want to consider using SWIG-1.3.9 or SWIG1.1p5 instead. See the download page for release notes and versions for Windows and Macintosh.

2001/12/10 The development documentation for SWIG1.3 has been extensively updated. Not yet finished, but includes coverage of most new SWIG features including the redesigned typemap system and improved exception handling.

2001/10/31 Announcing SwigWiki. Problems with SWIG? Look here for more information and to contribute.

2001/09/28 Development documentation for SWIG1.3 is now online. This is a work in progress, but many new SWIG features are described.

2001/09/23 SWIG-1.3.9 has been released. This is a bug-fix release for 1.3.7 (described below). See the download page for release notes and versions for Windows and Macintosh. Note: SWIG-1.3.8 had a major parsing problem that snuck in at the last moment--don't use that version.

2001/09/03 SWIG-1.3.7 has been released. This is one of the most substantial enhancements to SWIG ever released. Includes a more powerful parser, support for C++ templates, simplified wrapping of overloaded methods and more! This release also includes some updated documentation on the new features. See the download page for release notes and versions for Windows and Macintosh.

2001/08/30 A precompiled executable of SWIG-1.3.6 for Windows (swigwin-1.3.6) is now available.

2001/07/16 A Macintosh port of SWIG-1.3.6 (macswig-1.3.6) has been contributed by Luigi Ballabio.

2001/07/10 SWIG-1.3.6 has been released. This release includes substantial changes to the language modules and greatly improved support for Guile, Java, and Ruby. Please see the download page for further details.

2000/10/14 A Macintosh port of SWIG1.3a5 (macswig1.3a5) has been contributed by Luigi Ballabio.

2000/09/22 SWIG1.3a5 has been released. This release has too many changes to list here, but it fixes a lot of bugs in SWIG1.3a3 and SWIG1.3a4, includes new language modules for Ruby and Mzscheme, and has some new examples. Note: this is a somewhat unstable release and may not be suitable for first time users. Download SWIG1.1 instead.