*** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@514 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
398e53b89e
commit
1cb4e811b6
9 changed files with 149 additions and 140 deletions
|
|
@ -5,6 +5,10 @@ SWIG Bug Tracking
|
|||
<p>A <a href="http://sourceforge.net/bugs/?group_id=1645">bug-tracking system</a> for SWIG
|
||||
is located on <a href="http://sourceforge.net">SourceForge</a>.
|
||||
|
||||
<p>
|
||||
Note: Bug tracking was moved to SourceForge on 7/2/2000. Please report administrative
|
||||
problems to <a href="mailto:beazley@cs.uchicago.edu">beazley@cs.uchicago.edu.</a>
|
||||
|
||||
<p>
|
||||
Please note that due to time constraints, bug reports may not
|
||||
receive an immediate response.
|
||||
|
|
|
|||
15
swigweb/copyfun.ht
Normal file
15
swigweb/copyfun.ht
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
Proposed SWIG Copyright
|
||||
|
||||
<p>
|
||||
<img src="images/copyright.png">
|
||||
|
||||
<p>
|
||||
<pre>
|
||||
Simplified Wrapper and Interface Generator (SWIG)
|
||||
|
||||
Copyright (C) 1995-2000
|
||||
The University of Chicago
|
||||
All Rights Reserved
|
||||
|
||||
Yeah, it's free. You got a problem with that?
|
||||
</pre>
|
||||
|
|
@ -2,39 +2,50 @@
|
|||
<title>$title</title>
|
||||
<body bgcolor="#ffffff" link="#0000ff" vlink="#8000ff">
|
||||
|
||||
<table width=760 border=0 cellpadding=0 cellspacing=0>
|
||||
<tr><td valign=top>
|
||||
<table width=200 valign=top>
|
||||
<tr>
|
||||
<td bgcolor="#000000">
|
||||
<table width=780 border=0 cellpadding=0 cellspacing=0>
|
||||
<tr>
|
||||
<td valign=top bgcolor="#000000">
|
||||
<table width=180 valign=top cellpadding=0 cellspacing=0>
|
||||
<tr>
|
||||
<td>
|
||||
$corner
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#e0e0e0" valign=top>
|
||||
$side
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<td valign=top><table width=560 valign=top>
|
||||
<tr>
|
||||
<td bgcolor="#e0e0e0" valign=center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td valign=top bgcolor="#e0e0e0">
|
||||
<table width=600 cellpadding=0 cellspacing=0>
|
||||
<tr>
|
||||
<td valign=center>
|
||||
$top
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
<td valign=top bgcolor="#e0e0e0">
|
||||
<table width=180 valign=top>
|
||||
<tr>
|
||||
<td>
|
||||
$side
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<table width=600 valign=top>
|
||||
<tr>
|
||||
<td>
|
||||
$body
|
||||
|
||||
$footer
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
<tr><td><a href="tutorial.html">Tutorial</a></td></tr>
|
||||
<tr><td><a href="cvs.html">The Bleeding Edge</a></td></tr>
|
||||
<tr><td><a href="history.html">History</a></td></tr>
|
||||
<tr><td><a href="propaganda.html">Propaganda</a></td></tr>
|
||||
<tr><td><a href="subversion.html">Subversion</a></td></tr>
|
||||
<tr><td><a href="guilty.html">Guilty Parties</a></td></tr>
|
||||
<tr><td><a href="copyright.html">Legal Department</a></td></tr>
|
||||
|
|
@ -19,8 +18,8 @@
|
|||
<tr><td><a href="http://www.ajubasolutions.com">Tcl/Tk</a></td></tr>
|
||||
<tr><td><a href="http://www.gnu.org/software/guile/guile.html">Guile</a></td></tr>
|
||||
|
||||
<tr><td><a href="http://sourceforge.net"><IMG src="http://sourceforge.net/images/sflogo2-steel.png" vspace="0" border=0></A></td></tr>
|
||||
|
||||
<tr><td bgcolor="#000000" align=center><font color="#ffffff"><b>Our Generous Host</b></font></td></tr>
|
||||
<tr><td align=center><a href="http://sourceforge.net"><IMG src="http://sourceforge.net/images/sflogo2-steel.png" vspace="0" border=0></A></td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
|
@ -30,4 +29,3 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,17 +3,6 @@ Executive Summary
|
|||
<p>
|
||||
<img src="images/exec.png" alt="Executive Summary">
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<em>
|
||||
"Don't keep doing what doesn't work" -- Anonymous
|
||||
<br>
|
||||
<p>
|
||||
"Keep it simple stupid" -- Anonymous
|
||||
<br>
|
||||
</em>
|
||||
</center>
|
||||
|
||||
<p>
|
||||
SWIG is an interface compiler that connects programs written in C,
|
||||
C++, and Objective-C with scripting languages including <a href="http://www.perl.org">Perl</a>,
|
||||
|
|
@ -23,20 +12,19 @@ files and using them to generate the glue code (wrappers) that scripting
|
|||
languages need to access the underlying C/C++ code.
|
||||
|
||||
<p>
|
||||
John Ousterhout has written an excellent
|
||||
John Ousterhout has written a
|
||||
<a href="http://www.scriptics.com/people/john.ousterhout/scripting.html">paper</a>
|
||||
that describes the
|
||||
benefits of scripting languages. SWIG makes it even easier to
|
||||
use scripting languages by automating the process of connecting scripting
|
||||
languages to C/C++ code.
|
||||
benefits of scripting languages. SWIG makes it fairly easy to connect scripting
|
||||
languages with C/C++ code.
|
||||
|
||||
<p>SWIG is used in a number of ways:
|
||||
<p>You might use SWIG in a number of ways:
|
||||
|
||||
<ul>
|
||||
<li><b>Building better C/C++ programs</b>. Using SWIG, you can easily replace the main()
|
||||
function of a C program with a scripting interpreter. This adds flexibility,
|
||||
simplifies development, and makes it easier to build extensible applications.
|
||||
When used with Tk, it also becomes possible to build simple graphical user interfaces.
|
||||
<li><b>Building more interesting C/C++ programs</b>. Using SWIG, you can replace the main()
|
||||
function of a C program with a scripting interpreter from which you can control your
|
||||
application. This adds quite a lot of flexibility and makes it easier to build
|
||||
extensible programs. When combined with Tk, you can also build graphical user interfaces.
|
||||
|
||||
<p>
|
||||
<li><b>Rapid prototyping and debugging</b>. SWIG allows C/C++ programs to be placed in
|
||||
|
|
@ -46,56 +34,44 @@ interpreter as an interactive debugger. Since SWIG requires no modifications t
|
|||
underlying C code, it can be used even if the final product does not rely upon scripting.
|
||||
|
||||
<p>
|
||||
<li><b>Systems integration</b>. Scripting languages excel at controlling and gluing
|
||||
<li><b>Systems integration</b>. Scripting languages work fairly well for controlling and gluing
|
||||
software components together. With SWIG, different C/C++ programs can be turned into
|
||||
scripting language extension modules. These modules can then be combined together
|
||||
to create new and interesting applications.
|
||||
</ul>
|
||||
|
||||
SWIG is sometimes compared to other scripting language extension building tools
|
||||
and compilers for interface definition languages (IDL) such as CORBA IDL.
|
||||
However, SWIG has a number of distinguishing features.
|
||||
SWIG is sometimes compared to interface definition language (IDL)
|
||||
compilers such as those you would find with systems such as CORBA and
|
||||
COM. Although there are a few similarities, the whole point of SWIG
|
||||
is to make it so you don't have to screw around with that stuff. If
|
||||
anything, it's much more of a rapid application development and
|
||||
prototyping tool. Specifically:
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><b>ANSI C/C++ syntax</b>. SWIG parses a form of ANSI C
|
||||
syntax that has been extended with a number of special directives.
|
||||
This makes it extremely easy to use since scripting interfaces
|
||||
can usually be built by grabbing a header file and tweaking
|
||||
it a little bit.
|
||||
As a result, interfaces are usually built by grabbing a header file
|
||||
and tweaking it a little bit.
|
||||
|
||||
<p>
|
||||
<li><b>Complete automation</b>. SWIG produces a fully functional
|
||||
scripting language module and is not a stub-generator. It is rarely necessary to modify the output of SWIG.
|
||||
|
||||
<p>
|
||||
<li><b>Multiple languages</b>. SWIG can produce extension modules
|
||||
for a variety of different scripting languages. Most scripting language
|
||||
extension building tools are specific to a single language.
|
||||
<li><b>SWIG is not a stub generator</b>. SWIG produces code that you
|
||||
simply compile and run. You don't have to fill in any stubs or write
|
||||
special code as you do with RPC-like systems.
|
||||
|
||||
<p>
|
||||
<li><b>Designed to work with existing C/C++ code</b>. SWIG requires little, if any, modifications
|
||||
to existing code. Nor is it necessary to create special wrappers or stubs.
|
||||
This allows existing applications to be easily migrated to a scripting interface.
|
||||
It also allows you to maintain a clean separation of the C/C++ implementation and its
|
||||
(often optional) scripting interface.
|
||||
to existing code. For the most part, it encourages you to keep a clean separation between
|
||||
C/C++ and its scripting interface.
|
||||
|
||||
<p>
|
||||
<li><b>Extensibility</b>. SWIG gives you the full power to shoot
|
||||
yourself in the foot. It can be extended and customized in any number
|
||||
of interesting ways. Since C/C++ applications vary widely, SWIG is
|
||||
designed to be adaptable to your application, not the other way around.
|
||||
<li><b>Extensibility</b>. SWIG provides a variety of customization options that
|
||||
allow you to blow your whole leg off. SWIG enforce any rules related to programming
|
||||
morality.
|
||||
</ul>
|
||||
|
||||
A number of <a href="doc.html">papers and tutorials</a> describing SWIG are available.
|
||||
You can also view a simple <a href="tutorial.html">tutorial</a> to see an
|
||||
example of SWIG in action.
|
||||
|
||||
<p>
|
||||
Find out <a href="projects.html">who</a> is using SWIG and what
|
||||
they <a href="propaganda.html">said</a> about it (from the March, 1998
|
||||
user survey).
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ Guilty Parties
|
|||
|
||||
<p><b>Aiding and Abetting</b>
|
||||
<ul>
|
||||
<li>Edward Zimmermann (for DNS)
|
||||
<li>David Ascher (quality control).
|
||||
<li>John Buckman (original port to NT).
|
||||
<li>Kevin Butler (further NT support).
|
||||
|
|
|
|||
|
|
@ -4,37 +4,40 @@ SWIG History
|
|||
<img src="images/history.png" alt="History">
|
||||
|
||||
<p>
|
||||
SWIG was originally developed in 1995 at
|
||||
Los Alamos National Laboratory. The first version was the extension
|
||||
building mechanism for a customized scripting language that was never
|
||||
released to the public (and which was later abandoned in favor of
|
||||
Python). In early 1996, development moved to the University of Utah
|
||||
where SWIG was rewritten in C++ and expanded to cover Tcl, Perl, and
|
||||
Guile. The first alpha release occurred in February, 1996. Python
|
||||
support was added somewhat later and version 1.0 was finalized in
|
||||
September 1996. Version 1.1 was released a year later in September,
|
||||
1997. Since then, a few minor updates to the 1.1 release have
|
||||
appeared (the latest occuring in February, 1998).
|
||||
Just the facts:
|
||||
|
||||
<ul>
|
||||
<li>July, 1995. SWIG developed in the Theoretical Physics Division at Los Alamos National
|
||||
Laboratory as an extension building tool for a lame customized scripting language
|
||||
that had been created for the Connection Machine 5.
|
||||
|
||||
<li>January, 1996. SWIG rewritten in C++ at the University of Utah and expanded to cover
|
||||
Tcl, Perl, and Guile.
|
||||
|
||||
<li>February, 1996. First alpha release.
|
||||
|
||||
<li>September, 1996. Version 1.0 released. Support for Python added.
|
||||
|
||||
<li>September, 1997. Version 1.1 released with a variety of improvements.
|
||||
|
||||
<li>February, 1998. SWIG1.1p5 released.
|
||||
|
||||
<li>1997-1999. Various attempts are made to create SWIG2.0 without much success.
|
||||
Mostly this is due to annoying distractions such as writing dissertations, searching for jobs, and
|
||||
so forth.
|
||||
<li>July, 1998. SWIG development moves to the University of Chicago.
|
||||
|
||||
<li>January 1, 2000. Dave survives his most pleasant Y2K flight to Chicago O'Hare.
|
||||
|
||||
<li>February, 2000. SWIG1.3 alpha released.
|
||||
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Since late 1997, SWIG development has largely languished since I had
|
||||
to deal with the most decidely unpleasant task of writing my
|
||||
dissertation, looking for employment, moving halfway across the
|
||||
country, and sorting out the chaos of being a new assistant professor.
|
||||
Although there have been a few attempts to produce SWIG2.0 in that
|
||||
time, none of these efforts have yet to be successful (although I'm
|
||||
not giving up on it just yet).
|
||||
|
||||
<p>
|
||||
Most recently, efforts have started to produce what will become
|
||||
SWIG1.3. This is an upgrade to SWIG1.1 that concentrates on the
|
||||
quality of wrapper code generation. In particular, SWIG1.3 includes a
|
||||
number of improvements that result in substantially less wrapper code
|
||||
than version 1.1. I'm hoping to have 1.3 released in beta by the end
|
||||
of 1999.
|
||||
|
||||
|
||||
<p>
|
||||
-- Dave Beazley, November 27, 1999.
|
||||
Currently SWIG is being rewritten in ANSI C and reorganized in an
|
||||
attempt to simplify the construction of language modules and to
|
||||
improve the quality of the code that is generated. As this is only a part-time project for
|
||||
just about everyone involved, this work will be completed when it is completed (i.e., don't
|
||||
hold your breath).
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,30 +3,34 @@ Simplified Wrapper and Interface Generator
|
|||
<img src="images/swig12.png" alt="Simplified Wrapper and Interface Generator">
|
||||
|
||||
<p>
|
||||
SWIG is a software development tool that connects programs written
|
||||
in C, C++, and Objective-C with a variety of high-level programming languages.
|
||||
SWIG is primarily used with common scripting languages such as
|
||||
Perl,
|
||||
Python,
|
||||
and Tcl/Tk,
|
||||
but has also been extended to include languages such
|
||||
as Java,
|
||||
Eiffel,
|
||||
and Guile.
|
||||
SWIG is most commonly used to create high-level
|
||||
interpreted programming environments, systems integration, and as a tool for building
|
||||
user interfaces. SWIG may be freely used, distributed, and modified for
|
||||
commercial or noncommercial use.
|
||||
SWIG is a software development tool that connects programs written in
|
||||
C, C++, and Objective-C with a variety of high-level programming
|
||||
languages. SWIG is primarily used with common scripting languages
|
||||
such as Perl, Python, and Tcl/Tk, but has also been extended to
|
||||
include languages such as Java, Eiffel, and Guile. SWIG is most
|
||||
commonly used to create high-level interpreted programming
|
||||
environments and as a tool for building user interfaces. SWIG may be
|
||||
freely used, distributed, and modified for commercial and
|
||||
noncommercial use.
|
||||
|
||||
<ul>
|
||||
<li> <a href="download.html">Download</a> the latest version.
|
||||
<li> <a href="doc.html">Documentation, papers, and presentations</a>
|
||||
<li> <a href="faq.html">Frequently asked (and sometimes answered) questions</a>
|
||||
<li> <a href="mail.html">Mailing List</a>
|
||||
<li> <a href="bugs.html">Bug tracking</a>
|
||||
<li> <a href="projects.html">Projects</a> using SWIG.
|
||||
</ul>
|
||||
|
||||
<h3>Important Notice</h3>
|
||||
|
||||
SWIG is currently in a state of redevelopment in which it is being
|
||||
completely restructured and purged of C++. This work can be found in the SWIG1.3 series of
|
||||
releases. If you are concerned about stability or are a first-time user, you may want to
|
||||
download some variant of SWIG1.1 instead. Caveat--SWIG1.1 may not be compatible with
|
||||
recent releases of certain scripting languages such as Perl 5.6 and Guile.
|
||||
|
||||
<p>
|
||||
SWIG is an all volunteer effort. We are always looking for fearless people with
|
||||
an abundance of spare time.
|
||||
|
||||
<p>
|
||||
<h3>News</h3>
|
||||
|
|
@ -36,24 +40,13 @@ commercial or noncommercial use.
|
|||
|
||||
<p>
|
||||
(6/18/00) <a href="http://download.sourceforge.net/swig/swig1.3a3.tar.gz">SWIG1.3a3</a> has been released. This fixes a number of bugs in 1.3a2 and
|
||||
includes more code cleanup.
|
||||
|
||||
<p>
|
||||
(3/1/00) SWIG1.3a2 has been released! Download now from <a
|
||||
href="http://download.sourceforge.net/swig/swig1.3a2.tar.gz">SourceForge</a>.
|
||||
Note: this is an unstable release and is not recommended for
|
||||
includes more code cleanup. Note: this is an unstable release and is not recommended for
|
||||
first-time users. Download <a
|
||||
href="http://download.sourceforge.net/swig/swig1.1p5.tar.gz">SWIG1.1p5</a> instead.
|
||||
|
||||
<p>
|
||||
(3/1/00) A short article about SWIG appears in the March, 2000 issue of The Linux Journal.
|
||||
href="http://download.sourceforge.net/swig/swig1.1-883.tar.gz">SWIG1.1</a> instead.
|
||||
|
||||
<p>
|
||||
(11/26/99) The <a href="http://islab.cs.uchicago.edu/python">Python Essential Reference</a> has been released. Please support the PSA by purchasing through the <a href="http://www.python.org/psa/bookstore">PSA bookstore</a>.
|
||||
|
||||
<p>
|
||||
(6/8/99) Perl users will almost certainly want to download the latest <a href="http://download.sourceforge.net/swig/swig1.1-883.tar.gz">maintenance release</a>. A number of changes in Perl's C API have made newer versions of Perl incompatible with older versions
|
||||
of Swig. The maintenance release should work with recent Perl5 development and ActiveState Perl for Win32 releases.
|
||||
<p>
|
||||
</blockquote>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,15 +2,23 @@ SWIG Subversion
|
|||
|
||||
<p><img src="images/subversion.png" alt="Subversion">
|
||||
|
||||
<p>
|
||||
Oh, stop being so serious...
|
||||
|
||||
<ul>
|
||||
<li>The newly-revised SWIG mission statement:
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<em>
|
||||
"We are building a wrapper generator of extraordinary magnitude."
|
||||
<br>
|
||||
</em>
|
||||
</center>
|
||||
|
||||
<p>
|
||||
<li>The ever-so-impressive SWIG <a href="screenshot.html">screenshot</a>.
|
||||
<li><a href="visual.html">Visual SWIG 2000++</a>--the version for funding agents and managers.
|
||||
<li>The greatly simplified <a href="copyfun.html">copyright</a>.
|
||||
</ul>
|
||||
|
||||
The SWIG site is <a href="http://burnallgifs.org">GIF Free</a>.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue