X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fc5f509324d85f0d48586cdd9f326709cfc1bec..ef1b8570d59d41b9154d2f8a74732508741c6fdb:/build/bakefiles/wxwin.py diff --git a/build/bakefiles/wxwin.py b/build/bakefiles/wxwin.py index f2e9b2fa75..18cc7d232f 100644 --- a/build/bakefiles/wxwin.py +++ b/build/bakefiles/wxwin.py @@ -5,6 +5,17 @@ # +import utils + +# We use 'CFG' option in places where bakefile doesn't like it, so we must +# register a substitution function for it that provides additional knowledge +# about the option (in this case that it does not contain dir separators and +# so utils.nativePaths() doesn't have to do anything with it): +def __noopSubst(func, opt): + return '$(%s)' % opt.name +utils.addSubstituteCallback('CFG', __noopSubst) + + def mk_wxid(id): """Creates wxWindows library identifier from bakefile target ID that follows this convention: DLLs end with 'dll', static libraries @@ -17,9 +28,11 @@ def mk_wxid(id): return wxid +# All libs that are part of the main library (i.e. non-contrib): +MAIN_LIBS = ['mono', 'base', 'core', 'html'] # List of library names/ids for categories with different names: -LIBS_BASE = ['base'] -LIBS_GUI = ['core', 'html'] +LIBS_NOGUI = [''] +LIBS_GUI = ['core', 'html'] def mkLibName(wxid): """Returns string that can be used as library name, including name @@ -27,7 +40,9 @@ def mkLibName(wxid): with variables defined in common.bkl!""" if wxid == 'mono': return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)$(WXVERSIONTAG)' - if wxid in LIBS_BASE: + if wxid == 'base': + return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)$(WXVERSIONTAG)' + if wxid in LIBS_NOGUI: return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)' % wxid return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)' % wxid @@ -37,17 +52,24 @@ def mkDllName(wxid): with variables defined in common.bkl!""" if wxid == 'mono': return '$(WXDLLNAMEPREFIXGUI)$(WXNAMESUFFIX)$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)' - if wxid in LIBS_BASE: + if wxid == 'base': + return '$(WXDLLNAMEPREFIX)$(WXNAMESUFFIX)$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)' + if wxid in LIBS_NOGUI: return '$(WXDLLNAMEPREFIX)$(WXNAMESUFFIX)_%s$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)' % wxid return '$(WXDLLNAMEPREFIXGUI)$(WXNAMESUFFIX)_%s$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)' % wxid def libToLink(wxlibname): """Returns string to pass to when linking against 'wxlibname'. - libToLink('foo') returns '$(WXLIB_FOO)' which must be defined in - common.bkl as either nothing (in monolithic build) or mkLibName('foo') - (otherwise).""" - return '$(WXLIB_%s)' % wxlibname.upper() + For one of main libraries, libToLink('foo') returns '$(WXLIB_FOO)' which + must be defined in common.bkl as either nothing (in monolithic build) or + mkLibName('foo') (otherwise). + For contrib libraries, it returns mkDllName(wxlibname). + """ + if wxlibname in MAIN_LIBS: + return '$(WXLIB_%s)' % wxlibname.upper() + else: + return mkLibName(wxlibname) wxVersion = None