git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6943 626c5289-ae23-0410-ae9c-e8d60b6d4f22
109 lines
5 KiB
Text
109 lines
5 KiB
Text
Version 1.3.25 (In progress)
|
|
============================
|
|
|
|
02/13/2005: mkoeppe (Matthias Koeppe)
|
|
[Guile] Add %typecheck for SWIGTYPE, add %typecheck for ptrdiff_t, fix
|
|
typemaps for size_t.
|
|
|
|
[Pike] Merge patch from Torsten Landschoff for improved Pike configuration.
|
|
|
|
02/12/2005: mkoeppe (Matthias Koeppe)
|
|
New configure switches --without-tcl, --without-python etc. allow to
|
|
disable the search for installed languages.
|
|
|
|
01/31/2005: wuzzeb (John Lenz)
|
|
- Add DohSortList to DOH
|
|
|
|
- Improve the runtime type system:
|
|
+ Speed. Type loading is now O(n log n) instead of O(N^2), which
|
|
for large modules is a huge improvement.
|
|
+ A whole bunch of functions in swigrun.swg no longer need the
|
|
swig_type_list_handle passed to them. The only one left is
|
|
TypeQuery. This also makes runtime.swg a lot smaller.
|
|
+ Split up swig_type_info structure into two structures
|
|
(swig_type_info and swig_cast_info)
|
|
+ Store a pointer to a swig_type_info rather than just the type
|
|
name string in the linked list of casts. First off, this makes
|
|
the guile module a little faster, and second, the
|
|
SWIG_TypeClientData() function is faster too.
|
|
+ Add the idea of a module into the type system. Before, all the
|
|
types were stored in one huge linked list. Now, another level is
|
|
added, and the type system stores a linked list of modules, each
|
|
of which stores an array of types associated with it.
|
|
+ For more information of how the runtime type system now works,
|
|
please see Doc/Manual/typemaps.html and Doc/Devel/runtime.txt
|
|
|
|
- Update all language modules to use the new type system. The changes
|
|
to each language module are minor. All languages are now able to
|
|
use runtime.swg for external access to the type system. Before
|
|
only python and perl did.
|
|
|
|
- [guile, mzscheme, ocaml, and php4] These languages opened up the
|
|
init function inside the .cxx code, and any code in the .swg files
|
|
in the init section was inside this function. This was a problem
|
|
for swiginit.swg, which needs to be inserted before the SWIG_init
|
|
function is opened. Thus I changed these languages to be like
|
|
python or perl, where the init function is declared in the .swg
|
|
file.
|
|
|
|
- [Ruby] Instead of moving the init function to the .swg file, I
|
|
added a new section initbeforefunc, and then added
|
|
%insert(initbeforefunc) "swiginit.swg"
|
|
|
|
- [MzScheme] Fix enums and fix Examples/Makefile.in so that if
|
|
multiple -I arguments are specified in the INCLUDES variable, each
|
|
gets a ++ccf.
|
|
|
|
- [Guile GH] Update Guile GH to use the new type system. See
|
|
Doc/Manual/Guile.html for how smobs are now used.
|
|
|
|
01/11/2005: wsfulton
|
|
[C#] New typemap called 'csconstruct'. The code in this typemaps was previously hard
|
|
coded and could not be customised by a user. This typemap contains the code that is
|
|
generated into a proxy class's constructor. The proxy class now contains a method
|
|
called swigSetup() which does a lot of the initialisation work. This is necessary for
|
|
a future change to fix the translation of C++ exceptions into C# exceptions.
|
|
|
|
[Java] New typemap called 'javaconstruct'. The code in this typemaps was previously hard
|
|
coded and could not be customised by a user. This typemap contains the code that is
|
|
generated into a proxy class's constructor. Another typemap named 'javaconstruct_director'
|
|
is used instead when the proxy class is a director class.
|
|
|
|
[C#, Java] If a C++ class did not have a default constructor, a protected default constructor
|
|
was automatically generated by SWIG. This seems is unnecessary and has been removed
|
|
and thereby giving the user almost complete control over the generated code along with the
|
|
new typemaps above.
|
|
|
|
Dec/19: mmatus
|
|
- Fix typemap search, now the "out" typemap search is done as follows
|
|
|
|
int *Foo::foo(int bar) -> int *Foo::foo(int bar)
|
|
-> int *Foo::foo
|
|
-> int *foo(int bar)
|
|
-> int *foo
|
|
-> int *
|
|
|
|
then, now you can be more specific, and define
|
|
|
|
/* apply only for 'Foo::foo' method */
|
|
%typemap(out) int * Foo::foo(int *bar) ...;
|
|
|
|
/* apply for all 'foo' functions/methods */
|
|
%typemap(out) int * foo(int *bar) ...;
|
|
|
|
%inline {
|
|
struct Foo {
|
|
int *foo(int *bar);
|
|
};
|
|
}
|
|
|
|
|
|
Dec/15: mmatus
|
|
- More fixes for templates and template default args.
|
|
See template_default.i for scary cases that now are
|
|
supported, besides the already ugly STL/std cases.
|
|
|
|
- Cosmetics and more use of 'const' where it was implicit.
|
|
- Other fixes for OSS, which is now working again with 1.3.25.
|
|
|
|
|