]> git.saurik.com Git - wxWidgets.git/blobdiff - build/bakefiles/wxwin.py
fixed wrong return value and child creation login in GetWindowChild() (includes patch...
[wxWidgets.git] / build / bakefiles / wxwin.py
index a87a235cb6e64b50e165df36cf8815a2cb1eb3f6..1d92d10887ca0902b00df95f6f471f2f3ca6d222 100644 (file)
@@ -1,5 +1,5 @@
 #
 #
-# Helper functions for wxWindows bakefiles
+# Helper functions for wxWidgets bakefiles
 #
 # $Id$
 #
 #
 # $Id$
 #
@@ -11,8 +11,15 @@ 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):
 # 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('CFG', __noopSubst)
 utils.addSubstituteCallback('LIBDIRNAME', __noopSubst)
 utils.addSubstituteCallback('SETUPHDIR', __noopSubst)
@@ -20,7 +27,7 @@ utils.addSubstituteCallback('OBJS', __noopSubst)
 
 
 def mk_wxid(id):
 
 
 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."""
        follows this convention: DLLs end with 'dll', static libraries
        end with 'lib'. If withPrefix=1, then _wxid is returned instead
        of wxid."""
@@ -33,10 +40,18 @@ def mk_wxid(id):
 
 # All libs that are part of the main library (i.e. non-contrib):
 MAIN_LIBS = ['mono', 'base', 'core', 'adv', 'html', 'xml', 'net',
 
 # All libs that are part of the main library (i.e. non-contrib):
 MAIN_LIBS = ['mono', 'base', 'core', 'adv', 'html', 'xml', 'net',
-             'odbc', 'dbgrid']
+             'media', 'odbc', 'qa', 'dbgrid', 'xrc', 'aui']
 # List of library names/ids for categories with different names:
 LIBS_NOGUI = ['xml', 'net', 'odbc']
 # List of library names/ids for categories with different names:
 LIBS_NOGUI = ['xml', 'net', 'odbc']
-LIBS_GUI   = ['core', 'adv', 'html', 'gl', 'dbgrid']
+LIBS_GUI   = ['core', 'adv', 'html', 'gl', 'qa', 'dbgrid', 'xrc', 'media', 'aui']
+# 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
 
 def mkLibName(wxid):
     """Returns string that can be used as library name, including name
@@ -75,12 +90,17 @@ def libToLink(wxlibname):
     else:
         return mkLibName(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'
 
 def getVersion():
 
 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')
     global wxVersion
     if wxVersion == None:
         f = open(VERSION_FILE, 'rt')
@@ -89,11 +109,11 @@ def getVersion():
         major = minor = release = None
         for l in lines:
             if not l.startswith('#define'): continue
         major = minor = release = None
         for l in lines:
             if not l.startswith('#define'): continue
-            splitted = l.strip().split()
-            if splitted[0] != '#define': continue
-            if len(splitted) < 3: continue
-            name = splitted[1]
-            value = splitted[2]
+            splitline = l.strip().split()
+            if splitline[0] != '#define': continue
+            if len(splitline) < 3: continue
+            name = splitline[1]
+            value = splitline[2]
             if value == None: continue
             if name == 'wxMAJOR_VERSION': major = int(value)
             if name == 'wxMINOR_VERSION': minor = int(value)
             if value == None: continue
             if name == 'wxMAJOR_VERSION': major = int(value)
             if name == 'wxMINOR_VERSION': minor = int(value)
@@ -118,8 +138,8 @@ def headersOnly(files):
     
     def callback(cond, sources):
         prf = suf = ''
     
     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'):
         retval = []
         for s in sources.split():
             if s.endswith('.h'):
@@ -130,18 +150,8 @@ def headersOnly(files):
 
 def makeDspDependency(lib):
     """Returns suitable entry for <depends-on-dsp> for main libs."""
 
 def makeDspDependency(lib):
     """Returns suitable entry for <depends-on-dsp> for main libs."""
+    return '%s:$(nativePaths(WXTOPDIR))build\\msw\\wx_%s.dsp' % (lib,lib)
 
 
-    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)
+def makeContribDspDependency(lib):
+    """Returns suitable entry for <depends-on-dsp> for contrib libs."""
+    return '%s:$(nativePaths(WXTOPDIR))contrib\\build\\%s\\%s.dsp' % (lib,lib,lib)