bump version number
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10280 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
a9566a3368
commit
63fb043af3
5 changed files with 235 additions and 232 deletions
2
ANNOUNCE
2
ANNOUNCE
|
|
@ -1,4 +1,4 @@
|
|||
*** ANNOUNCE: SWIG 1.3.34 (27 February 2008) ***
|
||||
*** ANNOUNCE: SWIG 1.3.35 (in progress) ***
|
||||
|
||||
http://www.swig.org
|
||||
|
||||
|
|
|
|||
231
CHANGES
231
CHANGES
|
|
@ -2,6 +2,237 @@ SWIG (Simplified Wrapper and Interface Generator)
|
|||
|
||||
See CHANGES.current for current version.
|
||||
|
||||
Version 1.3.34 (27 February 2008)
|
||||
=================================
|
||||
|
||||
02/13/2008: wsfulton
|
||||
[R] Fix wrapping of global function pointer variables.
|
||||
|
||||
02/13/2008: wsfulton
|
||||
Add new special variables for use within %exception:
|
||||
$wrapname - language specific wrapper name
|
||||
$overname - if a method is overloaded this contains the extra mangling used on
|
||||
the overloaded method
|
||||
$decl - the fully qualified C/C++ declaration of the method being wrapped
|
||||
without the return type
|
||||
$fulldecl - the fully qualified C/C++ declaration of the method being wrapped
|
||||
including the return type
|
||||
|
||||
02/12/2008: drjoe
|
||||
[R] Now setting S4 flag in SWIG created objects. This
|
||||
fixes R-SWIG for 2.6 and warning for 2.6 failure has been removed.
|
||||
|
||||
02/11/2008: mgossage
|
||||
[Lua] Added a patch by Torsten Landschoff to fix the unary minus issue
|
||||
Ran 'astyle --style=kr -2' across lua.cxx to neaten it up
|
||||
|
||||
02/10/2008: wsfulton
|
||||
Bump SWIG_RUNTIME_VERSION to 4. This is because of the recently introduced API
|
||||
change in the conversion functions, ie change in definition of swig_converter_func.
|
||||
Anyone calling SWIG_TypeCast must pass in a valid value for the new additional
|
||||
(third) parameter and then handle the newly created memory if the returned value
|
||||
is set to SWIG_CAST_NEW_MEMORY else a memory leak will ensue.
|
||||
|
||||
02/09/2008: wsfulton
|
||||
[Python] Experimental shared_ptr typemaps added. Usage is the same as the recently
|
||||
added Java and C# shared_ptr typemaps. Two macros are available, although these
|
||||
may well change in a future version:
|
||||
|
||||
For base classes or classes not in an inheritance chain:
|
||||
SWIG_SHARED_PTR(PROXYCLASS, TYPE)
|
||||
For derived classes:
|
||||
SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
|
||||
|
||||
The PROXYCLASS is the name of the proxy class, but is only required for Java/C#.
|
||||
Example usage:
|
||||
|
||||
%include "boost_shared_ptr.i"
|
||||
|
||||
SWIG_SHARED_PTR(Klass, Space::Klass)
|
||||
SWIG_SHARED_PTR_DERIVED(KlassDerived, Space::Klass, Space::KlassDerived)
|
||||
|
||||
namespace Space {
|
||||
struct Klass { ... };
|
||||
struct KlassDerived : Klass { ... };
|
||||
}
|
||||
|
||||
Further details to follow in future documentation, but the following features
|
||||
should be noted:
|
||||
|
||||
- Not restricted to boost::shared_ptr, eg std::tr1::shared_ptr can also be used.
|
||||
- Available typemap groups:
|
||||
(a) Typemaps for shared_ptr passed by value, reference, pointer and pointer
|
||||
reference.
|
||||
- (b) Typemaps for passing by raw value, raw pointer, raw reference, raw pointer
|
||||
reference.
|
||||
- The code being wrapped does not even have to use shared_ptr, SWIG can use
|
||||
shared_ptr as the underlying storage mechanism instead of a raw pointer due to
|
||||
the typemaps in group (b) above.
|
||||
- No array support as shared_ptr does not support arrays.
|
||||
- This works quite differently to the usual SWIG smart pointer support when
|
||||
operator-> is parsed by SWIG:
|
||||
- An additional smart pointer class is not generated reducing code bloat in
|
||||
the wrappers.
|
||||
- Using smart pointers and raw pointers can be mixed seamlessly.
|
||||
- Missing constructors for the smart pointers is no longer a problem and so
|
||||
separate factory type functions do not have to be written and wrapped.
|
||||
- The implicit C++ shared_ptr< derived class > to shared_ptr< base class >
|
||||
cast also works in the target language. This negates the necessity to write
|
||||
an explicit helper cast function providing the upcast which would need
|
||||
calling prior to passing a derived class to a method taking a shared_ptr to
|
||||
a base class.
|
||||
|
||||
02/09/2008: wsfulton
|
||||
[Python] Add support for overriding the class registration function via a new
|
||||
"smartptr" feature. This is a very low level of customisation most users
|
||||
would never need to know. The feature will typically be used for intrusive
|
||||
smart pointers along with additional typemaps. Example usage of the feature:
|
||||
|
||||
%feature("smartptr", noblock=1) Foo { boost::shared_ptr< Foo > }
|
||||
class Foo {};
|
||||
|
||||
The generated Foo_swigregister function will then register boost::shared < Foo >
|
||||
(SWIGTYPE_p_boost__shared_ptrTFoo_t instead of SWIGTYPE_p_Foo) as the underlying
|
||||
type for instantiations of Foo.
|
||||
|
||||
02/09/2008: wsfulton
|
||||
Features now supports the optional 'noblock' attribute for all usage of %feature.
|
||||
When specified, the { } braces are removed from the feature code. This is identical
|
||||
in behaviour to usage of 'noblock' in typemaps and is used when the preprocessor
|
||||
is required to operate on the code in the feature and the enclosing { } braces
|
||||
are not required. Example:
|
||||
|
||||
#define FOO foo
|
||||
%feature("smartptr", noblock="1") { FOO::bar }
|
||||
|
||||
The preprocessor then reduces this as if this had been used instead:
|
||||
|
||||
%feature("smartptr") "foo::bar"
|
||||
|
||||
02/01/2008: olly
|
||||
[Python] Fix format string bug (SF#1882220).
|
||||
|
||||
01/31/2008: wsfulton
|
||||
Additions to the %types directive. Now the conversion / casting code can be
|
||||
overridden to some custom code in the %types directive, like so:
|
||||
|
||||
%types(fromtype = totype) %{
|
||||
... code to convert fromtype to totype and return ...
|
||||
%}
|
||||
|
||||
The special variable $from will be replaced by the name of the parameter of the
|
||||
type being converted from. The code must return the totype cast to void *. Example:
|
||||
|
||||
class Time;
|
||||
class Date;
|
||||
Date &Time::dateFromTime();
|
||||
|
||||
%types(Time = Date) %{
|
||||
Time *t = (Time *)$from;
|
||||
Date &d = t->dateFromTime();
|
||||
return (void *) &d;
|
||||
%}
|
||||
|
||||
resulting in the conversion / casting code looking something like:
|
||||
|
||||
static void *_p_TimeTo_p_Date(void *x) {
|
||||
Time *t = (Time *)x;
|
||||
Date &d = t->dateFromTime();
|
||||
return (void *) &d;
|
||||
}
|
||||
|
||||
This is advanced usage, please use only if you understand the runtime type system.
|
||||
|
||||
01/30/2008: mgossage
|
||||
Small update to documentation in Typemaps.html, to warn about use of local
|
||||
variables in typemaps for multiple types.
|
||||
|
||||
01/25/2008: wsfulton
|
||||
[Java] Fix bug reported by Kevin Mills in ARRAYSOFCLASSES typemaps where any
|
||||
changes made to an array element passed from Java to C are not reflected back
|
||||
into Java.
|
||||
|
||||
01/24/2008: mgossage
|
||||
More updates to the configure script for detecting lua.
|
||||
Also looks in /usr/include/lua*
|
||||
Also changed typemaps.i not to check for NULL before freeing a pointer
|
||||
|
||||
01/21/2008: wsfulton
|
||||
[Python] For STL containers, SWIG no longer attempts to convert from one
|
||||
STL container to another, eg from std::vector<int> to std::vector<double>
|
||||
or std::list<int> to std::vector<int> or even std::vector<Foo> to
|
||||
std::vector<Bar> as it previously did. In fact SWIG no longer attempts to
|
||||
convert any SWIG wrapped C++ proxy class that is also a Python sequence,
|
||||
whereas previously it would. Any non-SWIG Python sequence will still be
|
||||
accepted wherever an STL container is accepted. Overloaded methods using
|
||||
containers should be faster.
|
||||
|
||||
01/18/2008: wsfulton
|
||||
[C#] Add 'directorinattributes' and 'directoroutattributes' typemap attributes
|
||||
for the imtype typemap. These should contain C# attributes which will
|
||||
be generated into the C# director delegate methods.
|
||||
|
||||
01/18/2008: olly
|
||||
Fix handling of byte value 255 in input files on platforms where
|
||||
char is signed (it was getting mapped to EOF). Fixes SF#1518219.
|
||||
|
||||
01/16/2008: wsfulton
|
||||
Fix template member variables wrapped by a smart pointer. Bug reported
|
||||
by Robert Lupton.
|
||||
|
||||
01/14/2008: mgossage
|
||||
Substantial changes to configure script for detecting lua.
|
||||
Code can now link to liblua.a, liblua50.a or liblua51.a
|
||||
It's also a lot neater now.
|
||||
|
||||
12/16/2007: wsfulton
|
||||
[Perl] Backed out #1798728 - numbers can be passed to functions taking char *
|
||||
|
||||
12/16/2007: wsfulton
|
||||
Fix #1832613 - Templates and some typedefs involving pointers or function pointers
|
||||
|
||||
12/12/2007: wsfulton
|
||||
[Java] Fix #1632625 - Compilation errors on Visual C++ 6 when using directors.
|
||||
|
||||
12/12/2007: wsfulton
|
||||
[Perl] Fix #1798728 - numbers can be passed to functions taking char *.
|
||||
|
||||
12/12/2007: wsfulton
|
||||
Fix #1819847 %template with just one default template parameter
|
||||
|
||||
template<typename T = int> class Foo {...};
|
||||
%template(FooDefault) Foo<>;
|
||||
|
||||
12/12/2007: mgossage
|
||||
[Lua] Small correction on Lua.html
|
||||
|
||||
12/09/2007: wsfulton
|
||||
Apply patch #1838248 from Monty Taylor for vpath builds of SWIG.
|
||||
|
||||
12/08/2007: wsfulton
|
||||
[Lua] Fixes to remove gcc-4.2 warnings
|
||||
|
||||
12/06/2007: wsfulton
|
||||
Fix #1734415 - template template parameters with default arguments such as:
|
||||
|
||||
template<typename t_item, template<typename> class t_alloc = pfc::alloc_fast >
|
||||
class list_t : public list_impl_t<t_item,pfc::array_t<t_item,t_alloc> > { ... };
|
||||
|
||||
12/04/2007: mgossage
|
||||
[lua] Fix a bug in the class hierachy code, where the methods were not propagated,
|
||||
if the name ordering was in a certain order.
|
||||
Added new example programs (dual, embed) and runtime tests for test-suite.
|
||||
|
||||
11/30/2007: wsfulton
|
||||
Fix using statements using a base class method where the methods were overloaded.
|
||||
Depending on the order of the using statements and method declarations, these
|
||||
were previously generating uncompileable wrappers, eg:
|
||||
|
||||
struct Derived : Base {
|
||||
virtual void funk();
|
||||
using Base::funk;
|
||||
};
|
||||
|
||||
Version 1.3.33 (November 23, 2007)
|
||||
=================================
|
||||
|
||||
|
|
|
|||
230
CHANGES.current
230
CHANGES.current
|
|
@ -1,231 +1,3 @@
|
|||
Version 1.3.34 (27 February 2008)
|
||||
Version 1.3.35 (in progress)
|
||||
=================================
|
||||
|
||||
02/13/2008: wsfulton
|
||||
[R] Fix wrapping of global function pointer variables.
|
||||
|
||||
02/13/2008: wsfulton
|
||||
Add new special variables for use within %exception:
|
||||
$wrapname - language specific wrapper name
|
||||
$overname - if a method is overloaded this contains the extra mangling used on
|
||||
the overloaded method
|
||||
$decl - the fully qualified C/C++ declaration of the method being wrapped
|
||||
without the return type
|
||||
$fulldecl - the fully qualified C/C++ declaration of the method being wrapped
|
||||
including the return type
|
||||
|
||||
02/12/2008: drjoe
|
||||
[R] Now setting S4 flag in SWIG created objects. This
|
||||
fixes R-SWIG for 2.6 and warning for 2.6 failure has been removed.
|
||||
|
||||
02/11/2008: mgossage
|
||||
[Lua] Added a patch by Torsten Landschoff to fix the unary minus issue
|
||||
Ran 'astyle --style=kr -2' across lua.cxx to neaten it up
|
||||
|
||||
02/10/2008: wsfulton
|
||||
Bump SWIG_RUNTIME_VERSION to 4. This is because of the recently introduced API
|
||||
change in the conversion functions, ie change in definition of swig_converter_func.
|
||||
Anyone calling SWIG_TypeCast must pass in a valid value for the new additional
|
||||
(third) parameter and then handle the newly created memory if the returned value
|
||||
is set to SWIG_CAST_NEW_MEMORY else a memory leak will ensue.
|
||||
|
||||
02/09/2008: wsfulton
|
||||
[Python] Experimental shared_ptr typemaps added. Usage is the same as the recently
|
||||
added Java and C# shared_ptr typemaps. Two macros are available, although these
|
||||
may well change in a future version:
|
||||
|
||||
For base classes or classes not in an inheritance chain:
|
||||
SWIG_SHARED_PTR(PROXYCLASS, TYPE)
|
||||
For derived classes:
|
||||
SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
|
||||
|
||||
The PROXYCLASS is the name of the proxy class, but is only required for Java/C#.
|
||||
Example usage:
|
||||
|
||||
%include "boost_shared_ptr.i"
|
||||
|
||||
SWIG_SHARED_PTR(Klass, Space::Klass)
|
||||
SWIG_SHARED_PTR_DERIVED(KlassDerived, Space::Klass, Space::KlassDerived)
|
||||
|
||||
namespace Space {
|
||||
struct Klass { ... };
|
||||
struct KlassDerived : Klass { ... };
|
||||
}
|
||||
|
||||
Further details to follow in future documentation, but the following features
|
||||
should be noted:
|
||||
|
||||
- Not restricted to boost::shared_ptr, eg std::tr1::shared_ptr can also be used.
|
||||
- Available typemap groups:
|
||||
(a) Typemaps for shared_ptr passed by value, reference, pointer and pointer
|
||||
reference.
|
||||
- (b) Typemaps for passing by raw value, raw pointer, raw reference, raw pointer
|
||||
reference.
|
||||
- The code being wrapped does not even have to use shared_ptr, SWIG can use
|
||||
shared_ptr as the underlying storage mechanism instead of a raw pointer due to
|
||||
the typemaps in group (b) above.
|
||||
- No array support as shared_ptr does not support arrays.
|
||||
- This works quite differently to the usual SWIG smart pointer support when
|
||||
operator-> is parsed by SWIG:
|
||||
- An additional smart pointer class is not generated reducing code bloat in
|
||||
the wrappers.
|
||||
- Using smart pointers and raw pointers can be mixed seamlessly.
|
||||
- Missing constructors for the smart pointers is no longer a problem and so
|
||||
separate factory type functions do not have to be written and wrapped.
|
||||
- The implicit C++ shared_ptr< derived class > to shared_ptr< base class >
|
||||
cast also works in the target language. This negates the necessity to write
|
||||
an explicit helper cast function providing the upcast which would need
|
||||
calling prior to passing a derived class to a method taking a shared_ptr to
|
||||
a base class.
|
||||
|
||||
02/09/2008: wsfulton
|
||||
[Python] Add support for overriding the class registration function via a new
|
||||
"smartptr" feature. This is a very low level of customisation most users
|
||||
would never need to know. The feature will typically be used for intrusive
|
||||
smart pointers along with additional typemaps. Example usage of the feature:
|
||||
|
||||
%feature("smartptr", noblock=1) Foo { boost::shared_ptr< Foo > }
|
||||
class Foo {};
|
||||
|
||||
The generated Foo_swigregister function will then register boost::shared < Foo >
|
||||
(SWIGTYPE_p_boost__shared_ptrTFoo_t instead of SWIGTYPE_p_Foo) as the underlying
|
||||
type for instantiations of Foo.
|
||||
|
||||
02/09/2008: wsfulton
|
||||
Features now supports the optional 'noblock' attribute for all usage of %feature.
|
||||
When specified, the { } braces are removed from the feature code. This is identical
|
||||
in behaviour to usage of 'noblock' in typemaps and is used when the preprocessor
|
||||
is required to operate on the code in the feature and the enclosing { } braces
|
||||
are not required. Example:
|
||||
|
||||
#define FOO foo
|
||||
%feature("smartptr", noblock="1") { FOO::bar }
|
||||
|
||||
The preprocessor then reduces this as if this had been used instead:
|
||||
|
||||
%feature("smartptr") "foo::bar"
|
||||
|
||||
02/01/2008: olly
|
||||
[Python] Fix format string bug (SF#1882220).
|
||||
|
||||
01/31/2008: wsfulton
|
||||
Additions to the %types directive. Now the conversion / casting code can be
|
||||
overridden to some custom code in the %types directive, like so:
|
||||
|
||||
%types(fromtype = totype) %{
|
||||
... code to convert fromtype to totype and return ...
|
||||
%}
|
||||
|
||||
The special variable $from will be replaced by the name of the parameter of the
|
||||
type being converted from. The code must return the totype cast to void *. Example:
|
||||
|
||||
class Time;
|
||||
class Date;
|
||||
Date &Time::dateFromTime();
|
||||
|
||||
%types(Time = Date) %{
|
||||
Time *t = (Time *)$from;
|
||||
Date &d = t->dateFromTime();
|
||||
return (void *) &d;
|
||||
%}
|
||||
|
||||
resulting in the conversion / casting code looking something like:
|
||||
|
||||
static void *_p_TimeTo_p_Date(void *x) {
|
||||
Time *t = (Time *)x;
|
||||
Date &d = t->dateFromTime();
|
||||
return (void *) &d;
|
||||
}
|
||||
|
||||
This is advanced usage, please use only if you understand the runtime type system.
|
||||
|
||||
01/30/2008: mgossage
|
||||
Small update to documentation in Typemaps.html, to warn about use of local
|
||||
variables in typemaps for multiple types.
|
||||
|
||||
01/25/2008: wsfulton
|
||||
[Java] Fix bug reported by Kevin Mills in ARRAYSOFCLASSES typemaps where any
|
||||
changes made to an array element passed from Java to C are not reflected back
|
||||
into Java.
|
||||
|
||||
01/24/2008: mgossage
|
||||
More updates to the configure script for detecting lua.
|
||||
Also looks in /usr/include/lua*
|
||||
Also changed typemaps.i not to check for NULL before freeing a pointer
|
||||
|
||||
01/21/2008: wsfulton
|
||||
[Python] For STL containers, SWIG no longer attempts to convert from one
|
||||
STL container to another, eg from std::vector<int> to std::vector<double>
|
||||
or std::list<int> to std::vector<int> or even std::vector<Foo> to
|
||||
std::vector<Bar> as it previously did. In fact SWIG no longer attempts to
|
||||
convert any SWIG wrapped C++ proxy class that is also a Python sequence,
|
||||
whereas previously it would. Any non-SWIG Python sequence will still be
|
||||
accepted wherever an STL container is accepted. Overloaded methods using
|
||||
containers should be faster.
|
||||
|
||||
01/18/2008: wsfulton
|
||||
[C#] Add 'directorinattributes' and 'directoroutattributes' typemap attributes
|
||||
for the imtype typemap. These should contain C# attributes which will
|
||||
be generated into the C# director delegate methods.
|
||||
|
||||
01/18/2008: olly
|
||||
Fix handling of byte value 255 in input files on platforms where
|
||||
char is signed (it was getting mapped to EOF). Fixes SF#1518219.
|
||||
|
||||
01/16/2008: wsfulton
|
||||
Fix template member variables wrapped by a smart pointer. Bug reported
|
||||
by Robert Lupton.
|
||||
|
||||
01/14/2008: mgossage
|
||||
Substantial changes to configure script for detecting lua.
|
||||
Code can now link to liblua.a, liblua50.a or liblua51.a
|
||||
It's also a lot neater now.
|
||||
|
||||
12/16/2007: wsfulton
|
||||
[Perl] Backed out #1798728 - numbers can be passed to functions taking char *
|
||||
|
||||
12/16/2007: wsfulton
|
||||
Fix #1832613 - Templates and some typedefs involving pointers or function pointers
|
||||
|
||||
12/12/2007: wsfulton
|
||||
[Java] Fix #1632625 - Compilation errors on Visual C++ 6 when using directors.
|
||||
|
||||
12/12/2007: wsfulton
|
||||
[Perl] Fix #1798728 - numbers can be passed to functions taking char *.
|
||||
|
||||
12/12/2007: wsfulton
|
||||
Fix #1819847 %template with just one default template parameter
|
||||
|
||||
template<typename T = int> class Foo {...};
|
||||
%template(FooDefault) Foo<>;
|
||||
|
||||
12/12/2007: mgossage
|
||||
[Lua] Small correction on Lua.html
|
||||
|
||||
12/09/2007: wsfulton
|
||||
Apply patch #1838248 from Monty Taylor for vpath builds of SWIG.
|
||||
|
||||
12/08/2007: wsfulton
|
||||
[Lua] Fixes to remove gcc-4.2 warnings
|
||||
|
||||
12/06/2007: wsfulton
|
||||
Fix #1734415 - template template parameters with default arguments such as:
|
||||
|
||||
template<typename t_item, template<typename> class t_alloc = pfc::alloc_fast >
|
||||
class list_t : public list_impl_t<t_item,pfc::array_t<t_item,t_alloc> > { ... };
|
||||
|
||||
12/04/2007: mgossage
|
||||
[lua] Fix a bug in the class hierachy code, where the methods were not propagated,
|
||||
if the name ordering was in a certain order.
|
||||
Added new example programs (dual, embed) and runtime tests for test-suite.
|
||||
|
||||
11/30/2007: wsfulton
|
||||
Fix using statements using a base class method where the methods were overloaded.
|
||||
Depending on the order of the using statements and method declarations, these
|
||||
were previously generating uncompileable wrappers, eg:
|
||||
|
||||
struct Derived : Base {
|
||||
virtual void funk();
|
||||
using Base::funk;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<body bgcolor="#ffffff">
|
||||
<H1><a name="Sections"></a>SWIG-1.3 Development Documentation</H1>
|
||||
|
||||
Last update : SWIG-1.3.34 (27 February 2008)
|
||||
Last update : SWIG-1.3.35 (in progress)
|
||||
|
||||
<H2>Sections</H2>
|
||||
|
||||
|
|
|
|||
2
README
2
README
|
|
@ -1,6 +1,6 @@
|
|||
SWIG (Simplified Wrapper and Interface Generator)
|
||||
|
||||
Version: 1.3.34 (27 February 2008)
|
||||
Version: 1.3.35 (in progress)
|
||||
|
||||
Tagline: SWIG is a compiler that integrates C and C++ with languages
|
||||
including Perl, Python, Tcl, Ruby, PHP, Java, Ocaml, Lua,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue