diff --git a/README b/README index dfaad4368..7c3bd8ae4 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ SWIG (Simplified Wrapper and Interface Generator) -Version: 1.3.20 (November 14, 2003) +Version: 1.3.20 (December 8, 2003) $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 language. -This distribution represents the latest development release of SWIG, -aiming to replace versions 1.1p5 and 1.1-883. The guilty parties -working on this are: +This distribution represents the latest development release of SWIG. +The guilty parties working on this are: Active Developers: 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? =========== -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++ smart pointers. - - Support for C++ namespaces - - Support for C++ overloaded operators. - - - Support for C++ templates including member templates, - specialization, and partial specialization. - + - Support for C++ templates including member templates. + - Support for C++ template specialization and partial specialization. - Parsing support for almost all C/C++ datatypes. - - - A full C preprocessor with macro expansion. - Includes C99 variadic macro support. - + - Automatic translation of C++ exception specifiers. + - Contract support. + - A full C preprocessor with macro expansion. Includes C99 variadic macros. - Java, Ruby, MzScheme, PHP4, OCAML, Pike, CHICKEN, XML and C# modules added. Guile module improved. - - Director support - upcalls for C++ virtual functions into the target language proxy class. - - Better code generation. SWIG is better able to make optimizations in order to generate less code. - - Testing framework part of the distribution ("make -k check" support). - - A lot of minor bug fixes and cleanup. - - Better Windows support. 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 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 ======= 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 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 does not support member templates). These errors are harmless if you 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 might take more than an hour to run the test-suite.