web-page updates

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@2888 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2002-06-02 21:00:22 +00:00
commit 74a6455693
3 changed files with 1589 additions and 42 deletions

1559
CHANGES

File diff suppressed because it is too large Load diff

25
NEW
View file

@ -2,7 +2,7 @@ New Features and Important Changes, v1.3
Author(s) : David Beazley
January 31, 2002
June 2, 2002
1. Introduction
---------------
@ -92,6 +92,11 @@ altered SWIG's old behavior.
where you would like to make the two arguments operate as a single
object in the target language.
2.9 Types such as 'const int &', 'const double &', are passed as
values instead of pointers.
2.10 C++ namespaces are now supported.
3. Type checking
----------------
@ -117,26 +122,28 @@ typemaps to handle pointers, here are the essential details:
3.3 Instead of SWIG_GetPtr, a function of the following form is used:
int SWIG_ConvertPtr(ScriptObj *o, void **ptr, swig_type_info *ty);
int SWIG_ConvertPtr(ScriptObj *o, void **ptr, swig_type_info *ty, int flags);
Note: the function name may differ in certain implementations (read
the source). For example:
int SWIG_ConvertPtr(ScriptObj *o, void **ptr, SWIGTYPE_p_p_int);
int SWIG_ConvertPtr(ScriptObj *o, void **ptr, SWIGTYPE_p_p_int,0);
Passing a value of '0' for the type will accept any pointer. This
works kind of like 'void *'.
works kind of like 'void *'. The flags argument is reserved for
future expansion.
3.4. To create a pointer object, one uses a function similar to
ScriptObj *SWIG_NewPointer(void *ptr, swig_type_info *ty);
ScriptObj *SWIG_NewPointer(void *ptr, swig_type_info *ty, int flags);
It works in a similar manner:
p = SWIG_NewPointer(ptr, SWIGTYPE_p_p_int);
p = SWIG_NewPointer(ptr, SWIGTYPE_p_p_int, 0);
You will have to read the source to get the exact function name
used.
used. The flags argument is implementation specific and reserved
for future expansion.
3.5. If, for whatever reason, you need to obtain the 'swig_type_info *'
outside the context of a wrapper file, you can use the
@ -191,6 +198,10 @@ and it is simpler to implement than the old string based approach.
4.6 %except and %new are deprecated.
4.7 %readonly and %readwrite are deprecated. Use %immutable instead.
4.8 The %addmethods directive has been renamed to %extend.
5. Language specific changes
----------------------------

47
README
View file

@ -1,6 +1,6 @@
SWIG (Simplified Wrapper and Interface Generator)
Version: 1.3.11 (February 1, 2002)
Version: 1.3.12 (June 2, 2002)
$Header$
@ -17,7 +17,7 @@ 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:
Dave Beazley (beazley@cs.uchicago.edu) (SWIG core)
Dave Beazley (beazley@cs.uchicago.edu) (SWIG core, Python, Tcl, Perl)
William Fulton (wsf@fultondesigns.co.uk) (Java)
Matthias Köppe (mkoeppe@mail.math.uni-magdeburg.de) (Guile/MzScheme)
Loic Dachary (loic@ceic.com) (Perl5)
@ -27,6 +27,7 @@ working on this are:
Masaki Fukushima (fukusima@goto.info.waseda.ac.jp) (Ruby)
Richard Palmer (richard@magicality.org) (PHP)
Luigi Ballabio (ballabio@mac.com) (Macintosh port)
Sam Liddicott (saml@liddicott.com) (PHP)
Past contributors include:
@ -56,9 +57,12 @@ What's New?
===========
The most notable changes since SWIG1.1 include the following:
- Support for C++ namespaces
- Support for C++ overloaded operators.
- Support for C++ templates.
- Support for C++ templates including member templates,
specialization, and partial specialization.
- Improved support for overloaded functions/methods.
@ -69,7 +73,8 @@ The most notable changes since SWIG1.1 include the following:
- Improved support for pointers to functions and callbacks.
- SWIG now has a full C preprocessor.
- SWIG now has a full C preprocessor with macro expansion.
Includes C99 variadic macro support.
- Code generation for the Tcl and Python modules has been
substantially improved both in terms of size and runtime
@ -123,8 +128,8 @@ if you are making extensive use of advanced SWIG features, interfaces
written for SWIG1.1 may not work. We apologize for the inconvenience,
but these changes are needed in order to fix a number of annoying
"features" in SWIG1.1. Hopefully the list of new features will
provide enough incentive for you to upgrade (and that the modifications
to your interfaces will only be minor).
provide enough incentive for you to upgrade (and that the
modifications to your interfaces will only be minor).
In addition, SWIG1.3 makes no attempt to be compatible with SWIG1.1 at
the C++ API level so language modules written for SWIG1.1 will most
@ -148,7 +153,8 @@ To build and install SWIG, simply type the following:
% ./configure
% make
% make -k check # this step is optional (see note below)
% make runtime # Optional (See note 4 below)
% make -k check # This step is optional (see note 3 below)
% make install
By default SWIG installs itself in /usr/local. If you need to install SWIG in
@ -157,6 +163,7 @@ to ./configure. For example:
% ./configure --prefix=/home/yourname/projects
% make
% make runtime
% make -k check
% make install
@ -197,6 +204,18 @@ Notes:
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
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.
(4) The 'make runtime' target builds the SWIG runtime libraries. These
are needed if you plan to build applications that might involve more
than one SWIG generated module. This step requires that shared libraries
be properly configured on your machine and it may not work on all
platforms. If this step fails, SWIG will still work, but multi-module
support will be broken. Please let us know if this fails on your platform.
Examples
========
The Examples directory contains a variety of examples of using SWIG
@ -241,10 +260,10 @@ http://swig.cs.uchicago.edu/cgi-bin/wiki.pl.
Documentation
=============
The Doc/Manual directory contains the most recent set of updated
documentation for this release. As this is an unstable development
release, the documentation is not entirely up to date and is being worked
on. We are working on it, but there is a lot of documentation and it
is going to take time to complete. Please be patient.
documentation for this release. As this is a development release, the
documentation is not entirely up to date and is being worked on. We
are working on it, but there is a lot of old documentation and it is going
to take time to complete. Please be patient or volunteer to help.
!! The most up-to-date information concerning new features in SWIG1.3 is the
!! file Doc/Manual/SWIG.html.
@ -257,11 +276,11 @@ Participate!
============
Please report any errors and submit patches (if possible)! We only
have access to a limited variety of hardware (Linux, Solaris, and
Windows). All contributions help.
have access to a limited variety of hardware (Linux, Solaris, OS-X,
and Windows). All contributions help.
If you would like to join the SWIG development team or contribute a
language module to the distribution, please contact beazley@cs.uchicago.edu.
language module to the distribution, please contact swig-dev@cs.uchicago.edu.
-- The SWIG Maintainers