]> git.saurik.com Git - wxWidgets.git/blame - build/bakefiles/wxwin.py
fixed dll extension when crosscompiling for win32
[wxWidgets.git] / build / bakefiles / wxwin.py
CommitLineData
ddf98968
VS
1#
2# Helper functions for wxWindows bakefiles
3#
4# $Id$
5#
6
7
8def mk_wxid(id):
9 """Creates wxWindows library identifier from bakefile target ID that
10 follows this convention: DLLs end with 'dll', static libraries
11 end with 'lib'. If withPrefix=1, then _wxid is returned instead
12 of wxid."""
13 if id.endswith('dll') or id.endswith('lib'):
14 wxid = id[:-3]
15 else:
16 wxid = id
17 return wxid
18
19
20# List of library names/ids for categories with different names:
21LIBS_BASE = ['base']
22LIBS_GUI = ['core', 'html']
23
24def mkLibName(wxid):
25 """Returns string that can be used as library name, including name
26 suffixes, prefixes, version tags etc. This must be kept in sync
27 with variables defined in common.bkl!"""
28 if wxid == 'mono':
29 return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)$(WXVERSIONTAG)'
30 if wxid in LIBS_BASE:
31 return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)' % wxid
32 return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)_%s$(WXVERSIONTAG)' % wxid
33
34def mkDllName(wxid):
35 """Returns string that can be used as DLL name, including name
36 suffixes, prefixes, version tags etc. This must be kept in sync
37 with variables defined in common.bkl!"""
38 if wxid == 'mono':
39 return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)$(WXCOMPILER)$(WXVERSIONTAG)'
40 if wxid in LIBS_BASE:
41 return '$(WXNAMEPREFIX)$(WXNAMESUFFIX)_%s$(WXCOMPILER)$(WXVERSIONTAG)' % wxid
42 return '$(WXNAMEPREFIXGUI)$(WXNAMESUFFIX)_%s$(WXCOMPILER)$(WXVERSIONTAG)' % wxid
43
44
45def libToLink(wxlibname):
46 """Returns string to pass to <sys-lib> when linking against 'wxlibname'.
47 libToLink('foo') returns '$(WXLIB_FOO)' which must be defined in
48 common.bkl as either nothing (in monolithic build) or mkLibName('foo')
49 (otherwise)."""
50 return '$(WXLIB_%s)' % wxlibname.upper()
51
52
53wxVersion = None
54VERSION_FILE = '../../include/wx/version.h'
55
56def getVersion():
57 """Returns wxWindows version as a tuple: (major,minor,release)."""
58 global wxVersion
59 if wxVersion == None:
60 f = open(VERSION_FILE, 'rt')
61 lines = f.readlines()
62 f.close()
63 major = minor = release = None
64 for l in lines:
65 if not l.startswith('#define'): continue
66 splitted = l.strip().split()
67 if splitted[0] != '#define': continue
68 if len(splitted) < 3: continue
69 name = splitted[1]
70 value = splitted[2]
71 if value == None: continue
72 if name == 'wxMAJOR_VERSION': major = int(value)
73 if name == 'wxMINOR_VERSION': minor = int(value)
74 if name == 'wxRELEASE_NUMBER': release = int(value)
75 if major != None and minor != None and release != None:
76 break
77 wxVersion = (major, minor, release)
78 return wxVersion
79
80def getVersionMajor():
81 return getVersion()[0]
82def getVersionMinor():
83 return getVersion()[1]
84def getVersionRelease():
85 return getVersion()[2]