]> git.saurik.com Git - wxWidgets.git/blobdiff - build/bakefiles/wxwin.py
reference to technote
[wxWidgets.git] / build / bakefiles / wxwin.py
index 18cc7d232f6fa252fee12b8493408c12d636d40f..df23f4c9cf4a4926a83aa166331763e8b026b35c 100644 (file)
@@ -11,9 +11,10 @@ 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)
 
 
 def mk_wxid(id):
@@ -29,22 +30,22 @@ 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', 'html', 'xml', 'net']
 # List of library names/ids for categories with different names:
-LIBS_NOGUI = ['']
-LIBS_GUI   = ['core', 'html']
+LIBS_NOGUI = ['xml', 'net']
+LIBS_GUI   = ['core', 'html', 'gl']
 
 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
@@ -105,3 +106,20 @@ def getVersionMinor():
     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)