blob: da14bf04bd299cd5519bce28ff792b732022391b [file] [log] [blame]
Simplified Wrapper and Interface Generator
<h2>Welcome to SWIG</h2>
[ <a href="http://swig-jp.dyndns.org">Japanese</a> ]
<p>
SWIG is a software development tool that connects programs written in
C and C++ with a variety of high-level programming
languages. SWIG is used with different types of languages including common scripting languages such as
Perl, PHP, Python, Tcl, Ruby and PHP. The list of
<a href="compat.html#SupportedLanguages">supported languages</a> also includes
non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, UFFI), Java, Modula-3 and OCAML. Also several
interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken)
are supported. SWIG is most
commonly used to create high-level interpreted or compiled programming
environments, user interfaces, and as a tool for testing and prototyping C/C++
software. SWIG can also export its parse tree in the form of XML and
Lisp s-expressions. SWIG may be freely used, distributed, and modified for commercial
and non-commercial use.
<ul>
<li> <a href="survey.html">Download</a> the latest version.
<li> <a href="doc.html">Documentation, papers, and presentations</a>
<li> <a href="compare.html">Features</a>.
<li> <a href="mail.html">Mailing Lists</a>
<li> <a href="bugs.html">Bug tracking</a>
<li> <a href="http://www.dabeaz.com/cgi-bin/wiki.pl">SwigWiki!</a>
</ul>
<h3>News</h3>
<p>
<b>2005/06/11</b>
SWIG-1.3.25 has been released. This largely contains bug fixes and enhancements to the C# module and the runtime type system.
<p>
<b>2005/03/25</b>
Greg Stein gives a <a href=http://www.sauria.com/~twl/conferences/pycon2005/20050325/Python%20at%20Google.notes>keynote speech</a> about Google's use of Python and SWIG at the PyCon 2005 conference.
<p>
<b>2004/12/14</b>
SWIG-1.3.24 has been released. This is mainly a bug fix release.
<p>
<b>2004/11/11</b>
SWIG-1.3.23 has been released. This release contains additional C++ support in the areas of templates and
namespaces. Java and C# are added to the list of languages that can create wrappers taking advantage of
C++ default arguments. Many other minor bug fixes and enhancements are also included.
<p>
<b>2004/09/04</b>
SWIG-1.3.22 has been released. This release continues the ongoing improvements and bug fixes in SWIG.
The major areas of improvement are in exception handling, enums and the STL. New languages with this
release are Allegro CL and Modula-3. The documentation has been revamped and it is now
available in the following formats: single html page, multiple html pages and a pdf
document.
<p>
<b>2004/01/11</b>
SWIG-1.3.21 has been released. This is a minor bug fix release.
<p>
<b>2003/12/17</b>
SWIG-1.3.20 has been released. This release includes a large number of enhancements including
improved C++ support, directors, contracts, and more.
<p>
<b>2003/12/17</b>
An article by Phil Tomson about SWIG and Ruby appears in the January 2004 issue of <a href="http://www.cuj.com">C/C++ Users Journal.</a>
<p>
<b>2003/10/27</b>
The Code Generation Network undertakes an
<a href="http://www.codegeneration.net/tiki-read_article.php?articleId=33">interview</a> talking about SWIG.
<p>
<b>2003/03/28</b>
SWIG-1.3.19 has been
released. This release fixes a small number of critical bugs in 1.3.18.
<p>
<b>2003/03/23</b>
SWIG-1.3.18 has been
released. This release includes a number of new language modules (C# and Chicken), new features, an improved
build environment, and a lot of minor bug fixes.
<p>
<b>2002/11/27</b>
An article about SWIG appears in <a href="http://www.cmagazine.jp/contents/200212.html">C Magazine</a> (Japanese).
<p>
<b>2002/11/27</b>
Bernard Desgraupes has created a Macintosh version of SWIG-1.3.17. Download <a href="http://webperso.easyconnect.fr/bdesgraupes/Downloads/MacSwig_Carbon_1.3.17.hqx">here</a>.
<p>
<b>2002/11/22</b>
SWIG-1.3.17 has been
released. This is mostly a bug-fix release for 1.3.16.
<p>
<b>2002/10/14</b>
SWIG-1.3.16 has been
released. This is mostly a bug-fix release for 1.3.15.
<p>
<b>2002/10/01</b>
Mitchell Charity has created <a href="http://www.vendian.org/mncharity/dir3/inline/swig/">Inline::SWIG</a> for Perl. Check it out.
<p>
<b>2002/09/10</b>
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.
<p>
<b>2002/08/12</b>
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.
<p>
<b>2002/07/19</b>
Shibukawa Yoshiki is working on a Japanese translation of the SWIG documentation. Check out
<a href="http://swig-jp.dyndns.org/">swig-jp.dyndns.org</a>.
<p>
<b>2002/06/17</b>
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.
<p>
<b>2002/06/02</b>
<a href="Doc1.3/index.html">Updated documentation</a> for SWIG-1.3.12 is online.
<p>
<b>2002/06/02</b>
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 <a href="survey.html">download</a> page for release notes
and versions for Windows and Macintosh.
<p>
<b>2002/04/03</b> Robert Tolbert has contributed PDF and postscript versions of the SWIG-1.3.11 documentation. Check it out.
<p>
<b>2002/02/01</b> 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 <a href="survey.html">download</a> page for release notes and versions for Windows and Macintosh.
<p>
<b>2001/12/10</b> 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 <a href="survey.html">download</a> page for release notes and versions for Windows and Macintosh.
<P>
<b>2001/12/10</b> The <a href="Doc1.3">development documentation</a> for SWIG-1.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.
<p>
<b>2001/10/31</b> Announcing <a href="http://swig.cs.uchicago.edu/cgi-bin/wiki.pl">SwigWiki</a>.
Problems with SWIG? Look here for more information and to contribute.
<p>
<b>2001/09/28</b> <a href="Doc1.3">Development documentation</a> for SWIG-1.3 is now online. This is a work in progress, but many new SWIG features
are described.
<p>
<b>2001/09/23</b> SWIG-1.3.9 has been
released. This is a bug-fix release for 1.3.7 (described below).
See the <a href="survey.html">download</a> 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.
<p>
<b>2001/09/03</b> 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 <a href="survey.html">download</a> page for release notes and versions for Windows and Macintosh.
<p>
<b>2001/08/30</b> A precompiled executable of SWIG-1.3.6 for Windows (swigwin-1.3.6) is now available.
<p>
<b>2001/07/16</b> A Macintosh port of SWIG-1.3.6 (macswig-1.3.6)
has been contributed by Luigi Ballabio.
<p>
<b>2001/07/10</b> 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 <a href="survey.html">download</a> page for further details.
<p>
<b>2000/10/14</b> A Macintosh port of SWIG1.3a5 (macswig1.3a5) has been contributed by Luigi Ballabio.
<p>
<b>2000/09/22</b> 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 SWIG-1.1 instead.