+SWIG 1.3.x Patches
+==================
-Some minor tweaks were made to pyexp.swg and typemaps.i to allow
-wxPython to build with Python 1.6. Just put these in your
-swig_lib/python dir and you'll be all set. These are from SWIG
-1.1-883.
+This directory holds a set of patches for the CVS version of SWIG that
+are required if you wish to use SWIG for wxPython development, or for
+building your own extension modules that need to interface with
+wxPython. These have been submitted to SWIG's SourceForge patch
+tracker, so hopefully they will get incorporated into the main SWIG
+source tree soon.
+wxPython currently uses the 1.3.29 version of SWIG, which you can get
+from https://sourceforge.net/projects/swig/, plus the patch(es) in
+this directory. Download the SWIG sources, apply the patch(es) here
+and then build as normal. I have also have made available a tarball
+containing the patched SWIG sources, plus a win32 binary, located
+here:
-Additionally, there are some patches for SWIG sources that are needed
-for wxPython:
+ http://starship.python.net/crew/robind/wxPython/tools/
- 1. python.cxx.patch, applied to .../Modules/python.cxx file will
- prevent the out typemap from being used on constructors.
+If you want to use the patched version of SWIG and still have the
+stock version available for other projects, then you can configure the
+patched version to use a different --prefix and then specify that
+executable when running setup.py, like this:
- 2. cplus.cxx.patch, applied to .../SWIG/cplus.cxx will prevent
- some redundant code from being emitted to the extension
- module.
+ python setup.py SWIG=/path/to/my/swig [other params]
- 3. pycpp.cxx.patch, applied to .../Modules/pycpp.cxx will add
- support for the addtomethod pragma for renamed constructors.
+------------------------------------------------------------------------
+
+swig-1.3.29.patch
+
+ SWIG changed how the import statements are output to the proxy
+ file, but this also caused the order to change (they all moved to
+ the very top of the file) so this broke the module docstring, as
+ well as some behavior that Chandler development is depending upon,
+ so this patch changes back to how it was done in prior releases.
+
+ Changed the exception message used for TypeErrors to make a little
+ more sense.
+
+ Added support for dropping the leading wx from wxNames using
+ %rename("%(wxpy)s") "";
+
+ Don't set a module attribute for the *_swigregister functions,
+ just call the one in the extension module directly.
+
+ Fixes to allow compiling with Python 2.5 headers.
+
+
+------------------------------------------------------------------------
+
+swig-1.3.27.patch
+
+ SWIG changed slightly how the runtime type_info data is structured
+ in order to optimize load time and runtime access. wxPython
+ uncovered a bug in the implementation, so this patch includes the
+ fix that was checked in to CVS for 1.3.28.
+
+ SWIG changed how the import statements are output to the proxy
+ file, but this also caused the order to change (they all moved to
+ the very top of the file) so this broke the module docstring, as
+ well as some behavior that Chandler development is depending upon,
+ so this patch changes back to how it was done in prior releases.
+
+ Bug fix for SWIG's definition of the %makedefault macro.
+
+ Fixes to allow compiling with Python 2.5 headers.
+
+
+------------------------------------------------------------------------
+
+swig-1.3.24.patch (now obsolete)
+
+ A bug was introduced in SWIG 1.3.23 and remains in 1.3.24 that
+ causes compilation problems with wxPython (copies are being made
+ of objects that don't have a copy constructor.) This patch fixes
+ the code generator to use a reference to the object instead of
+ making a copy.
+
+ Part of my autodoc patch was disabled because a unit-test failed.
+ It turns out that the failure was due to a name clash in the unit
+ test itself, so I re-enabled that section of code in this patch.
+
+ Don't generate the autodocs string for a class if it has a
+ docstring attribute.
+
+ Some typos fixed, etc.
+
+
+
+
+------------------------------------------------------------------------
+This patch was added to SWIG's CVS on 10/2/2004 and a modified version
+of it is in 1.3.23 and 1.3.24.
+------------------------------------------------------------------------
+
+
+swig.python-2.patch
+
+ Adds the following features to the Python Module in SWIG. See the
+ updated docs in the patch for more details.
+
+ %feature("autodoc")
+ %feature("docstring")
+ %feature("pythonprepend")
+ %feature("pythonappend")
+
+ %module(docstring="string")
+ %module(package="string")
+
+ https://sourceforge.net/tracker/index.php?func=detail&aid=1023309&group_id=1645&atid=301645
+
+
+------------------------------------------------------------------------
+This patch was applied to SWIG's CVS on 07/12/2004 and is in the
+1.3.22 release.
+------------------------------------------------------------------------
+
+swig.xmlout.patch Fixes a couple problems in the XML output
+ of SWIG: an extra "/>" was removed and
+ newlines in attribute values were changed
+ to the #10; entity reference so they will
+ be preserved by parsers.
+
+ Also, added options for dumping or
+ writing to a file the XML of the parse
+ tree *after* other language modules have
+ been run (previously you could only do
+ the XML output *instead of* a regular
+ language module.)
+ See SF Patch #864689
+
+
+
+------------------------------------------------------------------------
+These patches have already been checked in to SWIG's CVS and are in
+the 1.3.20 release.
+------------------------------------------------------------------------
+
+swig.SplitLines.patch Adds a new SplitLines function to the DOH
+ library. See SF Patch #829317.
+ *Checked in 10/31/2003*
+
+swig.xml.patch Adds an option that drastically reduces
+ the size of the XML output of SWIG, which
+ increases the performance of the
+ build_renamers script used in the wxPython
+ build. See SF Patch #829319.
+ *Checked in 10/31/2003*
+
+swig.python.patch Lots of changes for SWIG's Python module,
+ especially in how the proxy code is
+ generated. See swig.python.patch.txt for
+ more details, also SF Patch #829325.
+ *Checked in 10/31/2003*
+
+------------------------------------------------------------------------