#
-# Helper functions for wxWindows bakefiles
+# Helper functions for wxWidgets bakefiles
#
# $Id$
#
# 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, name):
- return '$(%s)' % name
+
+try:
+ # this fails in 0.1.4 and 0.1.5 has different subst.callbacks signature:
+ utils.checkBakefileVersion('0.1.5')
+ def __noopSubst(name, func, caller):
+ return '$(%s)' % name
+except AttributeError:
+ 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):
- """Creates wxWindows library identifier from bakefile target ID that
+ """Creates wxWidgets library identifier from bakefile target ID that
follows this convention: DLLs end with 'dll', static libraries
end with 'lib'. If withPrefix=1, then _wxid is returned instead
of wxid."""
# List of library names/ids for categories with different names:
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)',
+ 'adv' : '$(PLUGIN_ADV_EXTRALIBS)',
+}
def mkLibName(wxid):
"""Returns string that can be used as library name, including name
else:
return mkLibName(wxlibname)
+def extraLdflags(wxlibname):
+ if wxlibname in EXTRALIBS:
+ return EXTRALIBS[wxlibname]
+ else:
+ return ''
wxVersion = None
VERSION_FILE = '../../include/wx/version.h'
def getVersion():
- """Returns wxWindows version as a tuple: (major,minor,release)."""
+ """Returns wxWidgets version as a tuple: (major,minor,release)."""
global wxVersion
if wxVersion == None:
f = open(VERSION_FILE, 'rt')
def callback(cond, sources):
prf = suf = ''
- if sources[0].isspace(): prefix=' '
- if sources[-1].isspace(): suffix=' '
+ if sources[0].isspace(): prf=' '
+ if sources[-1].isspace(): suf=' '
retval = []
for s in sources.split():
if s.endswith('.h'):
def makeDspDependency(lib):
"""Returns suitable entry for <depends-on-dsp> for main libs."""
-
- DEPS_TABLE = {
- 'core':'base',
- 'adv':'core',
- 'html':'core',
- 'xml':'base',
- 'net':'base',
- 'odbc':'base',
- 'dbgrid':'adv,odbc',
- }
- if lib in DEPS_TABLE:
- deps = ':%s' % DEPS_TABLE[lib]
- else:
- deps = ''
- return '%s:$(nativePaths(WXTOPDIR))build\msw\wx_%s.dsp%s' % (lib,lib,deps)
+ return '%s:$(nativePaths(WXTOPDIR))build\\msw\\wx_%s.dsp' % (lib,lib)