*** empty log message ***

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5468 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2003-12-03 05:12:51 +00:00
commit c90ffb71e5

49
README
View file

@ -1,6 +1,6 @@
SWIG (Simplified Wrapper and Interface Generator) SWIG (Simplified Wrapper and Interface Generator)
Version: 1.3.20 (November 14, 2003) Version: 1.3.20 (December 8, 2003)
$Header$ $Header$
@ -13,9 +13,8 @@ code) in order to make the corresponding C/C++ libraries available to
the listed languages, or to extend C/C++ programs with a scripting the listed languages, or to extend C/C++ programs with a scripting
language. language.
This distribution represents the latest development release of SWIG, This distribution represents the latest development release of SWIG.
aiming to replace versions 1.1p5 and 1.1-883. The guilty parties The guilty parties working on this are:
working on this are:
Active Developers: Active Developers:
Dave Beazley (beazley@signal6.com) (SWIG core, Python, Tcl, Perl) Dave Beazley (beazley@signal6.com) (SWIG core, Python, Tcl, Perl)
@ -69,37 +68,28 @@ Information about SWIG is also available in Japanese translation at
What's New? What's New?
=========== ===========
The most notable changes since SWIG1.1 include the following:
SWIG-1.3.x offers a huge number of improvements over older SWIG-1.1 releases.
These improvements include:
- Support for C++ overloaded functions and methods. - Support for C++ overloaded functions and methods.
- Support for C++ smart pointers. - Support for C++ smart pointers.
- Support for C++ namespaces - Support for C++ namespaces
- Support for C++ overloaded operators. - Support for C++ overloaded operators.
- Support for C++ templates including member templates.
- Support for C++ templates including member templates, - Support for C++ template specialization and partial specialization.
specialization, and partial specialization.
- Parsing support for almost all C/C++ datatypes. - Parsing support for almost all C/C++ datatypes.
- Automatic translation of C++ exception specifiers.
- A full C preprocessor with macro expansion. - Contract support.
Includes C99 variadic macro support. - A full C preprocessor with macro expansion. Includes C99 variadic macros.
- Java, Ruby, MzScheme, PHP4, OCAML, Pike, CHICKEN, XML and C# modules - Java, Ruby, MzScheme, PHP4, OCAML, Pike, CHICKEN, XML and C# modules
added. Guile module improved. added. Guile module improved.
- Director support - upcalls for C++ virtual functions into the target - Director support - upcalls for C++ virtual functions into the target
language proxy class. language proxy class.
- Better code generation. SWIG is better able to make optimizations - Better code generation. SWIG is better able to make optimizations
in order to generate less code. in order to generate less code.
- Testing framework part of the distribution ("make -k check" support). - Testing framework part of the distribution ("make -k check" support).
- A lot of minor bug fixes and cleanup. - A lot of minor bug fixes and cleanup.
- Better Windows support. - Better Windows support.
If you used SWIG-1.1, a number of old features are missing from SWIG-1.3. If you used SWIG-1.1, a number of old features are missing from SWIG-1.3.
@ -193,6 +183,19 @@ on OS X. We've tried to resolve these differences to the extent of our knowled
This release was most recently checked with the Panther release of OS X on a This release was most recently checked with the Panther release of OS X on a
Macintosh G5 system. Your mileage may vary. Macintosh G5 system. Your mileage may vary.
Users of OS X should be aware that Darwin handles shared libraries and linking in
a radically different way than most Unix systems. In order to test SWIG and run
the examples, SWIG configures itself to use flat namespaces and to allow undefined
symbols (-flat_namespace -undefined suppress). This mostly closely follows the Unix
model and makes it more likely that the SWIG examples will work with whatever
installation of software you might have. However, this is generally not the recommended
technique for building larger extension modules. Instead, you should utilize
Darwin's two-level namespaces. Some details about this can be found here
http://developer.apple.com/documentation/ReleaseNotes/DeveloperTools/TwoLevelNamespaces.html
Needless to say, you might have to experiment a bit to get things working at first.
Testing Testing
======= =======
If you want to test SWIG before installation, type the following: If you want to test SWIG before installation, type the following:
@ -214,12 +217,12 @@ alarm---the test may be related to some new SWIG feature or a difficult bug
that we're trying to resolve. Chances are that SWIG will work just fine that we're trying to resolve. Chances are that SWIG will work just fine
for you. for you.
Note: SWIG's support for C++ is sufficiently advanced that certain Also, SWIG's support for C++ is sufficiently advanced that certain
tests may fail on older C++ compilers (for instance if your compiler tests may fail on older C++ compilers (for instance if your compiler
does not support member templates). These errors are harmless if you does not support member templates). These errors are harmless if you
don't intend to use these features in your own programs. don't intend to use these features in your own programs.
Note: The test-suite currently contains more than 170 tests. If you Note: The test-suite currently contains around 250 tests. If you
have many different target languages installed and a slow machine, it have many different target languages installed and a slow machine, it
might take more than an hour to run the test-suite. might take more than an hour to run the test-suite.