Bump version to 2.0.1
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12096 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
2ebbdfc47d
commit
293426b02a
7 changed files with 681 additions and 674 deletions
8
ANNOUNCE
8
ANNOUNCE
|
|
@ -1,8 +1,8 @@
|
||||||
*** ANNOUNCE: SWIG 2.0.0 (2 June 2010) ***
|
*** ANNOUNCE: SWIG 2.0.1 (in progress) ***
|
||||||
|
|
||||||
http://www.swig.org
|
http://www.swig.org
|
||||||
|
|
||||||
We're pleased to announce SWIG-2.0.0, the latest SWIG release.
|
We're pleased to announce SWIG-2.0.1, the latest SWIG release.
|
||||||
|
|
||||||
What is SWIG?
|
What is SWIG?
|
||||||
=============
|
=============
|
||||||
|
|
@ -21,11 +21,11 @@ Availability
|
||||||
============
|
============
|
||||||
The release is available for download on Sourceforge at
|
The release is available for download on Sourceforge at
|
||||||
|
|
||||||
http://prdownloads.sourceforge.net/swig/swig-2.0.0.tar.gz
|
http://prdownloads.sourceforge.net/swig/swig-2.0.1.tar.gz
|
||||||
|
|
||||||
A Windows version is also available at
|
A Windows version is also available at
|
||||||
|
|
||||||
http://prdownloads.sourceforge.net/swig/swigwin-2.0.0.zip
|
http://prdownloads.sourceforge.net/swig/swigwin-2.0.1.zip
|
||||||
|
|
||||||
Please report problems with this release to the swig-devel mailing list,
|
Please report problems with this release to the swig-devel mailing list,
|
||||||
details at http://www.swig.org/mail.html.
|
details at http://www.swig.org/mail.html.
|
||||||
|
|
|
||||||
666
CHANGES
666
CHANGES
|
|
@ -1,8 +1,672 @@
|
||||||
SWIG (Simplified Wrapper and Interface Generator)
|
SWIG (Simplified Wrapper and Interface Generator)
|
||||||
|
|
||||||
See CHANGES.current file for changes in the current version.
|
See the CHANGES.current file for changes in the current version.
|
||||||
|
See the RELEASENOTES file for a summary of changes in each release.
|
||||||
|
|
||||||
|
Version 2.0.0 (2 June 2010)
|
||||||
|
===========================
|
||||||
|
|
||||||
|
See CHANGES file for changes in older releases.
|
||||||
See RELEASENOTES file for a summary of changes in each release.
|
See RELEASENOTES file for a summary of changes in each release.
|
||||||
|
|
||||||
|
2010-06-02: wsfulton
|
||||||
|
[C#] Fix SWIG_STD_VECTOR_ENHANCED macro used in std::vector to work with
|
||||||
|
types containing commas, for example:
|
||||||
|
|
||||||
|
SWIG_STD_VECTOR_ENHANCED(std::pair< double, std::string >)
|
||||||
|
|
||||||
|
2010-06-01: wsfulton
|
||||||
|
Add in std_shared_ptr.i for wrapping std::shared_ptr. Requires the %shared_ptr
|
||||||
|
macro like in the boost_shared_ptr.i library. std::tr1::shared_ptr can also be
|
||||||
|
wrapped if the following macro is defined:
|
||||||
|
|
||||||
|
#define SWIG_SHARED_PTR_SUBNAMESPACE tr1
|
||||||
|
%include <std_shared_ptr.i>
|
||||||
|
|
||||||
|
shared_ptr is also documented in Library.html now.
|
||||||
|
|
||||||
|
2010-05-27: wsfulton
|
||||||
|
Add the ability for $typemap special variable macros to call other $typemap
|
||||||
|
special variable macros, for example:
|
||||||
|
|
||||||
|
%typemap(cstype) CC "CC"
|
||||||
|
%typemap(cstype) BB "$typemap(cstype, CC)"
|
||||||
|
%typemap(cstype) AA "$typemap(cstype, BB)"
|
||||||
|
void hah(AA aa);
|
||||||
|
|
||||||
|
This also fixes C# std::vector containers of shared_ptr and %shared_ptr.
|
||||||
|
|
||||||
|
Also added diagnostics for $typemap with -debug-tmsearch, for example, the
|
||||||
|
above displays additional diagnostic lines starting "Containing: ":
|
||||||
|
|
||||||
|
example.i:34: Searching for a suitable 'cstype' typemap for: AA aa
|
||||||
|
Looking for: AA aa
|
||||||
|
Looking for: AA
|
||||||
|
Using: %typemap(cstype) AA
|
||||||
|
Containing: $typemap(cstype, BB)
|
||||||
|
example.i:31: Searching for a suitable 'cstype' typemap for: BB
|
||||||
|
Looking for: BB
|
||||||
|
Using: %typemap(cstype) BB
|
||||||
|
Containing: $typemap(cstype, CC)
|
||||||
|
example.i:29: Searching for a suitable 'cstype' typemap for: CC
|
||||||
|
Looking for: CC
|
||||||
|
Using: %typemap(cstype) CC
|
||||||
|
|
||||||
|
2010-05-26: olly
|
||||||
|
Fix %attribute2ref not to produce a syntax error if the last
|
||||||
|
argument (AccessorMethod) is omitted. Patch from David Piepgras
|
||||||
|
in SF#2235756.
|
||||||
|
|
||||||
|
2010-05-26: olly
|
||||||
|
[PHP] When using %throws or %catches, SWIG-generated PHP5 wrappers
|
||||||
|
now throw PHP Exception objects instead of giving a PHP error of
|
||||||
|
type E_ERROR.
|
||||||
|
|
||||||
|
This change shouldn't cause incompatibility issues, since you can't
|
||||||
|
set an error handler for E_ERROR, so previously PHP would just exit
|
||||||
|
which also happens for unhandled exceptions. The benefit is you can
|
||||||
|
now catch them if you want to.
|
||||||
|
|
||||||
|
Fixes SF#2545578 and SF#2955522.
|
||||||
|
|
||||||
|
2010-05-25: olly
|
||||||
|
[PHP] Add missing directorin typemap for const std::string &.
|
||||||
|
Fixes SF#3006404 reported by t-Legiaw.
|
||||||
|
|
||||||
|
2010-05-23: wsfulton
|
||||||
|
[C#] Fix #2957375 - SWIGStringHelper and SWIGExceptionHelper not always being
|
||||||
|
initialized before use in .NET 4 as the classes were not marked beforefieldinit.
|
||||||
|
A static constructor has been added to the intermediary class like this:
|
||||||
|
|
||||||
|
%pragma(csharp) imclasscode=%{
|
||||||
|
static $imclassname() {
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
|
||||||
|
If you had added your own custom static constructor to the intermediary class in
|
||||||
|
the same way as above, you will have to modify your approach to use static variable
|
||||||
|
initialization or define SWIG_CSHARP_NO_IMCLASS_STATIC_CONSTRUCTOR - See csharphead.swg.
|
||||||
|
|
||||||
|
*** POTENTIAL INCOMPATIBILITY ***
|
||||||
|
|
||||||
|
2010-05-23: wsfulton
|
||||||
|
Fix #2408232. Improve shared_ptr and intrusive_ptr wrappers for classes in an
|
||||||
|
inheritance hierarchy. No special treatment is needed for derived classes.
|
||||||
|
The proxy class also no longer needs to be specified, it is automatically
|
||||||
|
deduced. The following macros are deprecated:
|
||||||
|
SWIG_SHARED_PTR(PROXYCLASS, TYPE)
|
||||||
|
SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
|
||||||
|
and have been replaced by
|
||||||
|
%shared_ptr(TYPE)
|
||||||
|
Similarly for intrusive_ptr wrappers, the following macro is deprecated:
|
||||||
|
SWIG_INTRUSIVE_PTR(PROXYCLASS, TYPE)
|
||||||
|
SWIG_INTRUSIVE_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
|
||||||
|
and have been replaced by
|
||||||
|
%intrusive_ptr(TYPE)
|
||||||
|
|
||||||
|
2010-05-21: olly
|
||||||
|
[PHP] Stop generating a bogus line of code in certain constructors.
|
||||||
|
This was mostly harmless, but caused a PHP notice to be issued, if
|
||||||
|
enabled (SF#2985684).
|
||||||
|
|
||||||
|
2010-05-18: wsfulton
|
||||||
|
[Java] Fix member pointers on 64 bit platforms.
|
||||||
|
|
||||||
|
2010-05-14: wsfulton
|
||||||
|
Fix wrapping of C++ enum boolean values reported by Torsten Landschoff:
|
||||||
|
typedef enum { PLAY = true, STOP = false } play_state;
|
||||||
|
|
||||||
|
2010-05-14: olly
|
||||||
|
[PHP] Fix wrapping of global variables which was producing
|
||||||
|
uncompilable code in some cases.
|
||||||
|
|
||||||
|
2010-05-12: drjoe
|
||||||
|
[R] Add two more changes from Wil Nolan. Get garbage
|
||||||
|
collection to work. Implement newfree
|
||||||
|
|
||||||
|
2010-05-09: drjoe
|
||||||
|
Fix bug reported by Wil Nolan change creation of string so
|
||||||
|
that R 2.7.0+ can use char hashes
|
||||||
|
|
||||||
|
2010-05-07: wsfulton
|
||||||
|
Apply patch #2955146 from Sergey Satskiy to fix expressions containing divide by
|
||||||
|
operator in constructor initialization lists.
|
||||||
|
|
||||||
|
2010-05-05: wsfulton
|
||||||
|
[R] Memory leak fix handling const std::string & inputs, reported by Will Nolan.
|
||||||
|
|
||||||
|
2010-05-01: wsfulton
|
||||||
|
Typemap matching enhancement for non-default typemaps. Previously all
|
||||||
|
qualifiers were stripped in one step, now they are stripped one at a time
|
||||||
|
starting with the left most qualifier. For example, int const*const
|
||||||
|
is first stripped to int *const then int *.
|
||||||
|
|
||||||
|
*** POTENTIAL INCOMPATIBILITY ***
|
||||||
|
|
||||||
|
2010-04-25: bhy
|
||||||
|
[Python] Fix #2985655 - broken constructor renaming.
|
||||||
|
|
||||||
|
2010-04-14: wsfulton
|
||||||
|
Typemap fragments are now official and documented in Typemaps.html.
|
||||||
|
|
||||||
|
2010-04-09: wsfulton
|
||||||
|
[Ruby] Fix #2048064 and #2408020.
|
||||||
|
Apply Ubuntu patch to fix Ruby and std::vector wrappers with -minherit.
|
||||||
|
https://bugs.launchpad.net/ubuntu/+source/swig1.3/+bug/522874
|
||||||
|
|
||||||
|
2010-04-09: wsfulton
|
||||||
|
[Mzscheme] Apply Ubuntu patch to fix std::map wrappers:
|
||||||
|
https://bugs.launchpad.net/ubuntu/+source/swig1.3/+bug/203876
|
||||||
|
|
||||||
|
2010-04-09: wsfulton
|
||||||
|
[Python] Apply patch #2952374 - fix directors and the -nortti option.
|
||||||
|
|
||||||
|
2010-04-09: wsfulton
|
||||||
|
[Lua] Fix #2887254 and #2946032 - SWIG_Lua_typename using wrong stack index.
|
||||||
|
|
||||||
|
2010-04-03: wsfulton
|
||||||
|
[Python] Fix exceptions being thrown with the -threads option based on patch from Arto Vuori.
|
||||||
|
Fixes bug #2818499.
|
||||||
|
|
||||||
|
2010-04-03: wsfulton
|
||||||
|
Fix Makefile targets: distclean and maintainer-clean
|
||||||
|
|
||||||
|
2010-04-02: wsfulton
|
||||||
|
[Lua] Fix char pointers, wchar_t pointers and char arrays so that nil can be passed as a
|
||||||
|
valid value. Bug reported by Gedalia Pasternak.
|
||||||
|
|
||||||
|
2010-04-01: wsfulton
|
||||||
|
Numerous subtle typemap matching rule fixes when using the default type. The typemap
|
||||||
|
matching rules are to take a type and find the best default typemap (SWIGTYPE, SWIGTYPE* etc),
|
||||||
|
then look for the next best match by reducing the chosen default type. The type deduction
|
||||||
|
now follows C++ class template partial specialization matching rules.
|
||||||
|
|
||||||
|
Below are the set of changes made showing the default type deduction
|
||||||
|
along with the old reduced type and the new version of the reduced type:
|
||||||
|
|
||||||
|
SWIGTYPE const &[ANY]
|
||||||
|
new: SWIGTYPE const &[]
|
||||||
|
old: SWIGTYPE (&)[ANY]
|
||||||
|
|
||||||
|
SWIGTYPE *const [ANY]
|
||||||
|
new: SWIGTYPE const [ANY]
|
||||||
|
old: SWIGTYPE *[ANY]
|
||||||
|
|
||||||
|
SWIGTYPE const *const [ANY]
|
||||||
|
new: SWIGTYPE *const [ANY]
|
||||||
|
old: SWIGTYPE const *[ANY]
|
||||||
|
|
||||||
|
SWIGTYPE const *const &
|
||||||
|
new: SWIGTYPE *const &
|
||||||
|
old: SWIGTYPE const *&
|
||||||
|
|
||||||
|
SWIGTYPE *const *
|
||||||
|
new: SWIGTYPE const *
|
||||||
|
old: SWIGTYPE **
|
||||||
|
|
||||||
|
SWIGTYPE *const &
|
||||||
|
new: SWIGTYPE const &
|
||||||
|
old: SWIGTYPE *&
|
||||||
|
|
||||||
|
Additionally, a const SWIGTYPE lookup is used now for any constant type. Some examples, where
|
||||||
|
T is some reduced type, eg int, struct Foo:
|
||||||
|
|
||||||
|
T const
|
||||||
|
new: SWIGTYPE const
|
||||||
|
old: SWIGTYPE
|
||||||
|
|
||||||
|
T *const
|
||||||
|
new: SWIGTYPE *const
|
||||||
|
old: SWIGTYPE *
|
||||||
|
|
||||||
|
T const[]
|
||||||
|
new: SWIGTYPE const[]
|
||||||
|
old: SWIGTYPE[]
|
||||||
|
|
||||||
|
enum T const
|
||||||
|
new: enum SWIGTYPE const
|
||||||
|
old: enum SWIGTYPE
|
||||||
|
|
||||||
|
T (*const )[]
|
||||||
|
new: SWIGTYPE (*const )[]
|
||||||
|
old: SWIGTYPE (*)[]
|
||||||
|
|
||||||
|
Reminder: the typemap matching rules can now be seen for any types being wrapped by using
|
||||||
|
either the -debug-tmsearch or -debug-tmused options.
|
||||||
|
|
||||||
|
In practice this leads to some subtle matching rule changes and the majority of users
|
||||||
|
won't notice any changes, except in the prime area of motivation for this change: Improve
|
||||||
|
STL containers of const pointers and passing const pointers by reference. This is fixed
|
||||||
|
because many of the STL containers use a type 'T const&' as parameters and when T is
|
||||||
|
a const pointer, for example, 'K const*', then the full type is 'K const*const&'. This
|
||||||
|
means that the 'SWIGTYPE *const&' typemaps now match when T is either a non-const or
|
||||||
|
const pointer. Furthermore, some target languages incorrectly had 'SWIGTYPE *&' typemaps
|
||||||
|
when these should have been 'SWIGTYPE *const&'. These have been corrected (Java, C#, Lua, PHP).
|
||||||
|
|
||||||
|
*** POTENTIAL INCOMPATIBILITY ***
|
||||||
|
|
||||||
|
2010-03-13: wsfulton
|
||||||
|
[Java] Some very old deprecated pragma warnings are now errors.
|
||||||
|
|
||||||
|
2010-03-13: wsfulton
|
||||||
|
Improve handling of file names and directories containing double/multiple path separators.
|
||||||
|
|
||||||
|
2010-03-10: mutandiz (Mikel Bancroft)
|
||||||
|
[allegrocl] Use fully qualified symbol name of cl::identity in emit_defun().
|
||||||
|
|
||||||
|
2010-03-06: wsfulton
|
||||||
|
[Java] The intermediary JNI class modifiers are now public by default meaning these
|
||||||
|
intermediary low level functions are now accessible by default from outside any package
|
||||||
|
used. The proxy class pointer constructor and getCPtr() methods are also now public.
|
||||||
|
These are needed in order for the nspace option to work without any other mods.
|
||||||
|
The previous default of protected access can be restored using:
|
||||||
|
|
||||||
|
SWIG_JAVABODY_METHODS(protected, protected, SWIGTYPE)
|
||||||
|
%pragma(java) jniclassclassmodifiers = "class"
|
||||||
|
|
||||||
|
2010-03-06: wsfulton
|
||||||
|
[C#] Added the nspace feature for C#. Documentation for the nspace feature is now available.
|
||||||
|
|
||||||
|
2010-03-04: wsfulton
|
||||||
|
Added the nspace feature. This adds some improved namespace support. Currently only Java
|
||||||
|
is supported for target languages, where C++ namespaces are automatically translated into
|
||||||
|
Java packages. The feature only applies to classes,struct,unions and enums declared within
|
||||||
|
a namespace. Methods and variables declared in namespaces still effectively have their
|
||||||
|
namespaces flattened. Example usage:
|
||||||
|
|
||||||
|
%feature(nspace) Outer::Inner1::Color;
|
||||||
|
%feature(nspace) Outer::Inner2::Color;
|
||||||
|
|
||||||
|
namespace Outer {
|
||||||
|
namespace Inner1 {
|
||||||
|
struct Color {
|
||||||
|
...
|
||||||
|
};
|
||||||
|
}
|
||||||
|
namespace Inner2 {
|
||||||
|
struct Color {
|
||||||
|
...
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
For Java, the -package option is also required when using the nspace feature. Say
|
||||||
|
we use -package com.myco, the two classes can then be accessed as follows from Java:
|
||||||
|
|
||||||
|
com.myco.Outer.Inner1.Color and com.myco.Outer.Inner2.Color.
|
||||||
|
|
||||||
|
2010-02-27: wsfulton
|
||||||
|
[Python] Remove -dirvtable from the optimizations included by -O as it this option
|
||||||
|
currently leads to memory leaks as reported by Johan Blake.
|
||||||
|
|
||||||
|
2010-02-27: wsfulton
|
||||||
|
License code changes: SWIG Source is GPL-v3 and library code license is now clearer
|
||||||
|
and is provided under a very permissive license. See http://www.swig.org/legal.html.
|
||||||
|
|
||||||
|
2010-02-13: wsfulton
|
||||||
|
[Ruby] A few fixes for compiling under ruby-1.9.x including patch from 'Nibble'.
|
||||||
|
|
||||||
|
2010-02-13: wsfulton
|
||||||
|
[Ruby] Apply patch from Patrick Bennett to fix RARRAY_LEN and RARRAY_PTR usage for Ruby 1.9.x
|
||||||
|
used in various STL wrappers.
|
||||||
|
|
||||||
|
2010-02-13: wsfulton
|
||||||
|
[C#, Java] Fix incorrect multiply defined symbol name error when an enum item
|
||||||
|
and class name have the same name, as reported by Nathan Krieger. Example:
|
||||||
|
|
||||||
|
class Vector {};
|
||||||
|
namespace Text {
|
||||||
|
enum Preference { Vector };
|
||||||
|
}
|
||||||
|
|
||||||
|
This also fixes other incorrect corner case target language symbol name clashes.
|
||||||
|
|
||||||
|
2010-02-11: wsfulton
|
||||||
|
Add the -debug-lsymbols option for displaying the target language layer symbols.
|
||||||
|
|
||||||
|
2010-02-09: wsfulton
|
||||||
|
Fix -MM and -MMD options on Windows. They were not omitting files in the SWIG library as
|
||||||
|
they should be.
|
||||||
|
|
||||||
|
2010-02-08: wsfulton
|
||||||
|
Fix #1807329 - When Makefile dependencies are being generated using the -M family of options
|
||||||
|
on Windows, the file paths have been corrected to use single backslashes rather than double
|
||||||
|
backslashes as path separators.
|
||||||
|
|
||||||
|
2010-02-06: wsfulton
|
||||||
|
Fix #2918902 - language specific files not being generated in correct directory on
|
||||||
|
Windows when using forward slashes for -o, for example:
|
||||||
|
swig -python -c++ -o subdirectory/theinterface_wrap.cpp subdirectory/theinterface.i
|
||||||
|
|
||||||
|
2010-02-05: wsfulton
|
||||||
|
Fix #2894405 - assertion when using -xmlout.
|
||||||
|
|
||||||
|
2010-01-28: wsfulton
|
||||||
|
Fix typemap matching bug when a templated type has a typemap both specialized and not
|
||||||
|
specialized. For example:
|
||||||
|
|
||||||
|
template<typename T> struct XX { ... };
|
||||||
|
%typemap(in) const XX & "..."
|
||||||
|
%typemap(in) const XX< int > & "..."
|
||||||
|
|
||||||
|
resulted in the 2nd typemap being applied for all T in XX< T >.
|
||||||
|
|
||||||
|
2010-01-22: wsfulton
|
||||||
|
Fix #2933129 - typemaps not being found when the unary scope operator (::) is used to denote
|
||||||
|
global scope, the typemap is now used in situations like this:
|
||||||
|
|
||||||
|
struct X {};
|
||||||
|
%typemap(in) const X & "..."
|
||||||
|
void m(const ::X &);
|
||||||
|
|
||||||
|
and this:
|
||||||
|
|
||||||
|
struct X {};
|
||||||
|
%typemap(in) const ::X & "..."
|
||||||
|
void m(const X &);
|
||||||
|
|
||||||
|
2010-01-20: wsfulton
|
||||||
|
Fix some unary scope operator (::) denoting global scope problems in the types generated
|
||||||
|
into the C++ layer. Previously the unary scope operator was dropped in the generated code
|
||||||
|
if the type had any sort of qualifier, for example when using pointers, references, like
|
||||||
|
::foo*, ::foo&, bar< ::foo* >.
|
||||||
|
|
||||||
|
2010-01-13: olly
|
||||||
|
[PHP] Add datetime to the list of PHP predefined classes (patch
|
||||||
|
from David Fletcher in SF#2931042).
|
||||||
|
|
||||||
|
2010-01-11: wsfulton
|
||||||
|
Slight change to warning, error and diagnostic reporting. The warning number is no
|
||||||
|
longer shown within brackets. This is to help default parsing of warning messages by
|
||||||
|
other tools, vim on Unix in particular.
|
||||||
|
|
||||||
|
Example original display using -Fstandard:
|
||||||
|
example.i:20: Warning(401): Nothing known about base class 'B'. Ignored.
|
||||||
|
New display:
|
||||||
|
example.i:20: Warning 401: Nothing known about base class 'B'. Ignored.
|
||||||
|
|
||||||
|
Also subtle fix to -Fmicrosoft format adding in missing space. Example original display:
|
||||||
|
example.i(20): Warning(401): Nothing known about base class 'Base'. Ignored.
|
||||||
|
New display:
|
||||||
|
example.i(20) : Warning 401: Nothing known about base class 'Base'. Ignored.
|
||||||
|
|
||||||
|
2010-01-10: wsfulton
|
||||||
|
Fix a few inconsistencies in reporting of file/line numberings including modifying
|
||||||
|
the overload warnings 509, 512, 516, 474, 475 to now be two line warnings.
|
||||||
|
|
||||||
|
2010-01-10: wsfulton
|
||||||
|
Modify -debug-tags output to use standard file name/line reporting so that editors
|
||||||
|
can easily navigate to the appropriate lines.
|
||||||
|
Was typically:
|
||||||
|
. top . include . include (/usr/share/swig/temp/trunk/Lib/swig.swg:312)
|
||||||
|
. top . include . include . include (/usr/share/swig/temp/trunk/Lib/swigwarnings.swg:39)
|
||||||
|
now:
|
||||||
|
/usr/share/swig/temp/trunk/Lib/swig.swg:312: . top . include . include
|
||||||
|
/usr/share/swig/temp/trunk/Lib/swigwarnings.swg:39: . top . include . include . include
|
||||||
|
|
||||||
|
2010-01-03: wsfulton
|
||||||
|
Fix missing file/line numbers for typemap warnings and in output from the
|
||||||
|
-debug-tmsearch/-debug-tmused options.
|
||||||
|
|
||||||
|
2010-01-03: wsfulton
|
||||||
|
Add typemaps used debugging option (-debug-tmused). When used each line displays
|
||||||
|
the typemap used for each type for which code is being generated including the file
|
||||||
|
and line number related to the type. This is effectively a condensed form of the
|
||||||
|
-debug-tmsearch option. Documented in Typemaps.html.
|
||||||
|
|
||||||
|
2009-12-23: wsfulton
|
||||||
|
Fix for %javaexception and directors so that all the appropriate throws clauses
|
||||||
|
are generated. Problem reported by Peter Greenwood.
|
||||||
|
|
||||||
|
2009-12-20: wsfulton
|
||||||
|
Add -debug-tmsearch option for debugging the typemap pattern matching rules.
|
||||||
|
Documented in Typemaps.html.
|
||||||
|
|
||||||
|
2009-12-12: wsfulton
|
||||||
|
[Octave] Remove the -api option and use the new OCTAVE_API_VERSION_NUMBER
|
||||||
|
macro provided in the octave headers for determining the api version instead.
|
||||||
|
|
||||||
|
2009-12-04: olly
|
||||||
|
[Ruby] Improve support for Ruby 1.9 under GCC. Addresses part of
|
||||||
|
SF#2859614.
|
||||||
|
|
||||||
|
2009-12-04: olly
|
||||||
|
Fix handling of modulo operator (%) in constant expressions
|
||||||
|
(SF#2818562).
|
||||||
|
|
||||||
|
2009-12-04: olly
|
||||||
|
[PHP] "empty" is a reserved word in PHP, so rename empty() method
|
||||||
|
on STL classes to "is_empty()" (previously this was automatically
|
||||||
|
renamed to "c_empty()").
|
||||||
|
*** POTENTIAL INCOMPATIBILITY ***
|
||||||
|
|
||||||
|
2009-12-03: olly
|
||||||
|
[PHP] Add typemaps for long long and unsigned long long, and for
|
||||||
|
pointer to method.
|
||||||
|
|
||||||
|
2009-12-02: olly
|
||||||
|
[PHP] Fix warning and rename of reserved class name to be case
|
||||||
|
insensitive.
|
||||||
|
|
||||||
|
2009-12-01: wsfulton
|
||||||
|
Revert support for %extend and memberin typemaps added in swig-1.3.39. The
|
||||||
|
memberin typemaps are ignored again for member variables within a %extend block.
|
||||||
|
Documentation inconsistency reported by Torsten Landschoff.
|
||||||
|
|
||||||
|
2009-11-29: wsfulton
|
||||||
|
[Java, C#] Fix generated quoting when using %javaconst(1)/%csconst(1) for
|
||||||
|
static const char member variables.
|
||||||
|
|
||||||
|
%javaconst(1) A;
|
||||||
|
%csconst(1) A;
|
||||||
|
struct X {
|
||||||
|
static const char A = 'A';
|
||||||
|
};
|
||||||
|
|
||||||
|
2009-11-26: wsfulton
|
||||||
|
[Java, C#] Fix %javaconst(1)/%csconst(1) for static const member variables to
|
||||||
|
use the actual constant value if it is specified, rather than the C++ code to
|
||||||
|
access the member.
|
||||||
|
|
||||||
|
%javaconst(1) EN;
|
||||||
|
%csconst(1) EN;
|
||||||
|
struct X {
|
||||||
|
static const int EN = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
2009-11-23: wsfulton
|
||||||
|
C++ nested typedef classes can now be handled too, for example:
|
||||||
|
struct Outer {
|
||||||
|
typedef Foo { } FooTypedef1, FooTypedef2;
|
||||||
|
};
|
||||||
|
|
||||||
|
2009-11-18: wsfulton
|
||||||
|
The wrappers for C nested structs are now generated in the same order as declared
|
||||||
|
in the parsed code.
|
||||||
|
|
||||||
|
2009-11-18: wsfulton
|
||||||
|
Fix #491476 - multiple declarations of nested structs, for example:
|
||||||
|
struct Outer {
|
||||||
|
struct {
|
||||||
|
int val;
|
||||||
|
} inner1, inner2, *inner3, inner4[1];
|
||||||
|
} outer;
|
||||||
|
|
||||||
|
2009-11-17: wsfulton
|
||||||
|
Fix parsing of enum declaration and initialization, for example:
|
||||||
|
|
||||||
|
enum ABC {
|
||||||
|
a,
|
||||||
|
b,
|
||||||
|
c
|
||||||
|
} A = a, *pC = &C, array[3] = {a, b, c};
|
||||||
|
|
||||||
|
2009-11-17: wsfulton
|
||||||
|
Fix parsing of struct declaration and initialization, for example:
|
||||||
|
|
||||||
|
struct S {
|
||||||
|
int x;
|
||||||
|
} instance = { 10 };
|
||||||
|
|
||||||
|
2009-11-15: wsfulton
|
||||||
|
Fix #1960977 - Syntax error parsing derived nested class declaration and member
|
||||||
|
variable instance.
|
||||||
|
|
||||||
|
2009-11-14: wsfulton
|
||||||
|
Fix #2310483 - function pointer typedef within extern "C" block.
|
||||||
|
|
||||||
|
2009-11-13: wsfulton
|
||||||
|
Fix usage of nested template classes within templated classes so that compileable code
|
||||||
|
is generated.
|
||||||
|
|
||||||
|
2009-11-13: olly
|
||||||
|
[php] Fix place where class prefix (as specified with -prefix)
|
||||||
|
wasn't being used. Patch from gverbruggen in SF#2892647.
|
||||||
|
|
||||||
|
2009-11-12: wsfulton
|
||||||
|
Fix usage of nested template classes so that compileable code is generated - the nested
|
||||||
|
template class is now treated like a normal nested classes, that is, as an opaque type
|
||||||
|
unless the nestedworkaround feature is used.
|
||||||
|
|
||||||
|
2009-11-12: wsfulton
|
||||||
|
Replace SWIGWARN_PARSE_NESTED_CLASS with SWIGWARN_PARSE_NAMED_NESTED_CLASS and
|
||||||
|
SWIGWARN_PARSE_UNNAMED_NESTED_CLASS for named and unnamed nested classes respectively.
|
||||||
|
|
||||||
|
Named nested class ignored warnings can now be suppressed by name using %warnfilter, eg:
|
||||||
|
|
||||||
|
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::Inner;
|
||||||
|
|
||||||
|
but clearly unnamed nested classes cannot and the global suppression is still required, eg:
|
||||||
|
|
||||||
|
#pragma SWIG nowarn=SWIGWARN_PARSE_UNNAMED_NESTED_CLASS
|
||||||
|
|
||||||
|
2009-11-11: wsfulton
|
||||||
|
Added the nestedworkaround feature as a way to use the full functionality of a nested class
|
||||||
|
(C++ mode only). It removes the nested class from SWIG's type information so it is as if SWIG
|
||||||
|
had never parsed the nested class. The documented nested class workarounds using a global
|
||||||
|
fake class stopped working when SWIG treated the nested class as an opaque pointer, and
|
||||||
|
this feature reverts this behaviour. The documentation has been updated with details of how
|
||||||
|
to use and implement it, see the "Nested classes" section in SWIGPlus.html.
|
||||||
|
|
||||||
|
2009-11-11: wsfulton
|
||||||
|
There were a number of C++ cases where nested classes/structs/unions were being handled
|
||||||
|
as if C code was being parsed which would oftentimes lead to uncompileable code as an
|
||||||
|
attempt was made to wrap the nested structs like it is documented for C code. Now all
|
||||||
|
nested structs/classes/unions are ignored in C++ mode, as was always documented. However,
|
||||||
|
there is an improvement as usage of nested structs/classes/unions is now always treated
|
||||||
|
as an opaque type by default, resulting in generated code that should always compile.
|
||||||
|
|
||||||
|
*** POTENTIAL INCOMPATIBILITY ***
|
||||||
|
|
||||||
|
2009-11-09: drjoe
|
||||||
|
Fix R for -fcompact and add std_map.i
|
||||||
|
|
||||||
|
2009-11-08: wsfulton
|
||||||
|
Fix inconsistency for nested structs/unions/classes. Uncompileable code was being
|
||||||
|
generated when inner struct and union declarations were used as types within the
|
||||||
|
inner struct. The inner struct/union is now treated as a forward declaration making the
|
||||||
|
behaviour the same as an inner class. (C++ code), eg:
|
||||||
|
|
||||||
|
struct Outer {
|
||||||
|
struct InnerStruct { int x; };
|
||||||
|
InnerStruct* getInnerStruct();
|
||||||
|
};
|
||||||
|
|
||||||
|
2009-11-08: wsfulton
|
||||||
|
Ignored nested class/struct warnings now display the name of the ignored class/struct.
|
||||||
|
|
||||||
|
2009-11-07: wsfulton
|
||||||
|
Bug #1514681 - Fix nested template classes within a namespace generated uncompileable
|
||||||
|
code and introduced strange side effects to other wrapper code especially code
|
||||||
|
after the nested template class. Note that nested template classes are still ignored.
|
||||||
|
|
||||||
|
2009-11-07: wsfulton
|
||||||
|
Add new debug options:
|
||||||
|
-debug-symtabs - Display symbol tables information
|
||||||
|
-debug-symbols - Display target language symbols in the symbol tables
|
||||||
|
-debug-csymbols - Display C symbols in the symbol tables
|
||||||
|
|
||||||
|
2009-11-03: wsfulton
|
||||||
|
Fix some usage of unary scope operator (::) denoting global scope, for example:
|
||||||
|
|
||||||
|
namespace AA { /* ... */ }
|
||||||
|
using namespace ::AA;
|
||||||
|
|
||||||
|
and bug #1816802 - SwigValueWrapper should be used:
|
||||||
|
|
||||||
|
struct CC {
|
||||||
|
CC(int); // no default constructor
|
||||||
|
};
|
||||||
|
::CC x();
|
||||||
|
|
||||||
|
and in template parameter specializations:
|
||||||
|
|
||||||
|
struct S {};
|
||||||
|
template <typename T> struct X { void a() {}; };
|
||||||
|
template <> struct X<S> { void b() {}; };
|
||||||
|
%template(MyTConcrete) X< ::S >;
|
||||||
|
|
||||||
|
plus probably some other corner case usage of ::.
|
||||||
|
|
||||||
|
2009-11-02: olly
|
||||||
|
[Python] Fix potential memory leak in initialisation code for the
|
||||||
|
generated module.
|
||||||
|
|
||||||
|
2009-10-23: wsfulton
|
||||||
|
Fix seg fault when using a named nested template instantiation using %template(name)
|
||||||
|
within a class. A warning that these are not supported is now issued plus processing
|
||||||
|
continues as if no name was given.
|
||||||
|
|
||||||
|
2009-10-20: wsfulton
|
||||||
|
[Python] Fix std::vector<const T*>. This would previously compile, but not run correctly.
|
||||||
|
|
||||||
|
2009-10-20: wsfulton
|
||||||
|
Fixed previously fairly poor template partial specialization and explicit
|
||||||
|
specialization support. Numerous bugs in this area have been fixed including:
|
||||||
|
|
||||||
|
- Template argument deduction implemented for template type arguments, eg this now
|
||||||
|
works:
|
||||||
|
template<typename T> class X {};
|
||||||
|
template<typename T> class X<T *> {};
|
||||||
|
%template(X1) X<const int *>; // Chooses T * specialization
|
||||||
|
|
||||||
|
and more complex cases with multiple parameters and a mix of template argument
|
||||||
|
deduction and explicitly specialised parameters, eg:
|
||||||
|
template <typename T1, typename T2> struct TwoParm { void a() {} };
|
||||||
|
template <typename T1> struct TwoParm<T1 *, int *> { void e() {} };
|
||||||
|
%template(E) TwoParm<int **, int *>;
|
||||||
|
|
||||||
|
Note that the primary template must now be in scope, like in C++, when
|
||||||
|
an explicit or partial specialization is instantiated with %template.
|
||||||
|
|
||||||
|
*** POTENTIAL INCOMPATIBILITY ***
|
||||||
|
|
||||||
|
2009-09-14: wsfulton
|
||||||
|
[C#] Add %csattributes for adding C# attributes to enum values, see docs for example.
|
||||||
|
|
||||||
|
2009-09-11: wsfulton
|
||||||
|
Fix memmove regression in cdata.i as reported by Adriaan Renting.
|
||||||
|
|
||||||
|
2009-09-07: wsfulton
|
||||||
|
Fix constant expressions containing <= or >=.
|
||||||
|
|
||||||
|
2009-09-02: wsfulton
|
||||||
|
The following operators in constant expressions now result in type bool for C++
|
||||||
|
wrappers and remain as type int for C wrappers, as per each standard:
|
||||||
|
|
||||||
|
&& || == != < > <= >= (Actually the last 4 are still broken). For example:
|
||||||
|
|
||||||
|
#define A 10
|
||||||
|
#define B 10
|
||||||
|
#define A_EQ_B A == B // now wrapped as type bool for C++
|
||||||
|
#define A_AND_B A && B // now wrapped as type bool for C++
|
||||||
|
|
||||||
|
2009-09-02: wsfulton
|
||||||
|
Fix #2845746. true and false are now recognised keywords (only when wrapping C++).
|
||||||
|
Constants such as the following are now wrapped (as type bool):
|
||||||
|
#define FOO true
|
||||||
|
#define BAR FOO && false
|
||||||
|
|
||||||
Version 1.3.40 (18 August 2009)
|
Version 1.3.40 (18 August 2009)
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
|
|
|
||||||
667
CHANGES.current
667
CHANGES.current
|
|
@ -1,664 +1,7 @@
|
||||||
Version 2.0.0 (2 June 2010)
|
This file contains the changes for the current release.
|
||||||
|
See the CHANGES file for changes in older releases.
|
||||||
|
See the RELEASENOTES file for a summary of changes in each release.
|
||||||
|
|
||||||
|
Version 2.0.1 (in progress)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
See CHANGES file for changes in older releases.
|
|
||||||
See RELEASENOTES file for a summary of changes in each release.
|
|
||||||
|
|
||||||
2010-06-02: wsfulton
|
|
||||||
[C#] Fix SWIG_STD_VECTOR_ENHANCED macro used in std::vector to work with
|
|
||||||
types containing commas, for example:
|
|
||||||
|
|
||||||
SWIG_STD_VECTOR_ENHANCED(std::pair< double, std::string >)
|
|
||||||
|
|
||||||
2010-06-01: wsfulton
|
|
||||||
Add in std_shared_ptr.i for wrapping std::shared_ptr. Requires the %shared_ptr
|
|
||||||
macro like in the boost_shared_ptr.i library. std::tr1::shared_ptr can also be
|
|
||||||
wrapped if the following macro is defined:
|
|
||||||
|
|
||||||
#define SWIG_SHARED_PTR_SUBNAMESPACE tr1
|
|
||||||
%include <std_shared_ptr.i>
|
|
||||||
|
|
||||||
shared_ptr is also documented in Library.html now.
|
|
||||||
|
|
||||||
2010-05-27: wsfulton
|
|
||||||
Add the ability for $typemap special variable macros to call other $typemap
|
|
||||||
special variable macros, for example:
|
|
||||||
|
|
||||||
%typemap(cstype) CC "CC"
|
|
||||||
%typemap(cstype) BB "$typemap(cstype, CC)"
|
|
||||||
%typemap(cstype) AA "$typemap(cstype, BB)"
|
|
||||||
void hah(AA aa);
|
|
||||||
|
|
||||||
This also fixes C# std::vector containers of shared_ptr and %shared_ptr.
|
|
||||||
|
|
||||||
Also added diagnostics for $typemap with -debug-tmsearch, for example, the
|
|
||||||
above displays additional diagnostic lines starting "Containing: ":
|
|
||||||
|
|
||||||
example.i:34: Searching for a suitable 'cstype' typemap for: AA aa
|
|
||||||
Looking for: AA aa
|
|
||||||
Looking for: AA
|
|
||||||
Using: %typemap(cstype) AA
|
|
||||||
Containing: $typemap(cstype, BB)
|
|
||||||
example.i:31: Searching for a suitable 'cstype' typemap for: BB
|
|
||||||
Looking for: BB
|
|
||||||
Using: %typemap(cstype) BB
|
|
||||||
Containing: $typemap(cstype, CC)
|
|
||||||
example.i:29: Searching for a suitable 'cstype' typemap for: CC
|
|
||||||
Looking for: CC
|
|
||||||
Using: %typemap(cstype) CC
|
|
||||||
|
|
||||||
2010-05-26: olly
|
|
||||||
Fix %attribute2ref not to produce a syntax error if the last
|
|
||||||
argument (AccessorMethod) is omitted. Patch from David Piepgras
|
|
||||||
in SF#2235756.
|
|
||||||
|
|
||||||
2010-05-26: olly
|
|
||||||
[PHP] When using %throws or %catches, SWIG-generated PHP5 wrappers
|
|
||||||
now throw PHP Exception objects instead of giving a PHP error of
|
|
||||||
type E_ERROR.
|
|
||||||
|
|
||||||
This change shouldn't cause incompatibility issues, since you can't
|
|
||||||
set an error handler for E_ERROR, so previously PHP would just exit
|
|
||||||
which also happens for unhandled exceptions. The benefit is you can
|
|
||||||
now catch them if you want to.
|
|
||||||
|
|
||||||
Fixes SF#2545578 and SF#2955522.
|
|
||||||
|
|
||||||
2010-05-25: olly
|
|
||||||
[PHP] Add missing directorin typemap for const std::string &.
|
|
||||||
Fixes SF#3006404 reported by t-Legiaw.
|
|
||||||
|
|
||||||
2010-05-23: wsfulton
|
|
||||||
[C#] Fix #2957375 - SWIGStringHelper and SWIGExceptionHelper not always being
|
|
||||||
initialized before use in .NET 4 as the classes were not marked beforefieldinit.
|
|
||||||
A static constructor has been added to the intermediary class like this:
|
|
||||||
|
|
||||||
%pragma(csharp) imclasscode=%{
|
|
||||||
static $imclassname() {
|
|
||||||
}
|
|
||||||
%}
|
|
||||||
|
|
||||||
If you had added your own custom static constructor to the intermediary class in
|
|
||||||
the same way as above, you will have to modify your approach to use static variable
|
|
||||||
initialization or define SWIG_CSHARP_NO_IMCLASS_STATIC_CONSTRUCTOR - See csharphead.swg.
|
|
||||||
|
|
||||||
*** POTENTIAL INCOMPATIBILITY ***
|
|
||||||
|
|
||||||
2010-05-23: wsfulton
|
|
||||||
Fix #2408232. Improve shared_ptr and intrusive_ptr wrappers for classes in an
|
|
||||||
inheritance hierarchy. No special treatment is needed for derived classes.
|
|
||||||
The proxy class also no longer needs to be specified, it is automatically
|
|
||||||
deduced. The following macros are deprecated:
|
|
||||||
SWIG_SHARED_PTR(PROXYCLASS, TYPE)
|
|
||||||
SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
|
|
||||||
and have been replaced by
|
|
||||||
%shared_ptr(TYPE)
|
|
||||||
Similarly for intrusive_ptr wrappers, the following macro is deprecated:
|
|
||||||
SWIG_INTRUSIVE_PTR(PROXYCLASS, TYPE)
|
|
||||||
SWIG_INTRUSIVE_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
|
|
||||||
and have been replaced by
|
|
||||||
%intrusive_ptr(TYPE)
|
|
||||||
|
|
||||||
2010-05-21: olly
|
|
||||||
[PHP] Stop generating a bogus line of code in certain constructors.
|
|
||||||
This was mostly harmless, but caused a PHP notice to be issued, if
|
|
||||||
enabled (SF#2985684).
|
|
||||||
|
|
||||||
2010-05-18: wsfulton
|
|
||||||
[Java] Fix member pointers on 64 bit platforms.
|
|
||||||
|
|
||||||
2010-05-14: wsfulton
|
|
||||||
Fix wrapping of C++ enum boolean values reported by Torsten Landschoff:
|
|
||||||
typedef enum { PLAY = true, STOP = false } play_state;
|
|
||||||
|
|
||||||
2010-05-14: olly
|
|
||||||
[PHP] Fix wrapping of global variables which was producing
|
|
||||||
uncompilable code in some cases.
|
|
||||||
|
|
||||||
2010-05-12: drjoe
|
|
||||||
[R] Add two more changes from Wil Nolan. Get garbage
|
|
||||||
collection to work. Implement newfree
|
|
||||||
|
|
||||||
2010-05-09: drjoe
|
|
||||||
Fix bug reported by Wil Nolan change creation of string so
|
|
||||||
that R 2.7.0+ can use char hashes
|
|
||||||
|
|
||||||
2010-05-07: wsfulton
|
|
||||||
Apply patch #2955146 from Sergey Satskiy to fix expressions containing divide by
|
|
||||||
operator in constructor initialization lists.
|
|
||||||
|
|
||||||
2010-05-05: wsfulton
|
|
||||||
[R] Memory leak fix handling const std::string & inputs, reported by Will Nolan.
|
|
||||||
|
|
||||||
2010-05-01: wsfulton
|
|
||||||
Typemap matching enhancement for non-default typemaps. Previously all
|
|
||||||
qualifiers were stripped in one step, now they are stripped one at a time
|
|
||||||
starting with the left most qualifier. For example, int const*const
|
|
||||||
is first stripped to int *const then int *.
|
|
||||||
|
|
||||||
*** POTENTIAL INCOMPATIBILITY ***
|
|
||||||
|
|
||||||
2010-04-25: bhy
|
|
||||||
[Python] Fix #2985655 - broken constructor renaming.
|
|
||||||
|
|
||||||
2010-04-14: wsfulton
|
|
||||||
Typemap fragments are now official and documented in Typemaps.html.
|
|
||||||
|
|
||||||
2010-04-09: wsfulton
|
|
||||||
[Ruby] Fix #2048064 and #2408020.
|
|
||||||
Apply Ubuntu patch to fix Ruby and std::vector wrappers with -minherit.
|
|
||||||
https://bugs.launchpad.net/ubuntu/+source/swig1.3/+bug/522874
|
|
||||||
|
|
||||||
2010-04-09: wsfulton
|
|
||||||
[Mzscheme] Apply Ubuntu patch to fix std::map wrappers:
|
|
||||||
https://bugs.launchpad.net/ubuntu/+source/swig1.3/+bug/203876
|
|
||||||
|
|
||||||
2010-04-09: wsfulton
|
|
||||||
[Python] Apply patch #2952374 - fix directors and the -nortti option.
|
|
||||||
|
|
||||||
2010-04-09: wsfulton
|
|
||||||
[Lua] Fix #2887254 and #2946032 - SWIG_Lua_typename using wrong stack index.
|
|
||||||
|
|
||||||
2010-04-03: wsfulton
|
|
||||||
[Python] Fix exceptions being thrown with the -threads option based on patch from Arto Vuori.
|
|
||||||
Fixes bug #2818499.
|
|
||||||
|
|
||||||
2010-04-03: wsfulton
|
|
||||||
Fix Makefile targets: distclean and maintainer-clean
|
|
||||||
|
|
||||||
2010-04-02: wsfulton
|
|
||||||
[Lua] Fix char pointers, wchar_t pointers and char arrays so that nil can be passed as a
|
|
||||||
valid value. Bug reported by Gedalia Pasternak.
|
|
||||||
|
|
||||||
2010-04-01: wsfulton
|
|
||||||
Numerous subtle typemap matching rule fixes when using the default type. The typemap
|
|
||||||
matching rules are to take a type and find the best default typemap (SWIGTYPE, SWIGTYPE* etc),
|
|
||||||
then look for the next best match by reducing the chosen default type. The type deduction
|
|
||||||
now follows C++ class template partial specialization matching rules.
|
|
||||||
|
|
||||||
Below are the set of changes made showing the default type deduction
|
|
||||||
along with the old reduced type and the new version of the reduced type:
|
|
||||||
|
|
||||||
SWIGTYPE const &[ANY]
|
|
||||||
new: SWIGTYPE const &[]
|
|
||||||
old: SWIGTYPE (&)[ANY]
|
|
||||||
|
|
||||||
SWIGTYPE *const [ANY]
|
|
||||||
new: SWIGTYPE const [ANY]
|
|
||||||
old: SWIGTYPE *[ANY]
|
|
||||||
|
|
||||||
SWIGTYPE const *const [ANY]
|
|
||||||
new: SWIGTYPE *const [ANY]
|
|
||||||
old: SWIGTYPE const *[ANY]
|
|
||||||
|
|
||||||
SWIGTYPE const *const &
|
|
||||||
new: SWIGTYPE *const &
|
|
||||||
old: SWIGTYPE const *&
|
|
||||||
|
|
||||||
SWIGTYPE *const *
|
|
||||||
new: SWIGTYPE const *
|
|
||||||
old: SWIGTYPE **
|
|
||||||
|
|
||||||
SWIGTYPE *const &
|
|
||||||
new: SWIGTYPE const &
|
|
||||||
old: SWIGTYPE *&
|
|
||||||
|
|
||||||
Additionally, a const SWIGTYPE lookup is used now for any constant type. Some examples, where
|
|
||||||
T is some reduced type, eg int, struct Foo:
|
|
||||||
|
|
||||||
T const
|
|
||||||
new: SWIGTYPE const
|
|
||||||
old: SWIGTYPE
|
|
||||||
|
|
||||||
T *const
|
|
||||||
new: SWIGTYPE *const
|
|
||||||
old: SWIGTYPE *
|
|
||||||
|
|
||||||
T const[]
|
|
||||||
new: SWIGTYPE const[]
|
|
||||||
old: SWIGTYPE[]
|
|
||||||
|
|
||||||
enum T const
|
|
||||||
new: enum SWIGTYPE const
|
|
||||||
old: enum SWIGTYPE
|
|
||||||
|
|
||||||
T (*const )[]
|
|
||||||
new: SWIGTYPE (*const )[]
|
|
||||||
old: SWIGTYPE (*)[]
|
|
||||||
|
|
||||||
Reminder: the typemap matching rules can now be seen for any types being wrapped by using
|
|
||||||
either the -debug-tmsearch or -debug-tmused options.
|
|
||||||
|
|
||||||
In practice this leads to some subtle matching rule changes and the majority of users
|
|
||||||
won't notice any changes, except in the prime area of motivation for this change: Improve
|
|
||||||
STL containers of const pointers and passing const pointers by reference. This is fixed
|
|
||||||
because many of the STL containers use a type 'T const&' as parameters and when T is
|
|
||||||
a const pointer, for example, 'K const*', then the full type is 'K const*const&'. This
|
|
||||||
means that the 'SWIGTYPE *const&' typemaps now match when T is either a non-const or
|
|
||||||
const pointer. Furthermore, some target languages incorrectly had 'SWIGTYPE *&' typemaps
|
|
||||||
when these should have been 'SWIGTYPE *const&'. These have been corrected (Java, C#, Lua, PHP).
|
|
||||||
|
|
||||||
*** POTENTIAL INCOMPATIBILITY ***
|
|
||||||
|
|
||||||
2010-03-13: wsfulton
|
|
||||||
[Java] Some very old deprecated pragma warnings are now errors.
|
|
||||||
|
|
||||||
2010-03-13: wsfulton
|
|
||||||
Improve handling of file names and directories containing double/multiple path separators.
|
|
||||||
|
|
||||||
2010-03-10: mutandiz (Mikel Bancroft)
|
|
||||||
[allegrocl] Use fully qualified symbol name of cl::identity in emit_defun().
|
|
||||||
|
|
||||||
2010-03-06: wsfulton
|
|
||||||
[Java] The intermediary JNI class modifiers are now public by default meaning these
|
|
||||||
intermediary low level functions are now accessible by default from outside any package
|
|
||||||
used. The proxy class pointer constructor and getCPtr() methods are also now public.
|
|
||||||
These are needed in order for the nspace option to work without any other mods.
|
|
||||||
The previous default of protected access can be restored using:
|
|
||||||
|
|
||||||
SWIG_JAVABODY_METHODS(protected, protected, SWIGTYPE)
|
|
||||||
%pragma(java) jniclassclassmodifiers = "class"
|
|
||||||
|
|
||||||
2010-03-06: wsfulton
|
|
||||||
[C#] Added the nspace feature for C#. Documentation for the nspace feature is now available.
|
|
||||||
|
|
||||||
2010-03-04: wsfulton
|
|
||||||
Added the nspace feature. This adds some improved namespace support. Currently only Java
|
|
||||||
is supported for target languages, where C++ namespaces are automatically translated into
|
|
||||||
Java packages. The feature only applies to classes,struct,unions and enums declared within
|
|
||||||
a namespace. Methods and variables declared in namespaces still effectively have their
|
|
||||||
namespaces flattened. Example usage:
|
|
||||||
|
|
||||||
%feature(nspace) Outer::Inner1::Color;
|
|
||||||
%feature(nspace) Outer::Inner2::Color;
|
|
||||||
|
|
||||||
namespace Outer {
|
|
||||||
namespace Inner1 {
|
|
||||||
struct Color {
|
|
||||||
...
|
|
||||||
};
|
|
||||||
}
|
|
||||||
namespace Inner2 {
|
|
||||||
struct Color {
|
|
||||||
...
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
For Java, the -package option is also required when using the nspace feature. Say
|
|
||||||
we use -package com.myco, the two classes can then be accessed as follows from Java:
|
|
||||||
|
|
||||||
com.myco.Outer.Inner1.Color and com.myco.Outer.Inner2.Color.
|
|
||||||
|
|
||||||
2010-02-27: wsfulton
|
|
||||||
[Python] Remove -dirvtable from the optimizations included by -O as it this option
|
|
||||||
currently leads to memory leaks as reported by Johan Blake.
|
|
||||||
|
|
||||||
2010-02-27: wsfulton
|
|
||||||
License code changes: SWIG Source is GPL-v3 and library code license is now clearer
|
|
||||||
and is provided under a very permissive license. See http://www.swig.org/legal.html.
|
|
||||||
|
|
||||||
2010-02-13: wsfulton
|
|
||||||
[Ruby] A few fixes for compiling under ruby-1.9.x including patch from 'Nibble'.
|
|
||||||
|
|
||||||
2010-02-13: wsfulton
|
|
||||||
[Ruby] Apply patch from Patrick Bennett to fix RARRAY_LEN and RARRAY_PTR usage for Ruby 1.9.x
|
|
||||||
used in various STL wrappers.
|
|
||||||
|
|
||||||
2010-02-13: wsfulton
|
|
||||||
[C#, Java] Fix incorrect multiply defined symbol name error when an enum item
|
|
||||||
and class name have the same name, as reported by Nathan Krieger. Example:
|
|
||||||
|
|
||||||
class Vector {};
|
|
||||||
namespace Text {
|
|
||||||
enum Preference { Vector };
|
|
||||||
}
|
|
||||||
|
|
||||||
This also fixes other incorrect corner case target language symbol name clashes.
|
|
||||||
|
|
||||||
2010-02-11: wsfulton
|
|
||||||
Add the -debug-lsymbols option for displaying the target language layer symbols.
|
|
||||||
|
|
||||||
2010-02-09: wsfulton
|
|
||||||
Fix -MM and -MMD options on Windows. They were not omitting files in the SWIG library as
|
|
||||||
they should be.
|
|
||||||
|
|
||||||
2010-02-08: wsfulton
|
|
||||||
Fix #1807329 - When Makefile dependencies are being generated using the -M family of options
|
|
||||||
on Windows, the file paths have been corrected to use single backslashes rather than double
|
|
||||||
backslashes as path separators.
|
|
||||||
|
|
||||||
2010-02-06: wsfulton
|
|
||||||
Fix #2918902 - language specific files not being generated in correct directory on
|
|
||||||
Windows when using forward slashes for -o, for example:
|
|
||||||
swig -python -c++ -o subdirectory/theinterface_wrap.cpp subdirectory/theinterface.i
|
|
||||||
|
|
||||||
2010-02-05: wsfulton
|
|
||||||
Fix #2894405 - assertion when using -xmlout.
|
|
||||||
|
|
||||||
2010-01-28: wsfulton
|
|
||||||
Fix typemap matching bug when a templated type has a typemap both specialized and not
|
|
||||||
specialized. For example:
|
|
||||||
|
|
||||||
template<typename T> struct XX { ... };
|
|
||||||
%typemap(in) const XX & "..."
|
|
||||||
%typemap(in) const XX< int > & "..."
|
|
||||||
|
|
||||||
resulted in the 2nd typemap being applied for all T in XX< T >.
|
|
||||||
|
|
||||||
2010-01-22: wsfulton
|
|
||||||
Fix #2933129 - typemaps not being found when the unary scope operator (::) is used to denote
|
|
||||||
global scope, the typemap is now used in situations like this:
|
|
||||||
|
|
||||||
struct X {};
|
|
||||||
%typemap(in) const X & "..."
|
|
||||||
void m(const ::X &);
|
|
||||||
|
|
||||||
and this:
|
|
||||||
|
|
||||||
struct X {};
|
|
||||||
%typemap(in) const ::X & "..."
|
|
||||||
void m(const X &);
|
|
||||||
|
|
||||||
2010-01-20: wsfulton
|
|
||||||
Fix some unary scope operator (::) denoting global scope problems in the types generated
|
|
||||||
into the C++ layer. Previously the unary scope operator was dropped in the generated code
|
|
||||||
if the type had any sort of qualifier, for example when using pointers, references, like
|
|
||||||
::foo*, ::foo&, bar< ::foo* >.
|
|
||||||
|
|
||||||
2010-01-13: olly
|
|
||||||
[PHP] Add datetime to the list of PHP predefined classes (patch
|
|
||||||
from David Fletcher in SF#2931042).
|
|
||||||
|
|
||||||
2010-01-11: wsfulton
|
|
||||||
Slight change to warning, error and diagnostic reporting. The warning number is no
|
|
||||||
longer shown within brackets. This is to help default parsing of warning messages by
|
|
||||||
other tools, vim on Unix in particular.
|
|
||||||
|
|
||||||
Example original display using -Fstandard:
|
|
||||||
example.i:20: Warning(401): Nothing known about base class 'B'. Ignored.
|
|
||||||
New display:
|
|
||||||
example.i:20: Warning 401: Nothing known about base class 'B'. Ignored.
|
|
||||||
|
|
||||||
Also subtle fix to -Fmicrosoft format adding in missing space. Example original display:
|
|
||||||
example.i(20): Warning(401): Nothing known about base class 'Base'. Ignored.
|
|
||||||
New display:
|
|
||||||
example.i(20) : Warning 401: Nothing known about base class 'Base'. Ignored.
|
|
||||||
|
|
||||||
2010-01-10: wsfulton
|
|
||||||
Fix a few inconsistencies in reporting of file/line numberings including modifying
|
|
||||||
the overload warnings 509, 512, 516, 474, 475 to now be two line warnings.
|
|
||||||
|
|
||||||
2010-01-10: wsfulton
|
|
||||||
Modify -debug-tags output to use standard file name/line reporting so that editors
|
|
||||||
can easily navigate to the appropriate lines.
|
|
||||||
Was typically:
|
|
||||||
. top . include . include (/usr/share/swig/temp/trunk/Lib/swig.swg:312)
|
|
||||||
. top . include . include . include (/usr/share/swig/temp/trunk/Lib/swigwarnings.swg:39)
|
|
||||||
now:
|
|
||||||
/usr/share/swig/temp/trunk/Lib/swig.swg:312: . top . include . include
|
|
||||||
/usr/share/swig/temp/trunk/Lib/swigwarnings.swg:39: . top . include . include . include
|
|
||||||
|
|
||||||
2010-01-03: wsfulton
|
|
||||||
Fix missing file/line numbers for typemap warnings and in output from the
|
|
||||||
-debug-tmsearch/-debug-tmused options.
|
|
||||||
|
|
||||||
2010-01-03: wsfulton
|
|
||||||
Add typemaps used debugging option (-debug-tmused). When used each line displays
|
|
||||||
the typemap used for each type for which code is being generated including the file
|
|
||||||
and line number related to the type. This is effectively a condensed form of the
|
|
||||||
-debug-tmsearch option. Documented in Typemaps.html.
|
|
||||||
|
|
||||||
2009-12-23: wsfulton
|
|
||||||
Fix for %javaexception and directors so that all the appropriate throws clauses
|
|
||||||
are generated. Problem reported by Peter Greenwood.
|
|
||||||
|
|
||||||
2009-12-20: wsfulton
|
|
||||||
Add -debug-tmsearch option for debugging the typemap pattern matching rules.
|
|
||||||
Documented in Typemaps.html.
|
|
||||||
|
|
||||||
2009-12-12: wsfulton
|
|
||||||
[Octave] Remove the -api option and use the new OCTAVE_API_VERSION_NUMBER
|
|
||||||
macro provided in the octave headers for determining the api version instead.
|
|
||||||
|
|
||||||
2009-12-04: olly
|
|
||||||
[Ruby] Improve support for Ruby 1.9 under GCC. Addresses part of
|
|
||||||
SF#2859614.
|
|
||||||
|
|
||||||
2009-12-04: olly
|
|
||||||
Fix handling of modulo operator (%) in constant expressions
|
|
||||||
(SF#2818562).
|
|
||||||
|
|
||||||
2009-12-04: olly
|
|
||||||
[PHP] "empty" is a reserved word in PHP, so rename empty() method
|
|
||||||
on STL classes to "is_empty()" (previously this was automatically
|
|
||||||
renamed to "c_empty()").
|
|
||||||
*** POTENTIAL INCOMPATIBILITY ***
|
|
||||||
|
|
||||||
2009-12-03: olly
|
|
||||||
[PHP] Add typemaps for long long and unsigned long long, and for
|
|
||||||
pointer to method.
|
|
||||||
|
|
||||||
2009-12-02: olly
|
|
||||||
[PHP] Fix warning and rename of reserved class name to be case
|
|
||||||
insensitive.
|
|
||||||
|
|
||||||
2009-12-01: wsfulton
|
|
||||||
Revert support for %extend and memberin typemaps added in swig-1.3.39. The
|
|
||||||
memberin typemaps are ignored again for member variables within a %extend block.
|
|
||||||
Documentation inconsistency reported by Torsten Landschoff.
|
|
||||||
|
|
||||||
2009-11-29: wsfulton
|
|
||||||
[Java, C#] Fix generated quoting when using %javaconst(1)/%csconst(1) for
|
|
||||||
static const char member variables.
|
|
||||||
|
|
||||||
%javaconst(1) A;
|
|
||||||
%csconst(1) A;
|
|
||||||
struct X {
|
|
||||||
static const char A = 'A';
|
|
||||||
};
|
|
||||||
|
|
||||||
2009-11-26: wsfulton
|
|
||||||
[Java, C#] Fix %javaconst(1)/%csconst(1) for static const member variables to
|
|
||||||
use the actual constant value if it is specified, rather than the C++ code to
|
|
||||||
access the member.
|
|
||||||
|
|
||||||
%javaconst(1) EN;
|
|
||||||
%csconst(1) EN;
|
|
||||||
struct X {
|
|
||||||
static const int EN = 2;
|
|
||||||
};
|
|
||||||
|
|
||||||
2009-11-23: wsfulton
|
|
||||||
C++ nested typedef classes can now be handled too, for example:
|
|
||||||
struct Outer {
|
|
||||||
typedef Foo { } FooTypedef1, FooTypedef2;
|
|
||||||
};
|
|
||||||
|
|
||||||
2009-11-18: wsfulton
|
|
||||||
The wrappers for C nested structs are now generated in the same order as declared
|
|
||||||
in the parsed code.
|
|
||||||
|
|
||||||
2009-11-18: wsfulton
|
|
||||||
Fix #491476 - multiple declarations of nested structs, for example:
|
|
||||||
struct Outer {
|
|
||||||
struct {
|
|
||||||
int val;
|
|
||||||
} inner1, inner2, *inner3, inner4[1];
|
|
||||||
} outer;
|
|
||||||
|
|
||||||
2009-11-17: wsfulton
|
|
||||||
Fix parsing of enum declaration and initialization, for example:
|
|
||||||
|
|
||||||
enum ABC {
|
|
||||||
a,
|
|
||||||
b,
|
|
||||||
c
|
|
||||||
} A = a, *pC = &C, array[3] = {a, b, c};
|
|
||||||
|
|
||||||
2009-11-17: wsfulton
|
|
||||||
Fix parsing of struct declaration and initialization, for example:
|
|
||||||
|
|
||||||
struct S {
|
|
||||||
int x;
|
|
||||||
} instance = { 10 };
|
|
||||||
|
|
||||||
2009-11-15: wsfulton
|
|
||||||
Fix #1960977 - Syntax error parsing derived nested class declaration and member
|
|
||||||
variable instance.
|
|
||||||
|
|
||||||
2009-11-14: wsfulton
|
|
||||||
Fix #2310483 - function pointer typedef within extern "C" block.
|
|
||||||
|
|
||||||
2009-11-13: wsfulton
|
|
||||||
Fix usage of nested template classes within templated classes so that compileable code
|
|
||||||
is generated.
|
|
||||||
|
|
||||||
2009-11-13: olly
|
|
||||||
[php] Fix place where class prefix (as specified with -prefix)
|
|
||||||
wasn't being used. Patch from gverbruggen in SF#2892647.
|
|
||||||
|
|
||||||
2009-11-12: wsfulton
|
|
||||||
Fix usage of nested template classes so that compileable code is generated - the nested
|
|
||||||
template class is now treated like a normal nested classes, that is, as an opaque type
|
|
||||||
unless the nestedworkaround feature is used.
|
|
||||||
|
|
||||||
2009-11-12: wsfulton
|
|
||||||
Replace SWIGWARN_PARSE_NESTED_CLASS with SWIGWARN_PARSE_NAMED_NESTED_CLASS and
|
|
||||||
SWIGWARN_PARSE_UNNAMED_NESTED_CLASS for named and unnamed nested classes respectively.
|
|
||||||
|
|
||||||
Named nested class ignored warnings can now be suppressed by name using %warnfilter, eg:
|
|
||||||
|
|
||||||
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::Inner;
|
|
||||||
|
|
||||||
but clearly unnamed nested classes cannot and the global suppression is still required, eg:
|
|
||||||
|
|
||||||
#pragma SWIG nowarn=SWIGWARN_PARSE_UNNAMED_NESTED_CLASS
|
|
||||||
|
|
||||||
2009-11-11: wsfulton
|
|
||||||
Added the nestedworkaround feature as a way to use the full functionality of a nested class
|
|
||||||
(C++ mode only). It removes the nested class from SWIG's type information so it is as if SWIG
|
|
||||||
had never parsed the nested class. The documented nested class workarounds using a global
|
|
||||||
fake class stopped working when SWIG treated the nested class as an opaque pointer, and
|
|
||||||
this feature reverts this behaviour. The documentation has been updated with details of how
|
|
||||||
to use and implement it, see the "Nested classes" section in SWIGPlus.html.
|
|
||||||
|
|
||||||
2009-11-11: wsfulton
|
|
||||||
There were a number of C++ cases where nested classes/structs/unions were being handled
|
|
||||||
as if C code was being parsed which would oftentimes lead to uncompileable code as an
|
|
||||||
attempt was made to wrap the nested structs like it is documented for C code. Now all
|
|
||||||
nested structs/classes/unions are ignored in C++ mode, as was always documented. However,
|
|
||||||
there is an improvement as usage of nested structs/classes/unions is now always treated
|
|
||||||
as an opaque type by default, resulting in generated code that should always compile.
|
|
||||||
|
|
||||||
*** POTENTIAL INCOMPATIBILITY ***
|
|
||||||
|
|
||||||
2009-11-09: drjoe
|
|
||||||
Fix R for -fcompact and add std_map.i
|
|
||||||
|
|
||||||
2009-11-08: wsfulton
|
|
||||||
Fix inconsistency for nested structs/unions/classes. Uncompileable code was being
|
|
||||||
generated when inner struct and union declarations were used as types within the
|
|
||||||
inner struct. The inner struct/union is now treated as a forward declaration making the
|
|
||||||
behaviour the same as an inner class. (C++ code), eg:
|
|
||||||
|
|
||||||
struct Outer {
|
|
||||||
struct InnerStruct { int x; };
|
|
||||||
InnerStruct* getInnerStruct();
|
|
||||||
};
|
|
||||||
|
|
||||||
2009-11-08: wsfulton
|
|
||||||
Ignored nested class/struct warnings now display the name of the ignored class/struct.
|
|
||||||
|
|
||||||
2009-11-07: wsfulton
|
|
||||||
Bug #1514681 - Fix nested template classes within a namespace generated uncompileable
|
|
||||||
code and introduced strange side effects to other wrapper code especially code
|
|
||||||
after the nested template class. Note that nested template classes are still ignored.
|
|
||||||
|
|
||||||
2009-11-07: wsfulton
|
|
||||||
Add new debug options:
|
|
||||||
-debug-symtabs - Display symbol tables information
|
|
||||||
-debug-symbols - Display target language symbols in the symbol tables
|
|
||||||
-debug-csymbols - Display C symbols in the symbol tables
|
|
||||||
|
|
||||||
2009-11-03: wsfulton
|
|
||||||
Fix some usage of unary scope operator (::) denoting global scope, for example:
|
|
||||||
|
|
||||||
namespace AA { /* ... */ }
|
|
||||||
using namespace ::AA;
|
|
||||||
|
|
||||||
and bug #1816802 - SwigValueWrapper should be used:
|
|
||||||
|
|
||||||
struct CC {
|
|
||||||
CC(int); // no default constructor
|
|
||||||
};
|
|
||||||
::CC x();
|
|
||||||
|
|
||||||
and in template parameter specializations:
|
|
||||||
|
|
||||||
struct S {};
|
|
||||||
template <typename T> struct X { void a() {}; };
|
|
||||||
template <> struct X<S> { void b() {}; };
|
|
||||||
%template(MyTConcrete) X< ::S >;
|
|
||||||
|
|
||||||
plus probably some other corner case usage of ::.
|
|
||||||
|
|
||||||
2009-11-02: olly
|
|
||||||
[Python] Fix potential memory leak in initialisation code for the
|
|
||||||
generated module.
|
|
||||||
|
|
||||||
2009-10-23: wsfulton
|
|
||||||
Fix seg fault when using a named nested template instantiation using %template(name)
|
|
||||||
within a class. A warning that these are not supported is now issued plus processing
|
|
||||||
continues as if no name was given.
|
|
||||||
|
|
||||||
2009-10-20: wsfulton
|
|
||||||
[Python] Fix std::vector<const T*>. This would previously compile, but not run correctly.
|
|
||||||
|
|
||||||
2009-10-20: wsfulton
|
|
||||||
Fixed previously fairly poor template partial specialization and explicit
|
|
||||||
specialization support. Numerous bugs in this area have been fixed including:
|
|
||||||
|
|
||||||
- Template argument deduction implemented for template type arguments, eg this now
|
|
||||||
works:
|
|
||||||
template<typename T> class X {};
|
|
||||||
template<typename T> class X<T *> {};
|
|
||||||
%template(X1) X<const int *>; // Chooses T * specialization
|
|
||||||
|
|
||||||
and more complex cases with multiple parameters and a mix of template argument
|
|
||||||
deduction and explicitly specialised parameters, eg:
|
|
||||||
template <typename T1, typename T2> struct TwoParm { void a() {} };
|
|
||||||
template <typename T1> struct TwoParm<T1 *, int *> { void e() {} };
|
|
||||||
%template(E) TwoParm<int **, int *>;
|
|
||||||
|
|
||||||
Note that the primary template must now be in scope, like in C++, when
|
|
||||||
an explicit or partial specialization is instantiated with %template.
|
|
||||||
|
|
||||||
*** POTENTIAL INCOMPATIBILITY ***
|
|
||||||
|
|
||||||
2009-09-14: wsfulton
|
|
||||||
[C#] Add %csattributes for adding C# attributes to enum values, see docs for example.
|
|
||||||
|
|
||||||
2009-09-11: wsfulton
|
|
||||||
Fix memmove regression in cdata.i as reported by Adriaan Renting.
|
|
||||||
|
|
||||||
2009-09-07: wsfulton
|
|
||||||
Fix constant expressions containing <= or >=.
|
|
||||||
|
|
||||||
2009-09-02: wsfulton
|
|
||||||
The following operators in constant expressions now result in type bool for C++
|
|
||||||
wrappers and remain as type int for C wrappers, as per each standard:
|
|
||||||
|
|
||||||
&& || == != < > <= >= (Actually the last 4 are still broken). For example:
|
|
||||||
|
|
||||||
#define A 10
|
|
||||||
#define B 10
|
|
||||||
#define A_EQ_B A == B // now wrapped as type bool for C++
|
|
||||||
#define A_AND_B A && B // now wrapped as type bool for C++
|
|
||||||
|
|
||||||
2009-09-02: wsfulton
|
|
||||||
Fix #2845746. true and false are now recognised keywords (only when wrapping C++).
|
|
||||||
Constants such as the following are now wrapped (as type bool):
|
|
||||||
#define FOO true
|
|
||||||
#define BAR FOO && false
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<body bgcolor="#ffffff">
|
<body bgcolor="#ffffff">
|
||||||
<H1><a name="Sections"></a>SWIG-2.0 Documentation</H1>
|
<H1><a name="Sections"></a>SWIG-2.0 Documentation</H1>
|
||||||
|
|
||||||
Last update : SWIG-2.0.0 (2 June 2010)
|
Last update : SWIG-2.0.1 (in progress)
|
||||||
|
|
||||||
<H2>Sections</H2>
|
<H2>Sections</H2>
|
||||||
|
|
||||||
|
|
|
||||||
2
README
2
README
|
|
@ -1,6 +1,6 @@
|
||||||
SWIG (Simplified Wrapper and Interface Generator)
|
SWIG (Simplified Wrapper and Interface Generator)
|
||||||
|
|
||||||
Version: 2.0.0 (2 June 2010)
|
Version: 2.0.1 (in progress)
|
||||||
|
|
||||||
Tagline: SWIG is a compiler that integrates C and C++ with languages
|
Tagline: SWIG is a compiler that integrates C and C++ with languages
|
||||||
including Perl, Python, Tcl, Ruby, PHP, Java, Ocaml, Lua,
|
including Perl, Python, Tcl, Ruby, PHP, Java, Ocaml, Lua,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
|
This file contains a brief overview of the changes made in each release.
|
||||||
|
A detailed description of changes are available in the CHANGES.current
|
||||||
|
and CHANGES files.
|
||||||
|
|
||||||
Release Notes
|
Release Notes
|
||||||
=============
|
=============
|
||||||
|
|
||||||
A detailed description of changes are available in the CHANGES.current
|
|
||||||
and CHANGES files. The summaries below contain just a brief overview of
|
|
||||||
the changes made in each release.
|
|
||||||
|
|
||||||
SWIG-2.0.0 summary:
|
SWIG-2.0.0 summary:
|
||||||
- License changes, see LICENSE file and http://www.swig.org/legal.html.
|
- License changes, see LICENSE file and http://www.swig.org/legal.html.
|
||||||
- Much better nested class/struct support.
|
- Much better nested class/struct support.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||||
dnl The macros which aren't shipped with the autotools are stored in the
|
dnl The macros which aren't shipped with the autotools are stored in the
|
||||||
dnl Tools/config directory in .m4 files.
|
dnl Tools/config directory in .m4 files.
|
||||||
|
|
||||||
AC_INIT([swig],[2.0.0],[http://www.swig.org])
|
AC_INIT([swig],[2.0.1],[http://www.swig.org])
|
||||||
AC_PREREQ(2.58)
|
AC_PREREQ(2.58)
|
||||||
AC_CONFIG_SRCDIR([Source/Swig/swig.h])
|
AC_CONFIG_SRCDIR([Source/Swig/swig.h])
|
||||||
AC_CONFIG_AUX_DIR([Tools/config])
|
AC_CONFIG_AUX_DIR([Tools/config])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue