X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d48c1c640e96d350cf914bf91bd1264026048255..f78e4942ec0f3f6abd2992502e2d6c5c2e8e55f6:/wxPython/config.py diff --git a/wxPython/config.py b/wxPython/config.py index 7a8aca3525..158d6e79a3 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 = 2 -VER_SUBREL = 9 # wxPython release num for x.y.z release of wxWidgets -VER_FLAGS = "p" # release flags, such as prerelease num, unicode, etc. +VER_RELEASE = 3 +VER_SUBREL = 3 # wxPython release num for x.y.z release of wxWidgets +VER_FLAGS = "pre" # release flags, such as prerelease num, unicode, etc. DESCRIPTION = "Cross platform GUI toolkit for Python" AUTHOR = "Robin Dunn" @@ -134,9 +134,12 @@ INSTALL_MULTIVERSION = 1 # Install the packages such that multiple versions FLAVOUR = "" # Optional flavour string to be appended to VERSION # in MULTIVERSION installs - -INSTALL_WXRC = 0 # Should the Python version of wxrc be installed? +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 + + 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 # flags, eg. as required by the .deb in-tree build. By @@ -160,16 +163,22 @@ CONTRIBS_INC = "" # A dir to add as an -I flag when compiling the contribs # Some MSW build settings -FINAL = 0 # Mirrors use of same flag in wx makefiles, - # (0 or 1 only) should probably find a way to - # autodetect this... +MONOLITHIC = 1 # 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 + # via using wx-config.) + +FINAL = 0 # Will use the release version of the wxWidgets libs on MSW. + +HYBRID = 1 # Will use the "hybrid" version of the wxWidgets + # libs on MSW. A "hybrid" build is one that is + # basically a release build, but that also defines + # __WXDEBUG__ to activate the runtime checks and + # assertions in the library. When any of these is + # triggered it is turned into a Python exception so + # this is a very useful feature to have turned on. -HYBRID = 1 # If set and not debug or FINAL, then build a - # hybrid extension that can be used by the - # non-debug version of python, but contains - # debugging symbols for wxWidgets and wxPython. - # wxWidgets must have been built with /MD, not /MDd - # (using FINAL=hybrid will do it.) # Version part of wxWidgets LIB/DLL names WXDLLVER = '%d%d' % (VER_MAJOR, VER_MINOR) @@ -234,8 +243,8 @@ for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'BUILD_GIZMOS', 'BUILD_DLLWIDGET', 'BUILD_IEWIN', 'BUILD_ACTIVEX', 'CORE_ONLY', 'PREP_ONLY', 'USE_SWIG', 'UNICODE', 'UNDEF_NDEBUG', 'NO_SCRIPTS', 'NO_HEADERS', 'BUILD_RENAMERS', - 'FULL_DOCS', 'INSTALL_MULTIVERSION', 'INSTALL_WXRC', - 'FINAL', 'HYBRID', ]: + 'FULL_DOCS', 'INSTALL_MULTIVERSION', 'EP_ADD_OPTS', + 'MONOLITHIC', 'FINAL', 'HYBRID', ]: for x in range(len(sys.argv)): if sys.argv[x].find(flag) == 0: pos = sys.argv[x].find('=') + 1 @@ -285,6 +294,8 @@ def Verify_WX_CONFIG(): msg("Found wx-config: " + fp) msg(" Using flags: " + flags) WX_CONFIG = fp + flags + if hasattr(sys, 'setup_is_main') and not sys.setup_is_main: + WX_CONFIG += " 2>/dev/null " break else: msg("ERROR: WX_CONFIG not specified and wx-config not found on the $PATH") @@ -505,9 +516,10 @@ def find_data_files(srcdir, *wildcards): def makeLibName(name): if os.name == 'posix': libname = '%s_%s-%s' % (WXBASENAME, name, WXRELEASE) - else: + elif name: libname = 'wxmsw%s%s_%s' % (WXDLLVER, libFlag(), name) - + else: + libname = 'wxmsw%s%s' % (WXDLLVER, libFlag()) return [libname] @@ -554,14 +566,18 @@ def getExtraPath(shortVer=True, addOpts=False): if shortVer: # short version, just Major.Minor ep = "wx-%d.%d" % (VER_MAJOR, VER_MINOR) + # plus release if minor is odd if VER_MINOR % 2 == 1: ep += ".%d" % VER_RELEASE + else: # long version, full version ep = "wx-%d.%d.%d.%d" % (VER_MAJOR, VER_MINOR, VER_RELEASE, VER_SUBREL) if addOpts: + port = WXPORT + if port == "msw": port = "win32" ep += "-%s-%s" % (WXPORT, (UNICODE and 'unicode' or 'ansi')) if FLAVOUR: @@ -590,7 +606,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 @@ -628,7 +644,7 @@ if os.name == 'nt': (WXPLAT, None), ('WXUSINGDLL', '1'), - ('SWIG_GLOBAL', None), + ('SWIG_TYPE_TABLE', 'wxPython_type_table'), ('WXP_USE_THREAD', '1'), ] @@ -642,14 +658,17 @@ if os.name == 'nt': defines.append( ('__WXDEBUG__', None) ) libdirs = [ opj(WXDIR, 'lib', 'vc_dll') ] - libs = [ 'wxbase' + WXDLLVER + libFlag(), # TODO: trim this down to what is really needed for the core - 'wxbase' + WXDLLVER + libFlag() + '_net', - 'wxbase' + WXDLLVER + libFlag() + '_xml', - makeLibName('core')[0], - makeLibName('adv')[0], - makeLibName('html')[0], - makeLibName('xrc')[0], - ] + if MONOLITHIC: + libs = makeLibName('') + else: + libs = [ 'wxbase' + WXDLLVER + libFlag(), + 'wxbase' + WXDLLVER + libFlag() + '_net', + 'wxbase' + WXDLLVER + libFlag() + '_xml', + makeLibName('core')[0], + makeLibName('adv')[0], + makeLibName('html')[0], + makeLibName('xrc')[0], + ] libs = libs + ['kernel32', 'user32', 'gdi32', 'comdlg32', 'winspool', 'winmm', 'shell32', 'oldnames', 'comctl32', @@ -679,7 +698,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'), ] @@ -714,7 +733,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' @@ -767,7 +786,7 @@ else: if UNICODE: BUILD_BASE = BUILD_BASE + '.unicode' - VER_FLAGS += 'u' + ##VER_FLAGS += 'u' if os.path.exists('DAILY_BUILD'): @@ -794,7 +813,6 @@ swig_args = ['-c++', '-I' + opj(WXPY_SRC, 'src'), '-D'+WXPLAT, - '-noruntime' ] if UNICODE: swig_args.append('-DwxUSE_UNICODE') @@ -804,10 +822,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',