SWIG 1.3.29

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-03-14 04:06:46 +00:00
parent c099c54cba
commit ace78e271b
8 changed files with 163 additions and 14 deletions

View File

@@ -434,6 +434,18 @@ def run_swig(files, dir, gendir, package, USE_SWIG, force, swig_args,
return sources
def swig_version():
# It may come on either stdout or stderr, depending on the
# version, so read both.
i, o, e = os.popen3(SWIG + ' -version', 't')
stext = o.read() + e.read()
import re
match = re.search(r'[0-9]+\.[0-9]+\.[0-9]+$', stext, re.MULTILINE)
if not match:
raise 'NotFound'
SVER = match.group(0)
return SVER
# Specializations of some distutils command classes
class wx_smart_install_data(distutils.command.install_data.install_data):
@@ -883,6 +895,15 @@ swig_args = ['-c++',
'-modern',
'-D'+WXPLAT,
] + i_files_includes
if USE_SWIG:
SVER = swig_version()
if int(SVER[-2:]) >= 29:
swig_args += [ '-fastdispatch',
'-fvirtual',
'-fastinit',
'-fastunpack',
]
if UNICODE:
swig_args.append('-DwxUSE_UNICODE')