New entry.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@258 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
647534bdd5
commit
bb54324f24
1 changed files with 144 additions and 137 deletions
281
CHANGES
281
CHANGES
|
|
@ -1,9 +1,16 @@
|
|||
SWIG (Simplified Wrapper and Interface Generator)
|
||||
|
||||
2/24/00 : ttn
|
||||
Incorporate Guile support contributed by Clark McGrew.
|
||||
This works with Guile 1.3, but since it depends heavily
|
||||
on the gh_ interface, it should work for all later versions.
|
||||
It has not been tested with versions before 1.3.
|
||||
WARNING: Code is unstable due to experimentation by ttn.
|
||||
|
||||
Version 1.3 Alpha 1 (February 11, 2000)
|
||||
=======================================
|
||||
|
||||
2/11/00 : Added 'void' to prototype of Python module initializer.
|
||||
2/11/00 : Added 'void' to prototype of Python module initializer.
|
||||
Reported by Mark Howson (1/20/00).
|
||||
|
||||
2/11/00 : beazley
|
||||
|
|
@ -49,14 +56,14 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
return val
|
||||
|
||||
becomes
|
||||
|
||||
|
||||
def method1(self, *_args):
|
||||
val = apply(test2c.PyClass1_method1, (self,) + _args)
|
||||
return val
|
||||
|
||||
2. Incorporate self into the _args tuple. This saves at least one tuple
|
||||
allocation per method call.
|
||||
|
||||
|
||||
def method1(self, *_args):
|
||||
val = apply(test2c.PyClass1_method1, (self,) + _args)
|
||||
return val
|
||||
|
|
@ -67,13 +74,13 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
val = apply(test2c.PyClass1_method1, _args)
|
||||
return val
|
||||
|
||||
3. Remove *Ptr classes.
|
||||
3. Remove *Ptr classes.
|
||||
Assume that we are SWIGging a c++ class CppClass.
|
||||
Currently SWIG will generate both CppClassPtr class
|
||||
Currently SWIG will generate both CppClassPtr class
|
||||
that hosts all methods and also CppClass that is derived
|
||||
from the former and contains just the constructor.
|
||||
When CppClass method is called, the interpreter will try
|
||||
to find it in the CppClass's dictionary first, and only then
|
||||
to find it in the CppClass's dictionary first, and only then
|
||||
check the base class.
|
||||
|
||||
CppClassPtr functionality may be emulated with:
|
||||
|
|
@ -85,10 +92,10 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
|
||||
This saves us one dictionary lookup per call.
|
||||
|
||||
<DB>The new module was first added in Python-1.5.2 so it
|
||||
<DB>The new module was first added in Python-1.5.2 so it
|
||||
won't work with older versions. I've implemented an
|
||||
alternative that achieves the same thing</DB>
|
||||
|
||||
|
||||
4. Use CObjects instead of strings for pointers.
|
||||
|
||||
Dave: This enhancements result in speedups of up to 50% in some
|
||||
|
|
@ -97,7 +104,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
2/1/00 : Upgraded the Python module to use a new type-checking scheme that
|
||||
is more memory efficient, provides better performance, and
|
||||
is less error prone. Unfortunately, it will break all code that
|
||||
depends on the SWIG_GetPtr() function call in typemaps.
|
||||
depends on the SWIG_GetPtr() function call in typemaps.
|
||||
These functions should be changed as follows:
|
||||
|
||||
if (SWIG_GetPtr(string,&ptr,"_Foo_p")) {
|
||||
|
|
@ -125,7 +132,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
Keep configure scripts so that people are not *forced* to autoconf
|
||||
Keep sources generated by yacc so that compilation without yacc
|
||||
is possible.
|
||||
Source/LParse/cscanner.c: change lyacc.h into parser.h to please
|
||||
Source/LParse/cscanner.c: change lyacc.h into parser.h to please
|
||||
default yacc generation rules.
|
||||
Use AC_CONFIG_SUBDIRS in configure.in instead of hand made script.
|
||||
Update all relevant .cvsignore to include .deps
|
||||
|
|
@ -145,18 +152,18 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
Patch contributed by Dieter Baron.
|
||||
|
||||
1/13/00 : loic
|
||||
Added .cvsignore, Examples/.cvsignore, Source/DOH/Doh/.cvsignore
|
||||
Added .cvsignore, Examples/.cvsignore, Source/DOH/Doh/.cvsignore
|
||||
Source/SWIG1.1/main.cxx: Fixed -I handling bug
|
||||
Source/Modules1.1/java.cxx: fixed char* -> const char* warnings that are
|
||||
errors when compiling with gcc-2.95.2
|
||||
Source/SWIG1.1/main.cxx: cast const char* to char* for String_replace
|
||||
Source/SWIG1.1/main.cxx: cast const char* to char* for String_replace
|
||||
token and rep should really be const.
|
||||
|
||||
1/12/00 : beazley
|
||||
Added Harco's Java modules.
|
||||
|
||||
1/12/00 : beazley
|
||||
Revoked the %ifdef, %ifndef, %endif, %if, %elif, and %else
|
||||
Revoked the %ifdef, %ifndef, %endif, %if, %elif, and %else
|
||||
directives. These are no longer needed as SWIG now has a real
|
||||
preprocessor.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
|
@ -167,7 +174,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
to begin with).
|
||||
|
||||
1/12/00 : beazley
|
||||
Removed the -stat option for printing statistics. The
|
||||
Removed the -stat option for printing statistics. The
|
||||
statistics reporting was inadequate and mostly broken
|
||||
anyway.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
|
@ -214,13 +221,13 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
Examples/ Examples
|
||||
|
||||
More directories will be added as needed.
|
||||
|
||||
|
||||
12/08/99: Loic Dachary (loic@senga.org)
|
||||
Enhanced package handling for perl5 and c++.
|
||||
|
||||
With new option -hide Foo::Bar, every perl5 object (Frob) is
|
||||
qualified by Foo::Bar::Frob. The package name is solely used
|
||||
to encapsulate C/C++ wrappers output in <module>_wrap.c and the
|
||||
to encapsulate C/C++ wrappers output in <module>_wrap.c and the
|
||||
corresponding perl package in <module>.pm. Note that a package
|
||||
name may contain :: (Frob::Nitz) and will be relative to the
|
||||
package name provided by -hide (Foo::Bar::Frob::Nitz).
|
||||
|
|
@ -233,11 +240,11 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
but contain perl code and applies to wrappers generated by
|
||||
-shadow.
|
||||
|
||||
Lacking proper regression tests I used
|
||||
Lacking proper regression tests I used
|
||||
Examples/perl5/{c++,constraint,defarg,except,
|
||||
graph/graph[1234],multinherit,nested,shadow,simple,tree,
|
||||
typemaps/{argv,argv2,arraymember,database,file,ignore,integer,
|
||||
output,passref,reference,return}}/. I ran swig with and without
|
||||
output,passref,reference,return}}/. I ran swig with and without
|
||||
the patches, diff the generatedsources, run the .pl files
|
||||
and checked that the results are identical. In all those examples
|
||||
I had no error.
|
||||
|
|
@ -248,7 +255,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
Now, we simply use variable traces to support everything. This may
|
||||
break scripts that rely upon the older behavior.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
|
||||
11/21/99: Added slight tweak to wrapper generator to collect local variables
|
||||
of similar type. Produces somewhat more compact wrapper code.
|
||||
|
||||
|
|
@ -281,7 +288,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
|
||||
11/5/99 : Fixed an obscure code generation bug related to the generation
|
||||
of default constructors. Bug reported by Brad Clements.
|
||||
|
||||
|
||||
11/5/99 : Fixed a few memory problems found by purify.
|
||||
|
||||
11/5/99 : Officially deprecated the -htcl, -htk, and -plugin options
|
||||
|
|
@ -289,7 +296,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
|
||||
10/26/99: Removed unused variable from python/typemaps.i. Patch
|
||||
contributed by Keith Davidson.
|
||||
|
||||
|
||||
8/16/99 : Added _WIN32 symbol to libraries to better support Windows.
|
||||
|
||||
8/16/99 : Deprecated the Perl4 module. It is no longer included in the
|
||||
|
|
@ -306,7 +313,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
8/15/99 : Many changes to the libraries to support runtime libraries.
|
||||
|
||||
8/13/99 : Eliminated C++ compiler warning messages about extern "C" linkage.
|
||||
|
||||
|
||||
8/13/99 : Some cleanup of Python .swg files to better support runtime libraries
|
||||
on Windows.
|
||||
|
||||
|
|
@ -336,7 +343,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
8/13/99 : Patch to Python shadow classes to eliminate ignored
|
||||
exception errors in destructors. Patch contributed
|
||||
by Robin Dunn.
|
||||
|
||||
|
||||
8/11/99 : Minor patch to swig_lib/python/swigptr.swg (added SWIGSTATIC
|
||||
declaration). Patch contributed by Lyle Johnson.
|
||||
|
||||
|
|
@ -366,8 +373,8 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
is made to see if they are balanced (i.e., a %disabledoc
|
||||
directive inside a class does not have to have a matching
|
||||
%enabledoc in the same class).
|
||||
|
||||
8/8/99 : Keyword argument handling is now supported in the Python
|
||||
|
||||
8/8/99 : Keyword argument handling is now supported in the Python
|
||||
module. For example:
|
||||
|
||||
int foo(char *bar, int spam, double x);
|
||||
|
|
@ -381,8 +388,8 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
should work as well. Unnamed arguments are assigned names
|
||||
such as "arg1", "arg2", etc...
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
Functions with duplicate argument names such as
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
Functions with duplicate argument names such as
|
||||
bar(int *OUTPUT, int *OUTPUT) will likely cause problematic
|
||||
wrapper code to be generated. To fix this, use different
|
||||
names or use %apply to map typemaps to alternate names.
|
||||
|
|
@ -390,12 +397,12 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
8/8/99 : Handling of the 'this' pointer has been changed in Python shadow
|
||||
classes. Previously, dereferencing of '.this' occured in the
|
||||
Python shadow class itself. Now, this step occurs in the C
|
||||
wrappers using the following function:
|
||||
wrappers using the following function:
|
||||
|
||||
SWIG_GetPtrObj(PyObject *, void **ptr, char *type)
|
||||
|
||||
This function can accept either a string containing a pointer
|
||||
or a shadow class instance with a '.this' attribute of
|
||||
or a shadow class instance with a '.this' attribute of
|
||||
appropriate type. This change allows the following:
|
||||
|
||||
1. The real shadow class instance for an object is
|
||||
|
|
@ -416,7 +423,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
|
||||
|
||||
8/8/99 : Fixed handling of "const" and pointers in classes. In particular,
|
||||
declarations such as
|
||||
declarations such as
|
||||
|
||||
class foo {
|
||||
...
|
||||
|
|
@ -425,7 +432,7 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
}
|
||||
|
||||
are handled as assignable variables as opposed to constant
|
||||
values (this is the correct behavior in C/C++). Note:
|
||||
values (this is the correct behavior in C/C++). Note:
|
||||
declarations such as "char *const msg" are still unsupported.
|
||||
Constants declared at the global level using const are also
|
||||
broken (because I have a number of interfaces that rely upon
|
||||
|
|
@ -488,10 +495,10 @@ Version 1.3 Alpha 1 (February 11, 2000)
|
|||
2/27/99 : Modified Perl5 module to recognize 'undef' as a NULL char *.
|
||||
Patch contributed by Junio Hamano.
|
||||
|
||||
2/27/99 : Fixed the Perl5 module to support the newer versions of
|
||||
2/27/99 : Fixed the Perl5 module to support the newer versions of
|
||||
ActiveState Perl for Win32.
|
||||
|
||||
2/27/99 : Fixed the include order of files specified with the
|
||||
2/27/99 : Fixed the include order of files specified with the
|
||||
-I option.
|
||||
|
||||
2/5/98- : Dave finishes his dissertation, goes job hunting, moves to
|
||||
|
|
@ -521,7 +528,7 @@ Version 1.1 Patch 4 (January 4, 1998)
|
|||
=====================================
|
||||
|
||||
1/4/98 : Changed structured of the Examples directory to be more friendly
|
||||
to Borland C++.
|
||||
to Borland C++.
|
||||
|
||||
1/4/98 : Added the function Makefile.win.bc for compiling the examples
|
||||
under Borland 5.2.
|
||||
|
|
@ -541,25 +548,25 @@ Version 1.1 Patch 4 (January 4, 1998)
|
|||
the original SWIG mechanism that assumed [incr Tcl] namespaces.
|
||||
To use namespaces, simply run SWIG with the following options
|
||||
|
||||
swig -tcl -namespace foo.i
|
||||
|
||||
swig -tcl -namespace foo.i
|
||||
|
||||
This places everything in a namespace that matches
|
||||
the module name
|
||||
|
||||
swig -tcl -namespace -prefix bar foo.i
|
||||
|
||||
|
||||
This places everything in the namespace 'bar'
|
||||
|
||||
The use of namespaces is new in Tcl 8.0. However, the wrapper code
|
||||
generated by SWIG will still work with all versions of Tcl newer
|
||||
than and including Tcl 7.3/Tk3.6 even if the -namespace option is
|
||||
used.
|
||||
used.
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
This change may break existing applications that relied on the
|
||||
-prefix and -namespace options.
|
||||
-prefix and -namespace options.
|
||||
|
||||
1/2/98 : Added the following constants to the Tcl wrapper code
|
||||
1/2/98 : Added the following constants to the Tcl wrapper code
|
||||
|
||||
SWIG_name - Name of the SWIG module
|
||||
SWIG_prefix - Prefix/namespace appended to command names
|
||||
|
|
@ -577,7 +584,7 @@ Version 1.1 Patch 4 (January 4, 1998)
|
|||
significant changes were made :
|
||||
|
||||
1. The OUTPUT typemap now returns Python tuples instead of
|
||||
lists. Lists can be returned as before by using the
|
||||
lists. Lists can be returned as before by using the
|
||||
L_OUTPUT type. If compatibility with older versions
|
||||
is needed, run SWIG with the -DOUTPUT_LIST option.
|
||||
|
||||
|
|
@ -589,11 +596,11 @@ Version 1.1 Patch 4 (January 4, 1998)
|
|||
Changes to typemaps.i may break existing Python scripts that assume
|
||||
output in the form of a list.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
12/31/97: Fixed long overdue problems with the testing scripts and certain
|
||||
makefiles that required the use of the bash shell. Everything should
|
||||
|
||||
12/31/97: Fixed long overdue problems with the testing scripts and certain
|
||||
makefiles that required the use of the bash shell. Everything should
|
||||
work properly with the standard Bourne shell (sh) now.
|
||||
|
||||
|
||||
12/31/97: Modified typemaps to allow $basetype as a valid local variable.
|
||||
This allows for all sorts of bizarre hackish typemaps that
|
||||
do cool things. Patch contributed by Dominique Dumont.
|
||||
|
|
@ -611,18 +618,18 @@ Version 1.1 Patch 4 (January 4, 1998)
|
|||
12/31/97: Changed the default C constructor to use calloc() instead
|
||||
of malloc()
|
||||
|
||||
12/30/97: Changed the creation of constants in the Perl5 module.
|
||||
12/30/97: Changed the creation of constants in the Perl5 module.
|
||||
For all practical purposes, they should work in exactly the
|
||||
same way as before except that they now require much less
|
||||
wrapper code. Modules containing large numbers of
|
||||
wrapper code. Modules containing large numbers of
|
||||
constants may see greater than a 50% reduction in wrapper
|
||||
code size.
|
||||
|
||||
|
||||
12/30/97: Modified the Python module to be more intelligent about the
|
||||
creation of constants. SWIG no longer generates redundant
|
||||
global variables and the size of the module initialization
|
||||
function should be reduced. (Many thanks to Jim Fulton).
|
||||
|
||||
|
||||
12/29/97: Fixed a bug in C++ code generation related to member functions,
|
||||
default arguments, and references.
|
||||
|
||||
|
|
@ -631,19 +638,19 @@ Version 1.1 Patch 4 (January 4, 1998)
|
|||
12/29/97: Added 'embed15.i' library file. This file should be used to
|
||||
staticly link versions of Python 1.5. To make it the default,
|
||||
simply copy 'swig_lib/python/embed15.i' to 'swig_lib/python/embed.i'
|
||||
|
||||
|
||||
Version 1.1 Patch 3 (November 24, 1997)
|
||||
========================================
|
||||
|
||||
11/23/97: Fixed a bug in the Perl5 module with shadow classes and
|
||||
static class functions that return class instances.
|
||||
static class functions that return class instances.
|
||||
Note : The fix for this bug requires a slight restructuring of
|
||||
of the .pm files created by SWIG.
|
||||
|
||||
11/23/97: Fixed a bug in the Tcl/Tcl8 modules related to variable linking
|
||||
of character arrays. If you declared a global variable 'char foo[10]',
|
||||
the generated wrapper code would either cause a segmentation fault
|
||||
immediately upon loading or weird memory corruption elsewhere.
|
||||
immediately upon loading or weird memory corruption elsewhere.
|
||||
This should now be fixed although character arrays can only be
|
||||
read-only.
|
||||
|
||||
|
|
@ -657,7 +664,7 @@ Version 1.1 Patch 3 (November 24, 1997)
|
|||
11/23/97: Changed the behavior of the -o option when used with shadow
|
||||
classes. If -o was used to specify both the pathname and filename
|
||||
of SWIG's output such as
|
||||
|
||||
|
||||
swig -o /home/swig/wrapper.c -shadow -perl5 foo.i
|
||||
|
||||
The wrapper code would be placed the file specified with -o,
|
||||
|
|
@ -688,13 +695,13 @@ Version 1.1 Patch 3 (November 24, 1997)
|
|||
11/23/97: Modified the typemap mechanism to allow output
|
||||
typemaps of type 'void'. These were ignored previously,
|
||||
but now if you specify,
|
||||
|
||||
|
||||
%typemap(lang,out) void {
|
||||
... return a void ...
|
||||
}
|
||||
|
||||
You can change or assign a return value to the function.
|
||||
|
||||
|
||||
11/23/97: Fixed processing of 'bool' datatypes in the Python module.
|
||||
|
||||
11/23/97: Fixed minor parsing error with C++ initializers. For example,
|
||||
|
|
@ -717,7 +724,7 @@ Version 1.1 Patch 3 (November 24, 1997)
|
|||
%include typemaps.i
|
||||
void foo(double *OUTPUT, double *OUTPUT, double a);
|
||||
|
||||
Previously, doing this resulted in the creation of an
|
||||
Previously, doing this resulted in the creation of an
|
||||
extraneous comma in the output, resulting in a C syntax error.
|
||||
|
||||
11/22/97: Fixed a bug when template handling that was stripping whitespace
|
||||
|
|
@ -747,7 +754,7 @@ Version 1.1 Patch 3 (November 24, 1997)
|
|||
|
||||
void foo(Vector a, Vector b = d);
|
||||
|
||||
should now work properly.
|
||||
should now work properly.
|
||||
|
||||
Version 1.1 Patch 2 (September 4, 1997)
|
||||
=======================================
|
||||
|
|
@ -785,7 +792,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
void foo(double *a, double *b, double *result);
|
||||
|
||||
three local variables will be created as follows :
|
||||
|
||||
|
||||
double temp_a;
|
||||
double temp_b;
|
||||
double temp_result;
|
||||
|
|
@ -799,14 +806,14 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
|
||||
%apply double [ANY] { Real [ANY] };
|
||||
%apply double [4] { double [10] };
|
||||
|
||||
|
||||
A generic version of apply like this :
|
||||
|
||||
%apply double { Real };
|
||||
|
||||
should now work--even if arrays involving doubles and Reals are
|
||||
used later.
|
||||
|
||||
|
||||
7/27/97 : Changed warning message about "Array X has been converted to Y" to
|
||||
only appear if running SWIG in verbose mode.
|
||||
|
||||
|
|
@ -827,7 +834,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
|
||||
The problem with this is that typemaps allow a user to redefine
|
||||
the output behavior of a function--as a result, we can no longer
|
||||
make any assumptions about the return type being a pointer or
|
||||
make any assumptions about the return type being a pointer or
|
||||
even being a single value for that matter (it could be a list,
|
||||
tuple, etc...). If SWIG detects the use of output typemaps
|
||||
(either "out" or "argout") it returns the result unmodified like
|
||||
|
|
@ -840,7 +847,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
In this case, it is up to the user to figure out what to do
|
||||
with the return value (including the possibility of converting it
|
||||
into a Python class).
|
||||
|
||||
|
||||
7/26/97 : Fixed a parsing problem with types like 'unsigned long int',
|
||||
'unsigned short int', etc...
|
||||
|
||||
|
|
@ -854,7 +861,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
Mark Hammond's COM support. I'm not entirely sure they
|
||||
work yet however. Needs documentation and testing.
|
||||
|
||||
7/24/97 : Fixed code generation bugs when structures had array members
|
||||
7/24/97 : Fixed code generation bugs when structures had array members
|
||||
and typemaps were used. For example :
|
||||
|
||||
%typemap(memberin) double [20][20] {
|
||||
|
|
@ -876,7 +883,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
When writing typemaps, one can assume that the source variable
|
||||
is an array of the *same* type as the structure member. This
|
||||
may break some codes that managed to work around the array bug.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
7/13/97 : Fixed bug in Perl5 module when using C global variables that
|
||||
are pointers. When used in function calls and other operations,
|
||||
|
|
@ -936,7 +943,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
|
||||
7/8/97 : Fixed bizarre code generation bug with typemaps and C++ classes.
|
||||
In some cases, typemaps containing printf formatting strings such as
|
||||
|
||||
|
||||
%typemap(memberout) int * {
|
||||
printf("%d",42);
|
||||
}
|
||||
|
|
@ -944,7 +951,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
Would generate completely bogus code with garbage replacing
|
||||
the '%d'. Caused by one faulty use of printf (wasn't able to find
|
||||
any other occurences).
|
||||
|
||||
|
||||
7/7/97 : Fixed bug in Python shadow class generation with non-member
|
||||
functions that are returning more than one value.
|
||||
|
||||
|
|
@ -968,7 +975,7 @@ Version 1.1 Patch 1 (August 27, 1997)
|
|||
Version 1.1 (June 24, 1997)
|
||||
===========================
|
||||
|
||||
6/24/97 : Fixed Objective-C constructor bug when working with Perl5
|
||||
6/24/97 : Fixed Objective-C constructor bug when working with Perl5
|
||||
shadow classes.
|
||||
|
||||
6/23/97 : Fixed some parsing problems with Objective-C. Declarations
|
||||
|
|
@ -980,7 +987,7 @@ Version 1.1 (June 24, 1997)
|
|||
the SWIG pointer type-checker and support functions
|
||||
that are normally included in every module. By using
|
||||
the library, it is easier to work with multiple SWIG
|
||||
generated modules.
|
||||
generated modules.
|
||||
|
||||
6/22/97 : Fixed minor bug in Perl5 module related to static linking
|
||||
of multiple modules.
|
||||
|
|
@ -1008,7 +1015,7 @@ Version 1.1 (June 24, 1997)
|
|||
At most, only one typemap file can be specified in this manner.
|
||||
*** NEW FEATURE ***
|
||||
|
||||
6/18/97 : Need a Makefile fast? Type
|
||||
6/18/97 : Need a Makefile fast? Type
|
||||
|
||||
swig [-tcl, -perl5, -python] -co Makefile
|
||||
|
||||
|
|
@ -1024,12 +1031,12 @@ Version 1.1 (June 24, 1997)
|
|||
|
||||
Checks the file foobar.i into the Tcl part of the library.
|
||||
In order to check a file into the general library (accessible
|
||||
to all languages modules), do the following
|
||||
to all languages modules), do the following
|
||||
|
||||
swig -ci -o ../foobar.i foobar.i
|
||||
|
||||
(Admittedly this looks a little strange but is unavoidable).
|
||||
The check-in option is primarily designed for SWIG maintenance
|
||||
The check-in option is primarily designed for SWIG maintenance
|
||||
and library development. The command will fail if the user does
|
||||
not have write permission to the SWIG library. Third party library
|
||||
extensions can easily install themselves by simply providing
|
||||
|
|
@ -1041,7 +1048,7 @@ Version 1.1 (June 24, 1997)
|
|||
6/16/97 : Fixed a bug in shadow class generation when %name() was applied
|
||||
to a class definition. Unfortunately, fixing the bug required
|
||||
a change in the Language C API by adding an extra argument to
|
||||
the Language::cpp_class_decl() function. This may break
|
||||
the Language::cpp_class_decl() function. This may break
|
||||
SWIG C++ extensions.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
|
|
@ -1062,7 +1069,7 @@ Version 1.1 (June 24, 1997)
|
|||
Unlike %name, %rename will rename any occurence of the old name.
|
||||
This applies to functions, variables, class members and so forth.
|
||||
There is no way to disable %rename once set, but you can change the
|
||||
name by redeclaring it to something else.
|
||||
name by redeclaring it to something else.
|
||||
*** NEW FEATURE ***
|
||||
|
||||
6/15/97 : Improved the implementation of the %name directive so that it
|
||||
|
|
@ -1072,7 +1079,7 @@ Version 1.1 (June 24, 1997)
|
|||
%name(NewName)
|
||||
#endif
|
||||
int OldName(int);
|
||||
|
||||
|
||||
6/15/97 : Added support for functions with no return datatype. In this case,
|
||||
SWIG assumes a return type of 'int'.
|
||||
|
||||
|
|
@ -1080,7 +1087,7 @@ Version 1.1 (June 24, 1997)
|
|||
less sensitive to errors that occur inside class definitions
|
||||
now. Also reports errors for function pointers.
|
||||
|
||||
6/11/97 : Made '$' a legal symbol in identifiers. This is to support
|
||||
6/11/97 : Made '$' a legal symbol in identifiers. This is to support
|
||||
some Objective-C libraries. Some compilers (such as gcc) may also
|
||||
allow identifiers to contain a $ in C/C++ code as well (this is
|
||||
an obscure feature of C). When '$' appears in identifier, SWIG
|
||||
|
|
@ -1116,8 +1123,8 @@ Version 1.1 (June 24, 1997)
|
|||
6/2/97 : Fixed code generation bug when read-only variables were inherited
|
||||
into other classes. Under inheritance, the variables would
|
||||
become writable, but this has now been corrected.
|
||||
|
||||
5/30/97 : An empty %name() directive is no longer allowed or supported.
|
||||
|
||||
5/30/97 : An empty %name() directive is no longer allowed or supported.
|
||||
This directive was originally used to strip the prefix
|
||||
off of a class or structure. Unfortunately, this never really
|
||||
seemed to work right and it complicated the C++ code generator
|
||||
|
|
@ -1143,16 +1150,16 @@ Version 1.1 (June 24, 1997)
|
|||
When used, the entire name 'vector<complex>' becomes the name
|
||||
of the datatype. Due to space limitations in datatype
|
||||
representations, the name should not exceed 96 characters.
|
||||
|
||||
|
||||
Note : This is only part of what is needed for template support.
|
||||
Template class definitions are not yet supported by SWIG.
|
||||
|
||||
The template notation above may also be used when specifying
|
||||
Objective-C protocol lists.
|
||||
Objective-C protocol lists.
|
||||
*** NEW FEATURE ***
|
||||
|
||||
|
||||
5/24/97 : First cut at Objective-C support added. As it turns out, almost
|
||||
everything can be handled with only a few minor modifications to
|
||||
everything can be handled with only a few minor modifications to
|
||||
the C++ module.
|
||||
*** NEW FEATURE ***
|
||||
|
||||
|
|
@ -1175,7 +1182,7 @@ Version 1.1 (June 24, 1997)
|
|||
"DWORD". This now includes pointers to the two datatypes.
|
||||
For example, a typemap applied to "unsigned long **" would
|
||||
also be applied to any occurrence of "DWORD **" as well.
|
||||
|
||||
|
||||
5/19/97 : Fixed an ownership assignment bug in the Perl5 module when
|
||||
class members were returning new objects belonging to
|
||||
different classes.
|
||||
|
|
@ -1184,12 +1191,12 @@ Version 1.1 (June 24, 1997)
|
|||
|
||||
$name - Name of function/variable/member
|
||||
$basetype - Base datatype (type without pointers)
|
||||
$argnum - Argument number
|
||||
$argnum - Argument number
|
||||
|
||||
5/16/97 : Fixed embarrassing underscore error in local variable
|
||||
allocator.
|
||||
|
||||
5/16/97 : Fixed namespace clash bug in parameterized typemaps
|
||||
5/16/97 : Fixed namespace clash bug in parameterized typemaps
|
||||
when creating arrays as new local variables.
|
||||
|
||||
5/15/97 : Fixed some bugs with inheritance of added methods across
|
||||
|
|
@ -1234,7 +1241,7 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
Old versions automatically turned the result into a
|
||||
Python list. The new version does nothing, leaving the
|
||||
implementation up to the user. This provides more flexibility
|
||||
but may break older codes that rely on typemaps.
|
||||
but may break older codes that rely on typemaps.
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
5/5/97 : Fixed bug in Python module related to the interaction of
|
||||
|
|
@ -1267,7 +1274,7 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
unique, even if the same typemap is applied many times
|
||||
in a given function.
|
||||
** Not currently supported in Perl4 or Guile modules.
|
||||
|
||||
|
||||
5/2/97 : Fixed processing of %ifdef, %endif, %if, etc... (These are
|
||||
SWIG equivalents of the C preprocessor directives that
|
||||
can pass through the C preprocessor without modification).
|
||||
|
|
@ -1323,8 +1330,8 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
4/13/97 : Added %pragma directive for Perl5 module. Two new pragmas are
|
||||
available :
|
||||
|
||||
%pragma(perl5) code = "string"
|
||||
%pragma(perl5) include = "file.pl"
|
||||
%pragma(perl5) code = "string"
|
||||
%pragma(perl5) include = "file.pl"
|
||||
|
||||
Both insert code into the .pm file created by SWIG. This can
|
||||
be used to automatically customize the .pm file created by SWIG.
|
||||
|
|
@ -1333,7 +1340,7 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
option has been specified. This provides support for C programs
|
||||
that make use of these keywords for identifiers.
|
||||
SWIG may need to be explicitly run with the -c++ option when
|
||||
compiling C++ code (this was allowed, but not recommended in
|
||||
compiling C++ code (this was allowed, but not recommended in
|
||||
previous versions). **POTENTIAL INCOMPATIBILITY**
|
||||
|
||||
4/11/97 : Fixed a rather nasty bug in the Perl5 module related to using
|
||||
|
|
@ -1352,14 +1359,14 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
|
||||
4/8/97 : Fixed code generation bugs in Python and Perl5 modules related to
|
||||
using class renaming (applying the %name directive to a class
|
||||
definition) and shadow classes.
|
||||
|
||||
definition) and shadow classes.
|
||||
|
||||
4/7/97 : Fixed minor bugs in swigptr.swg, tcl8ptr.swg, and perl5ptr.swg to
|
||||
prevent infinite loops when weird datatypes are passed.
|
||||
|
||||
3/29/97 : 'Makefile.win' added. This is used to build most of the examples
|
||||
in the Examples directory under Windows NT/95.
|
||||
|
||||
|
||||
3/27/97 : Fixes to SWIG's error return codes. SWIG now returns non-zero
|
||||
exit codes for certain kinds of errors (which makes it more
|
||||
friendly to makefiles). An overhaul of the error handling
|
||||
|
|
@ -1407,7 +1414,7 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
make modules from SWIG library files. For example, if you
|
||||
want to make a Python module from the SWIG timers library, just
|
||||
type this in any directory :
|
||||
|
||||
|
||||
swig -python timers.i
|
||||
|
||||
You will get the files timers_wrap.c and timers_wrap.doc in
|
||||
|
|
@ -1424,14 +1431,14 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
unix >
|
||||
|
||||
Once in your directory you can customize the file to suit your
|
||||
particular purposes. The checkout option makes it easy to
|
||||
particular purposes. The checkout option makes it easy to
|
||||
grab library files without knowing anything about the SWIG
|
||||
installation, but it also makes it possible to start
|
||||
including scripts, C code, and other miscellaneous files
|
||||
in the library. For example, you could put a cool script
|
||||
in the library and check it out whenever you wanted to use it.
|
||||
*** New Feature ***
|
||||
|
||||
|
||||
3/24/97 : #pragma export directives added to Tcl output for compiling
|
||||
shared libraries on the Mac.
|
||||
|
||||
|
|
@ -1445,11 +1452,11 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
typemap to achieve some safety. For example :
|
||||
|
||||
%typemap(perl5,check) Node * {
|
||||
if (!$target)
|
||||
if (!$target)
|
||||
croak("NULL Pointers not allowed.");
|
||||
}
|
||||
|
||||
This prevents any NULL value of a "Node *" pointer to be
|
||||
This prevents any NULL value of a "Node *" pointer to be
|
||||
passed to a function. (I think this is much cleaner
|
||||
than the old -DALLOW_NULL hack anyways).
|
||||
|
||||
|
|
@ -1461,7 +1468,7 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
validity of function input values. For example :
|
||||
|
||||
%typemap(perl5,check) int posint {
|
||||
if ($target < 0)
|
||||
if ($target < 0)
|
||||
croak("Argument is not a positive integer");
|
||||
}
|
||||
|
||||
|
|
@ -1473,7 +1480,7 @@ Version 1.1 Beta6 (May 9, 1997)
|
|||
|
||||
3/18/97 : Fixed a few glitches in the typemap module with respect to
|
||||
chaining. For example :
|
||||
|
||||
|
||||
%typemap(tcl,in) int {
|
||||
$in // Inserts prexisting typemap
|
||||
printf("Received a %d\n", $target);
|
||||
|
|
@ -1502,7 +1509,7 @@ Version 1.1b5 Patch 1 (March 16, 1997)
|
|||
attached to the previous declaration and will stay in the proper
|
||||
location relative to the previous entry.
|
||||
|
||||
Version 1.1b5 (March 12, 1997)
|
||||
Version 1.1b5 (March 12, 1997)
|
||||
==============================
|
||||
|
||||
3/11/97 : Fixed compilation problems introduced by Tcl/Tk 8.0a2.
|
||||
|
|
@ -1514,7 +1521,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
3/9/97 : Parsing bugs with nested class definitions and privately
|
||||
declared nested class definitions fixed.
|
||||
|
||||
3/9/97 : Fixed a few minor code generation bugs with C++ classes and
|
||||
3/9/97 : Fixed a few minor code generation bugs with C++ classes and
|
||||
constructors. In some cases, the resulting wrapper code
|
||||
would not compile properly. SWIG now attempts to use
|
||||
the default copy constructor instead.
|
||||
|
|
@ -1531,7 +1538,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
swig -python example.i # Build a dynamically loaded extension
|
||||
swig -python -lembed.i example.i # Build a static extension
|
||||
|
||||
These kinds of options could previously be accomplished with
|
||||
These kinds of options could previously be accomplished with
|
||||
conditional compilation such as :
|
||||
|
||||
%module example
|
||||
|
|
@ -1567,10 +1574,10 @@ Version 1.1b5 (March 12, 1997)
|
|||
would override a double [ANY][ANY][ANY]. However, overuse of the ANY
|
||||
tag in arrays of high-dimensions may not work as you expect due to
|
||||
the pattern matching rule used. For example, which of the following
|
||||
typemaps has precedence?
|
||||
typemaps has precedence?
|
||||
|
||||
%typemap(in) double [ANY][5] {} // Avoid this!
|
||||
%typemap(in) double [5][ANY] {}
|
||||
%typemap(in) double [5][ANY] {}
|
||||
|
||||
3/7/97 : Fixed a number of bugs related to multi-dimensional array handling.
|
||||
Typedefs involving multi-dimensional arrays now works correctly.
|
||||
|
|
@ -1581,9 +1588,9 @@ Version 1.1b5 (March 12, 1997)
|
|||
...
|
||||
extern double foo(MATRIX a);
|
||||
|
||||
Typecasting of pointers into multi-dimensional arrays is now
|
||||
Typecasting of pointers into multi-dimensional arrays is now
|
||||
implemented properly when making C/C++ function calls.
|
||||
|
||||
|
||||
3/6/97 : Fixed potentially dangerous bug in the Tcl Object-oriented
|
||||
interface. Well, actually, didn't fix it but issued a
|
||||
Tcl error instead. The bug would manifest itself as follows:
|
||||
|
|
@ -1604,7 +1611,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
...
|
||||
% set m [List -this $l]
|
||||
Object name already exists!
|
||||
|
||||
|
||||
Use catch{} to ignore the error.
|
||||
|
||||
3/3/97 : Better support for enums added. Datatypes of 'enum MyEnum'
|
||||
|
|
@ -1624,17 +1631,17 @@ Version 1.1b5 (March 12, 1997)
|
|||
|
||||
3/3/97 : Added %import directive. This works exactly like %extern
|
||||
except it tells the language module that the declarations are
|
||||
coming from a separate module. This is usually only
|
||||
coming from a separate module. This is usually only
|
||||
needed when working with shadow classes.
|
||||
|
||||
|
||||
3/2/97 : Changed pointer type-checker to be significantly more
|
||||
efficient when working with derived datatypes. This
|
||||
has been accomplished by storing type-mappings in sorted
|
||||
order, using binary search schemes, and caching recently
|
||||
used datatypes. For SWIG generated C++ modules that
|
||||
used datatypes. For SWIG generated C++ modules that
|
||||
make a large number of C function calls with derived types,
|
||||
this could result in speedups of between 100 and 50000 percent.
|
||||
However, due to the required sorting operation, module
|
||||
However, due to the required sorting operation, module
|
||||
loading time may increased slightly when there are lots of
|
||||
datatypes.
|
||||
|
||||
|
|
@ -1647,8 +1654,8 @@ Version 1.1b5 (March 12, 1997)
|
|||
2/26/97 : Fixed bug in Python module with -c option.
|
||||
|
||||
2/26/97 : Slight tweak of parser to allow trailing comma in enumerations
|
||||
such as
|
||||
|
||||
such as
|
||||
|
||||
enum Value (ALE, STOUT, LAGER, };
|
||||
|
||||
2/25/97 : Fixed code generation bug in Tcl module when using the
|
||||
|
|
@ -1665,7 +1672,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
Activeware port of Perl 5.003 running under Windows 95.
|
||||
The C source generated by SWIG should compile without
|
||||
modification under both versions of Perl, but is now
|
||||
even more hideous than before.
|
||||
even more hideous than before.
|
||||
|
||||
2/25/97 : Modified parser to allow scope resolution operation to
|
||||
appear in expressions and default arguments as in :
|
||||
|
|
@ -1698,7 +1705,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
running under Win95.
|
||||
|
||||
2/19/97 : Fixed typedef handling bug in Perl5 shadow classes.
|
||||
|
||||
|
||||
2/19/97 : Added exception support. To use it, do the following :
|
||||
|
||||
%except(lang) {
|
||||
|
|
@ -1731,8 +1738,8 @@ Version 1.1b5 (March 12, 1997)
|
|||
but seemingly unnecessary declarations.
|
||||
|
||||
2/18/97 : Optimized handling of member functions under inheritance.
|
||||
SWIG can now use wrapper functions generated for a
|
||||
base class instead of regenerating wrappers for
|
||||
SWIG can now use wrapper functions generated for a
|
||||
base class instead of regenerating wrappers for
|
||||
the same functions in a derived class. This could
|
||||
make a drastic reduction in wrapper code size for C++
|
||||
applications with deep inheritance hierarchies and
|
||||
|
|
@ -1781,10 +1788,10 @@ Version 1.1b5 (March 12, 1997)
|
|||
|
||||
Would apply the second typemap to all functions in Foo
|
||||
due to delayed generation of C++ wrapper code (clearly this
|
||||
is not the desired effect). Problem has been fixed by
|
||||
is not the desired effect). Problem has been fixed by
|
||||
assigning unique numerical identifiers to every datatype in
|
||||
an interface file and recording the "range of effect" of each
|
||||
typemap.
|
||||
typemap.
|
||||
|
||||
2/11/97 : Added support for "ignore" and "default" typemaps. Only use
|
||||
if you absolutely know what you're doing.
|
||||
|
|
@ -1804,7 +1811,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
2/9/97 : Added -make_default option for producing default constructors
|
||||
and destructors for classes without them.
|
||||
|
||||
2/9/97 : Changed the syntax of the SWIG %pragma directive to
|
||||
2/9/97 : Changed the syntax of the SWIG %pragma directive to
|
||||
%pragma option=value or %pragma(lang) option=value.
|
||||
This change makes the syntax a little more consistent
|
||||
between general pragmas and language-specific pragmas.
|
||||
|
|
@ -1815,7 +1822,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
structures, classes, and unions.
|
||||
|
||||
2/9/97 : Fixed C++ compilation problem in Python 'embed.i' library file.
|
||||
|
||||
|
||||
2/9/97 : Fixed missing return value in perlmain.i library file.
|
||||
|
||||
2/9/97 : Fixed Python shadow classes to return an AttributeError when
|
||||
|
|
@ -1842,7 +1849,7 @@ Version 1.1b5 (March 12, 1997)
|
|||
shadow classes.
|
||||
|
||||
1/23/97 : Fixed bug with nested %extern declarations.
|
||||
|
||||
|
||||
1/21/97 : Fixed problem with typedef involving const datatypes.
|
||||
|
||||
1/21/97 : Somewhat obscure, but serious bug with having multiple levels
|
||||
|
|
@ -1855,7 +1862,7 @@ Version 1.1 Beta4 (January 16, 1997)
|
|||
====================================
|
||||
|
||||
Note : SWIG 1.1b3 crashed and burned shortly after take off due
|
||||
to a few major run-time problems that surfaced after release.
|
||||
to a few major run-time problems that surfaced after release.
|
||||
This release should fix most, if not all, of those problems.
|
||||
|
||||
1/16/97 : Fixed major memory management bug on Linux
|
||||
|
|
@ -1875,7 +1882,7 @@ This release should fix most, if not all, of those problems.
|
|||
a C++ class. SWIG was not generating correct code,
|
||||
but a new scoping mechanism and method for handling
|
||||
datatypes inside a C++ class have been added.
|
||||
|
||||
|
||||
1/14/97 : Changed enumerations to use the value name instead
|
||||
of any values that might have appeared in the interface
|
||||
file. This makes the code a little more friendly to
|
||||
|
|
@ -1937,7 +1944,7 @@ Version 1.1 Beta2 (December 3, 1996)
|
|||
#define A (int) 3
|
||||
|
||||
4. Added support for typedef lists. For example :
|
||||
|
||||
|
||||
typedef struct {
|
||||
double x,y,z;
|
||||
} Vector, *VectorPtr;
|
||||
|
|
@ -2113,7 +2120,7 @@ There are lots of changes in this release :
|
|||
|
||||
5. The syntax of the %name directive has been changed. Use of the
|
||||
old one should generate a warning message, but may still work.
|
||||
|
||||
|
||||
6. To support Tcl/Tk on non-unix platforms, SWIG imports a file called
|
||||
swigtcl.cfg from the $(SWIG_LIB)/tcl directory. I don't have access
|
||||
to an NT machine, but this file is supposedly allows SWIG to
|
||||
|
|
@ -2132,7 +2139,7 @@ There are lots of changes in this release :
|
|||
- Documentation order is printed in interface file order by
|
||||
default. This can be overridden by putting an %alpha
|
||||
directive in the beginning of the interface file.
|
||||
|
||||
|
||||
- You can supply additional documentation text using
|
||||
|
||||
%text %{ put your text here %}
|
||||
|
|
@ -2203,9 +2210,9 @@ notes are in no particular order--hope I remembered everything....
|
|||
1. Tcl/Tk
|
||||
|
||||
SWIG is known to work with Tcl7.3, Tk3.6 and later versions.
|
||||
I've also tested SWIG with expect-5.19.
|
||||
I've also tested SWIG with expect-5.19.
|
||||
|
||||
Normally SWIG expects to use the header files "tcl.h" and "tk.h".
|
||||
Normally SWIG expects to use the header files "tcl.h" and "tk.h".
|
||||
Newer versions of Tcl/Tk use version numbers. You can specify these
|
||||
in SWIG as follows :
|
||||
|
||||
|
|
@ -2231,7 +2238,7 @@ This is a somewhat experimental implementation, but is alot less
|
|||
buggy than the alpha release. SWIG operates independently of
|
||||
the XS language and xsubpp supplied with Perl5. Currently SWIG
|
||||
produces the necessary C code and .pm file needed to dynamically
|
||||
load a module into Perl5.
|
||||
load a module into Perl5.
|
||||
|
||||
To support Perl5's notion of modules and packages (as with xsubpp),
|
||||
you can use the following command line options :
|
||||
|
|
@ -2263,18 +2270,18 @@ If you really want to live on the edge, pick up a copy of Guile-iii and
|
|||
play around with this. This is highly experimental---especially since
|
||||
I'm not sure what the official state of Guile is these days. This
|
||||
implementation may change at any time should I suddenly figure out better
|
||||
ways to do things.
|
||||
ways to do things.
|
||||
|
||||
6. Extending SWIG
|
||||
|
||||
SWIG is written in C++ although I tend to think of the code as mostly
|
||||
SWIG is written in C++ although I tend to think of the code as mostly
|
||||
being ANSI C with a little inheritance thrown in. Each target language
|
||||
is implemented as a C++ class that can be plugged into the system.
|
||||
If you want to add your own modifications, see Appendix C of the user
|
||||
manual. Then take a look at the "user" directory which contains some
|
||||
code for building your own extenions.
|
||||
|
||||
7. The SWIG library
|
||||
7. The SWIG library
|
||||
|
||||
The SWIG library is still incomplete. Some of the files mentioned in
|
||||
the user manual are unavailable. These files will be made available
|
||||
|
|
@ -2293,7 +2300,7 @@ Version 0.1 Alpha (February 9, 1996)
|
|||
|
||||
1. Run-time type-checking of SWIG pointers. Pointers are now represented
|
||||
as strings with both numeric and encoded type information. This makes
|
||||
it a little harder to shoot yourself in the foot (and it eliminates
|
||||
it a little harder to shoot yourself in the foot (and it eliminates
|
||||
some segmentation faults and other oddities).
|
||||
|
||||
2. Python 1.3 now supported.
|
||||
|
|
@ -2301,7 +2308,7 @@ Version 0.1 Alpha (February 9, 1996)
|
|||
3. #define and enum can be used to install constants.
|
||||
|
||||
4. Completely rewrote the %include directive and made it alot more powerful.
|
||||
|
||||
|
||||
5. Restructured the SWIG library to make it work better.
|
||||
|
||||
6. Various bug fixes to Tcl, Perl4, Perl5, and Guile implementations.
|
||||
|
|
@ -2310,7 +2317,7 @@ Version 0.1 Alpha (February 9, 1996)
|
|||
|
||||
8. Made some changes to SWIG's class structure to make it easier to expand.
|
||||
SWIG is now built into a library file that you can use to make your
|
||||
own extenions.
|
||||
own extenions.
|
||||
|
||||
9. Made extensive changes to the documentation.
|
||||
|
||||
|
|
@ -2325,7 +2332,7 @@ Version 0.1 Alpha (February 9, 1996)
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue