X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3560dc761f3791f9aaf29ccdbf7323a6e4fbb3eb..d890ea0d4ce6fadf640cbff97ef27c75330c3083:/build/bakefiles/wxwin.py diff --git a/build/bakefiles/wxwin.py b/build/bakefiles/wxwin.py index 18cc7d232f..5c1483e3bc 100644 --- a/build/bakefiles/wxwin.py +++ b/build/bakefiles/wxwin.py @@ -11,9 +11,12 @@ import utils # 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 +def __noopSubst(func, name): + return '$(%s)' % name utils.addSubstituteCallback('CFG', __noopSubst) +utils.addSubstituteCallback('LIBDIRNAME', __noopSubst) +utils.addSubstituteCallback('SETUPHDIR', __noopSubst) +utils.addSubstituteCallback('OBJS', __noopSubst) def mk_wxid(id): @@ -29,22 +32,30 @@ def mk_wxid(id): # All libs that are part of the main library (i.e. non-contrib): -MAIN_LIBS = ['mono', 'base', 'core', 'html'] +MAIN_LIBS = ['mono', 'base', 'core', 'adv', 'html', 'xml', 'net', + 'odbc', 'dbgrid'] # List of library names/ids for categories with different names: -LIBS_NOGUI = [''] -LIBS_GUI = ['core', 'html'] +LIBS_NOGUI = ['xml', 'net', 'odbc'] +LIBS_GUI = ['core', 'adv', 'html', 'gl', 'dbgrid'] +# Additional libraries that must be linked in: +EXTRALIBS = { + 'gl' : '$(EXTRALIBS_OPENGL)', + 'xml' : '$(EXTRALIBS_XML)', + 'html' : '$(EXTRALIBS_HTML)', + 'odbc' : '$(EXTRALIBS_ODBC)', +} def mkLibName(wxid): """Returns string that can be used as library name, including name suffixes, prefixes, version tags etc. This must be kept in sync with variables defined in common.bkl!""" if wxid == 'mono': - return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)$(WXVERSIONTAG)' + return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)$(WXVERSIONTAG)$(HOST_SUFFIX)' if wxid == 'base': - return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)$(WXVERSIONTAG)' + return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)$(WXVERSIONTAG)$(HOST_SUFFIX)' if wxid in LIBS_NOGUI: - return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)' % wxid - return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)' % wxid + return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)$(HOST_SUFFIX)' % wxid + return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)$(HOST_SUFFIX)' % wxid def mkDllName(wxid): """Returns string that can be used as DLL name, including name @@ -71,6 +82,11 @@ def libToLink(wxlibname): else: return mkLibName(wxlibname) +def extraLdflags(wxlibname): + if wxlibname in EXTRALIBS: + return EXTRALIBS[wxlibname] + else: + return '' wxVersion = None VERSION_FILE = '../../include/wx/version.h' @@ -105,3 +121,25 @@ def getVersionMinor(): return getVersion()[1] def getVersionRelease(): return getVersion()[2] + + +def headersOnly(files): + """Filters 'files' so that only headers are left. Used with + to add headers to VC++ projects but not files such + as arrimpl.cpp.""" + + def callback(cond, sources): + prf = suf = '' + if sources[0].isspace(): prf=' ' + if sources[-1].isspace(): suf=' ' + retval = [] + for s in sources.split(): + if s.endswith('.h'): + retval.append(s) + return '%s%s%s' % (prf, ' '.join(retval), suf) + return utils.substitute2(files, callback) + + +def makeDspDependency(lib): + """Returns suitable entry for for main libs.""" + return '%s:$(nativePaths(WXTOPDIR))build\msw\wx_%s.dsp' % (lib,lib)