# 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):
# 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']
def mkLibName(wxid):
"""Returns string that can be used as library name, including name
return getVersion()[1]
def getVersionRelease():
return getVersion()[2]
+
+
+def headersOnly(files):
+ """Filters 'files' so that only headers are left. Used with
+ <msvc-project-files> to add headers to VC++ projects but not files such
+ as arrimpl.cpp."""
+
+ def callback(cond, sources):
+ prf = suf = ''
+ if sources[0].isspace(): prefix=' '
+ if sources[-1].isspace(): suffix=' '
+ 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 <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)