*** 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:
Dave Beazley 2000-07-05 03:49:25 +00:00
commit 1cb4e811b6
9 changed files with 149 additions and 140 deletions

View file

@ -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
View 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>

View file

@ -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>

View file

@ -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 @@

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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>

View file

@ -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>.