X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cb56afc421319d1c7d88e117969cdc5fdea5fe85..32a1ea1c5d8aab25143e76f0cfe1bd6aa86c0d3f:/wxPython/config.py diff --git a/wxPython/config.py b/wxPython/config.py index 1a9b4796fb..2b5f492e83 100644 --- a/wxPython/config.py +++ b/wxPython/config.py @@ -38,9 +38,9 @@ import distutils.command.clean VER_MAJOR = 2 # The first three must match wxWidgets VER_MINOR = 5 -VER_RELEASE = 3 -VER_SUBREL = 0 # wxPython release num for x.y.z release of wxWidgets -VER_FLAGS = "p" # release flags, such as prerelease num, unicode, etc. +VER_RELEASE = 4 +VER_SUBREL = 1 # wxPython release num for x.y.z release of wxWidgets +VER_FLAGS = "rc1" # release flags, such as prerelease num, unicode, etc. DESCRIPTION = "Cross platform GUI toolkit for Python" AUTHOR = "Robin Dunn" @@ -79,14 +79,14 @@ Topic :: Software Development :: User Interfaces # Config values below this point can be reset on the setup.py command line. BUILD_GLCANVAS = 1 # If true, build the contrib/glcanvas extension module -BUILD_OGL = 1 # If true, build the contrib/ogl extension module +BUILD_OGL = 0 # If true, build the contrib/ogl extension module BUILD_STC = 1 # If true, build the contrib/stc extension module BUILD_GIZMOS = 1 # Build a module for the gizmos contrib library BUILD_DLLWIDGET = 0# Build a module that enables unknown wx widgets # to be loaded from a DLL and to be used from Python. # Internet Explorer wrapper (experimental) -BUILD_IEWIN = (os.name == 'nt') +BUILD_IEWIN = 0 #(os.name == 'nt') BUILD_ACTIVEX = (os.name == 'nt') # new version of IEWIN and more @@ -135,9 +135,10 @@ INSTALL_MULTIVERSION = 1 # Install the packages such that multiple versions FLAVOUR = "" # Optional flavour string to be appended to VERSION # in MULTIVERSION installs -EP_ADD_OPTS = 0 # When doing MULTIVERSION installs the wx port and +EP_ADD_OPTS = 1 # When doing MULTIVERSION installs the wx port and # ansi/unicode settings can optionally be added to the - # subdir path used in site-packages + # subdir path used in site-packages + WX_CONFIG = None # Usually you shouldn't need to touch this, but you can set # it to pass an alternate version of wx-config or alternate @@ -265,6 +266,37 @@ for option in ['WX_CONFIG', 'WXDLLVER', 'BUILD_BASE', 'WXPORT', 'SWIG', sys.argv = filter(None, sys.argv) +#---------------------------------------------------------------------- +# build options file +#---------------------------------------------------------------------- + +build_options_template = """ +UNICODE=%d +UNDEF_NDEBUG=%d +INSTALL_MULTIVERSION=%d +FLAVOUR="%s" +EP_ADD_OPTS=%d +WX_CONFIG="%s" +WXPORT="%s" +MONOLITHIC=%d +FINAL=%d +HYBRID=%d +""" % (UNICODE, UNDEF_NDEBUG, INSTALL_MULTIVERSION, FLAVOUR, EP_ADD_OPTS, + WX_CONFIG, WXPORT, MONOLITHIC, FINAL, HYBRID) + +try: + from build_options import * +except: + build_options_file = os.path.join(os.path.dirname(__file__), "build_options.py") + if not os.path.exists(build_options_file): + try: + myfile = open(build_options_file, "w") + myfile.write(build_options_template) + myfile.close() + except: + print "WARNING: Unable to create build_options.py." + + #---------------------------------------------------------------------- # some helper functions #---------------------------------------------------------------------- @@ -336,9 +368,14 @@ def run_swig(files, dir, gendir, package, USE_SWIG, force, swig_args, if not cleaning and USE_SWIG: for dep in swig_deps: - if newer(dep, py_file) or newer(dep, cpp_file): - force = 1 - break + # this may fail for external builds, but it's not + # a fatal error, so keep going. + try: + if newer(dep, py_file) or newer(dep, cpp_file): + force = 1 + break + except: + pass if force or newer(i_file, py_file) or newer(i_file, cpp_file): ## we need forward slashes here even on win32 @@ -567,8 +604,8 @@ def getExtraPath(shortVer=True, addOpts=False): ep = "wx-%d.%d" % (VER_MAJOR, VER_MINOR) # plus release if minor is odd - #if VER_MINOR % 2 == 1: - # ep += ".%d" % VER_RELEASE + if VER_MINOR % 2 == 1: + ep += ".%d" % VER_RELEASE else: # long version, full version @@ -584,8 +621,6 @@ def getExtraPath(shortVer=True, addOpts=False): return ep - - #---------------------------------------------------------------------- # sanity checks @@ -605,7 +640,7 @@ if debug: if FINAL: HYBRID = 0 -if UNICODE and WXPORT not in ['msw', 'gtk2']: +if UNICODE and WXPORT not in ['msw', 'gtk2', 'mac']: raise SystemExit, "UNICODE mode not currently supported on this WXPORT: "+WXPORT @@ -630,7 +665,7 @@ if os.name == 'nt': WXDIR = '..' # assumes in CVS tree WXPLAT = '__WXMSW__' GENDIR = 'msw' - + includes = ['include', 'src', opj(WXDIR, 'lib', 'vc_dll', 'msw' + libFlag()), opj(WXDIR, 'include'), @@ -643,7 +678,7 @@ if os.name == 'nt': (WXPLAT, None), ('WXUSINGDLL', '1'), - ('SWIG_GLOBAL', None), + ('SWIG_TYPE_TABLE', '_wxPython_table'), ('WXP_USE_THREAD', '1'), ] @@ -697,7 +732,7 @@ if os.name == 'nt': elif os.name == 'posix': WXDIR = '..' includes = ['include', 'src'] - defines = [('SWIG_GLOBAL', None), + defines = [('SWIG_TYPE_TABLE', 'wxPython_type_table'), ('HAVE_CONFIG_H', None), ('WXP_USE_THREAD', '1'), ] @@ -732,7 +767,7 @@ elif os.name == 'posix': WXPREFIX = os.popen(WX_CONFIG + ' --prefix').read()[:-1] - if sys.platform[:6] == "darwin": + if sys.platform[:6] == "darwin" and WXPORT == 'mac': # Flags and such for a Darwin (Max OS X) build of Python WXPLAT = '__WXMAC__' GENDIR = 'mac' @@ -799,6 +834,20 @@ VERSION = "%s.%s.%s.%s%s" % (VER_MAJOR, VER_MINOR, VER_RELEASE, # SWIG defaults #---------------------------------------------------------------------- +# *.i files could live in the wxWidgets/wxPython/src dir, or in +# a subdirectory of the devel package. Let's specify both +# dirs as includes so we don't have to guess which is correct. + +wxfilesdir = "" +i_subdir = opj("include", "wx", "wxPython", "i_files") +if os.name != "nt": + wxfilesdir = opj(WXPREFIX, i_subdir) +else: + wxfilesdir = opj(WXPY_SRC, i_subdir) + +i_files_includes = [ '-I' + opj(WXPY_SRC, 'src'), + '-I' + wxfilesdir ] + swig_cmd = SWIG swig_force = force swig_args = ['-c++', @@ -809,11 +858,9 @@ swig_args = ['-c++', '-keyword', '-new_repr', '-modern', - - '-I' + opj(WXPY_SRC, 'src'), '-D'+WXPLAT, - '-noruntime' - ] + ] + i_files_includes + if UNICODE: swig_args.append('-DwxUSE_UNICODE') @@ -822,10 +869,7 @@ if FULL_DOCS: swig_deps = [ opj(WXPY_SRC, 'src/my_typemaps.i'), - opj(WXPY_SRC, 'src/my_fragments.i'), - opj(WXPY_SRC, 'src/common.swg'), - opj(WXPY_SRC, 'src/pyrun.swg'), - opj(WXPY_SRC, 'src/python.swg'), + opj(WXPY_SRC, 'src/pyfragments.swg'), ] depends = [ #'include/wx/wxPython/wxPython.h', @@ -840,8 +884,6 @@ depends = [ #'include/wx/wxPython/wxPython.h', #################################### import pprint -import xml.sax - try: import libxml2 FOUND_LIBXML2 = True @@ -850,7 +892,6 @@ except ImportError: #--------------------------------------------------------------------------- - renamerTemplateStart = """\ // A bunch of %rename directives generated by BuildRenamers in config.py // in order to remove the wx prefix from all global scope names.