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:
parent
a0485365aa
commit
74a6455693
3 changed files with 1589 additions and 42 deletions
25
NEW
25
NEW
|
|
@ -2,7 +2,7 @@ New Features and Important Changes, v1.3
|
||||||
|
|
||||||
Author(s) : David Beazley
|
Author(s) : David Beazley
|
||||||
|
|
||||||
January 31, 2002
|
June 2, 2002
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
---------------
|
---------------
|
||||||
|
|
@ -92,6 +92,11 @@ altered SWIG's old behavior.
|
||||||
where you would like to make the two arguments operate as a single
|
where you would like to make the two arguments operate as a single
|
||||||
object in the target language.
|
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
|
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:
|
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
|
Note: the function name may differ in certain implementations (read
|
||||||
the source). For example:
|
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
|
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
|
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:
|
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
|
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 *'
|
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
|
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.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
|
5. Language specific changes
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
|
|
||||||
47
README
47
README
|
|
@ -1,6 +1,6 @@
|
||||||
SWIG (Simplified Wrapper and Interface Generator)
|
SWIG (Simplified Wrapper and Interface Generator)
|
||||||
|
|
||||||
Version: 1.3.11 (February 1, 2002)
|
Version: 1.3.12 (June 2, 2002)
|
||||||
|
|
||||||
$Header$
|
$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
|
aiming to replace versions 1.1p5 and 1.1-883. The guilty parties
|
||||||
working on this are:
|
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)
|
William Fulton (wsf@fultondesigns.co.uk) (Java)
|
||||||
Matthias Köppe (mkoeppe@mail.math.uni-magdeburg.de) (Guile/MzScheme)
|
Matthias Köppe (mkoeppe@mail.math.uni-magdeburg.de) (Guile/MzScheme)
|
||||||
Loic Dachary (loic@ceic.com) (Perl5)
|
Loic Dachary (loic@ceic.com) (Perl5)
|
||||||
|
|
@ -27,6 +27,7 @@ working on this are:
|
||||||
Masaki Fukushima (fukusima@goto.info.waseda.ac.jp) (Ruby)
|
Masaki Fukushima (fukusima@goto.info.waseda.ac.jp) (Ruby)
|
||||||
Richard Palmer (richard@magicality.org) (PHP)
|
Richard Palmer (richard@magicality.org) (PHP)
|
||||||
Luigi Ballabio (ballabio@mac.com) (Macintosh port)
|
Luigi Ballabio (ballabio@mac.com) (Macintosh port)
|
||||||
|
Sam Liddicott (saml@liddicott.com) (PHP)
|
||||||
|
|
||||||
Past contributors include:
|
Past contributors include:
|
||||||
|
|
||||||
|
|
@ -56,9 +57,12 @@ What's New?
|
||||||
===========
|
===========
|
||||||
The most notable changes since SWIG1.1 include the following:
|
The most notable changes since SWIG1.1 include the following:
|
||||||
|
|
||||||
|
- Support for C++ namespaces
|
||||||
|
|
||||||
- Support for C++ overloaded operators.
|
- 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.
|
- 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.
|
- 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
|
- Code generation for the Tcl and Python modules has been
|
||||||
substantially improved both in terms of size and runtime
|
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,
|
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
|
but these changes are needed in order to fix a number of annoying
|
||||||
"features" in SWIG1.1. Hopefully the list of new features will
|
"features" in SWIG1.1. Hopefully the list of new features will
|
||||||
provide enough incentive for you to upgrade (and that the modifications
|
provide enough incentive for you to upgrade (and that the
|
||||||
to your interfaces will only be minor).
|
modifications to your interfaces will only be minor).
|
||||||
|
|
||||||
In addition, SWIG1.3 makes no attempt to be compatible with SWIG1.1 at
|
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
|
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
|
% ./configure
|
||||||
% make
|
% 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
|
% make install
|
||||||
|
|
||||||
By default SWIG installs itself in /usr/local. If you need to install SWIG in
|
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
|
% ./configure --prefix=/home/yourname/projects
|
||||||
% make
|
% make
|
||||||
|
% make runtime
|
||||||
% make -k check
|
% make -k check
|
||||||
% make install
|
% make install
|
||||||
|
|
||||||
|
|
@ -197,6 +204,18 @@ Notes:
|
||||||
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
|
||||||
|
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
|
Examples
|
||||||
========
|
========
|
||||||
The Examples directory contains a variety of examples of using SWIG
|
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
|
Documentation
|
||||||
=============
|
=============
|
||||||
The Doc/Manual directory contains the most recent set of updated
|
The Doc/Manual directory contains the most recent set of updated
|
||||||
documentation for this release. As this is an unstable development
|
documentation for this release. As this is a development release, the
|
||||||
release, the documentation is not entirely up to date and is being worked
|
documentation is not entirely up to date and is being worked on. We
|
||||||
on. We are working on it, but there is a lot of documentation and it
|
are working on it, but there is a lot of old documentation and it is going
|
||||||
is going to take time to complete. Please be patient.
|
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
|
!! The most up-to-date information concerning new features in SWIG1.3 is the
|
||||||
!! file Doc/Manual/SWIG.html.
|
!! file Doc/Manual/SWIG.html.
|
||||||
|
|
@ -257,11 +276,11 @@ Participate!
|
||||||
============
|
============
|
||||||
|
|
||||||
Please report any errors and submit patches (if possible)! We only
|
Please report any errors and submit patches (if possible)! We only
|
||||||
have access to a limited variety of hardware (Linux, Solaris, and
|
have access to a limited variety of hardware (Linux, Solaris, OS-X,
|
||||||
Windows). All contributions help.
|
and Windows). All contributions help.
|
||||||
|
|
||||||
If you would like to join the SWIG development team or contribute a
|
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
|
-- The SWIG Maintainers
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue