git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@306 626c5289-ae23-0410-ae9c-e8d60b6d4f22
145 lines
5.1 KiB
Text
145 lines
5.1 KiB
Text
SWIG (Simplified Wrapper and Interface Generator)
|
|
|
|
Version: 1.3 (alpha)
|
|
|
|
$Header$
|
|
|
|
Tagline: SWIG is a compiler that integrates C, C++, and Objective-C
|
|
with scripting languages including Perl, Python, Tcl, and Guile.
|
|
|
|
This distribution represents work in progress towards building a new
|
|
SWIG release. The guilty parties working on this are:
|
|
|
|
- Dave Beazley (beazley@cs.uchicago.edu) (SWIG core)
|
|
- Dustin Mitchell (djmitche@cs.uchicago.edu) (SWIG core)
|
|
- Ian Cooke (iancooke@cs.uchicago.edu) (SWIG core)
|
|
- Bryan King (bwking@midway.uchicago.edu) (SWIG core)
|
|
- Hasan Baran Kovuk (hbkovuk@midway.uchicago.edu) (SWIG core)
|
|
- Loic Dachary (loic@ceic.com) (Perl5)
|
|
- Harco de Hilster (Harco.de.Hilster@ATComputing.nl) (Java)
|
|
- Thien-Thi Nguyen (ttn@glug.org) (Guile)
|
|
|
|
***********************************************************************
|
|
***** IMPORTANT NOTICE -- READ THIS NOW! *****
|
|
***********************************************************************
|
|
|
|
If you downloaded SWIG as a prepackaged release such as SWIG1.3a2, be
|
|
advised that this distribution represents a snapshot of the most
|
|
stable part of the SWIG CVS repository. As this is an unstable
|
|
release, there is a pretty good chance that a number of features are
|
|
broken or under repair. Currently, SWIG is undergoing a large
|
|
redevelopment effort. The SWIG1.3 series of releases should be viewed
|
|
as a transitional releases leading to the eventual release of SWIG2.0.
|
|
First-time users may want to start with SWIG1.1p5 which is significantly
|
|
more stable (and includes a wider range of documentation and examples).
|
|
|
|
Please report any errors and submit patches (if possible)! We only
|
|
have access to a limited variety of hardware (Linux, Solaris, and
|
|
Windows) so your contributions help.
|
|
|
|
What's New?
|
|
===========
|
|
Here are the most notable changes (so far):
|
|
|
|
- SWIG now has a full C preprocessor.
|
|
|
|
- Code generation for the Tcl and Python modules has been
|
|
substantially improved both in terms of size and runtime
|
|
efficiency (Perl5 is coming along too).
|
|
|
|
- Java module is now included.
|
|
|
|
- A lot of minor bug fixes and cleanup.
|
|
|
|
Here are a few missing features
|
|
|
|
- The SWIG1.1 documentation system is gone and hasn't been
|
|
replaced yet. This is on the long-term to-do list.
|
|
|
|
- The Tcl7.x and Perl4 modules are deprecated and no longer
|
|
included.
|
|
|
|
- A wide variety of old SWIG command-line options and
|
|
obscure features are gone.
|
|
|
|
What's Broken?
|
|
==============
|
|
|
|
- The Guile module is undergoing a number of substantial
|
|
changes and may be inoperable in the SWIG1.3a2 release.
|
|
(3/1/00)
|
|
|
|
Installation
|
|
============
|
|
To build and install SWIG, simply type the following:
|
|
|
|
% ./configure
|
|
% make
|
|
% make install
|
|
|
|
In addition, if you need to build the runtime libraries, type
|
|
the following before doing the 'make install' step above.
|
|
|
|
% make runtime
|
|
|
|
If you don't know what the runtime libraries are, don't worry
|
|
about this step.
|
|
|
|
The Examples directory contains a few examples of using SWIG.
|
|
|
|
Notes:
|
|
|
|
(1) If you checked the code out via CVS, you will have to run autoconf
|
|
before typing 'configure.' In addition, a full build of SWIG requires
|
|
the use of bison.
|
|
|
|
(2) If you are using Windows, the easiest way to install and build
|
|
SWIG is to use the Cygwin package (http://sourceware.cygnus.com/cygwin/).
|
|
Note: Even if you build SWIG using Cygwin, the easier way to
|
|
actually use SWIG on Windows is to build your extensions using Visual C++.
|
|
The SWIG1.1p5 distribution also contains a number of examples configured
|
|
to work with Visual C++ (most of which should also work with SWIG1.3).
|
|
|
|
Documentation
|
|
=============
|
|
No documentation is currently included in this release. However, most
|
|
of the documentation for SWIG1.1 still applies. This can be obtained
|
|
on http://www.swig.org.
|
|
|
|
Participate!
|
|
============
|
|
We are looking for people who want to join the effort of getting this
|
|
next release off the ground. Please send me email for details.
|
|
|
|
-- Dave (beazley@cs.uchicago.edu)
|
|
|
|
|
|
Developer Information
|
|
=====================
|
|
The primary goal of future development is to make SWIG more modular,
|
|
extensible, and easier to maintain. To this end, the source code has
|
|
been consolidated and reorganized with the Source directory. Within
|
|
this directory, there are a number of different components:
|
|
|
|
SWIG1.1 - These two directories contain the C++ code
|
|
Modules1.1 corresponding to the SWIG1.1.x series of
|
|
releases. This code is still in use but is
|
|
slowly being deprecated.
|
|
|
|
*** Important note: ALL future SWIG development is taking place
|
|
in ANSI C. Please avoid C++ if at all possible. -- Dave ***
|
|
|
|
DOH - Object framework for the ANSI C core.
|
|
Swig - New SWIG core (ANSI C)
|
|
Preprocessor - SWIG preprocessor module
|
|
LParse - Alternative parser that is mostly compatible with 1.1.
|
|
|
|
Documentation for these components is weak or non-existent at this
|
|
time. However, this should only matter if you are actually hacking
|
|
on SWIG itself. Please bear with us.
|
|
|
|
|
|
|
|
|
|
|
|
|