X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2458faeb60f3d66a1fa462924eb3af59104a6cfc..01f242e264802fb8cd8c8491830e82b1d97dc79d:/wxPython/config.py diff --git a/wxPython/config.py b/wxPython/config.py index 09a8e0e3fe..57bf272b4f 100644 --- a/wxPython/config.py +++ b/wxPython/config.py @@ -99,7 +99,7 @@ USE_SWIG = 0 # Should we actually execute SWIG, or just use the SWIG = "swig" # The swig executable to use. -BUILD_RENAMERS = 1 # Should we build the renamer modules too? +BUILD_RENAMERS = 0 # Should we build the renamer modules too? FULL_DOCS = 0 # Some docstrings are split into a basic docstring and a # details string. Setting this flag to 1 will @@ -178,7 +178,7 @@ CONTRIBS_INC = "" # A dir to add as an -I flag when compiling the contribs # Some MSW build settings -MONOLITHIC = 1 # The core wxWidgets lib can be built as either a +MONOLITHIC = 0 # The core wxWidgets lib can be built as either a # single monolithic DLL or as a collection of DLLs. # This flag controls which set of libs will be used # on Windows. (For other platforms it is automatic @@ -363,11 +363,6 @@ def run_swig(files, dir, gendir, package, USE_SWIG, force, swig_args, if USE_SWIG and not os.path.exists(os.path.join(dir, gendir)): os.mkdir(os.path.join(dir, gendir)) - if USE_SWIG and not os.path.exists(os.path.join("docs", "xml-raw")): - if not os.path.exists("docs"): - os.mkdir("docs") - os.mkdir(os.path.join("docs", "xml-raw")) - sources = [] if add_under: pre = '_' @@ -378,7 +373,6 @@ def run_swig(files, dir, gendir, package, USE_SWIG, force, swig_args, i_file = os.path.join(dir, file) py_file = os.path.join(dir, gendir, pre+basefile+'.py') cpp_file = os.path.join(dir, gendir, pre+basefile+'_wrap.cpp') - xml_file = os.path.join("docs", "xml-raw", basefile+pre+'_swig.xml') if add_under: interface = ['-interface', '_'+basefile+'_'] @@ -422,7 +416,7 @@ def run_swig(files, dir, gendir, package, USE_SWIG, force, swig_args, # Then run swig for real cmd = [ swig_cmd ] + swig_args + interface + \ - ['-I'+dir, '-o', cpp_file, '-xmlout', xml_file, i_file] + ['-I'+dir, '-o', cpp_file, i_file] msg(' '.join(cmd)) spawn(cmd) @@ -434,6 +428,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): @@ -713,6 +719,9 @@ if os.name == 'nt': if not FINAL or HYBRID: defines.append( ('__WXDEBUG__', None) ) + if UNICODE: + defines.append( ('wxUSE_UNICODE', 1) ) + libdirs = [ opj(WXDIR, 'lib', 'vc_dll') ] if MONOLITHIC: libs = makeLibName('') @@ -880,6 +889,16 @@ 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', + #'-outputtuple', Currently setting this with a -D define above + ] if UNICODE: swig_args.append('-DwxUSE_UNICODE') @@ -1026,7 +1045,6 @@ class BuildRenamers: # do a depth first iteration over what's left for node in topnode: doRename = False - doPtr = False addWX = False revOnly = False @@ -1035,7 +1053,6 @@ class BuildRenamers: lastClassName = name = self.GetAttr(node, "name") lastClassSymName = sym_name = self.GetAttr(node, "sym_name") doRename = True - doPtr = True if sym_name != name: name = sym_name addWX = True @@ -1093,8 +1110,6 @@ class BuildRenamers: if addWX and not old.startswith('wx'): old = 'wx'+old pyFile.write("%s = wx.%s.%s\n" % (old, modname, new)) - if doPtr: - pyFile.write("%sPtr = wx.%s.%sPtr\n" % (old, modname, new)) #---------------------------------------------------------------------------