support for building contrib libraries
[wxWidgets.git] / build / bakefiles / common.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5     
6     <set var="BUILDING_LIB" overwrite="0">0</set>
7
8     <!-- bakefile modules we need: -->
9     <using module="datafiles"/>
10
11     <!-- load python module with wxwindows helpers: -->
12     <using module="wxwin"/>
13
14     <include file="config.bkl"/>
15     
16     
17     <!-- ================================================================== -->
18     <!--                     wxWindows version numbers:                     -->
19     <!-- ================================================================== -->
20
21     <set var="WXVER_MAJOR">$(wxwin.getVersionMajor())</set>
22     <set var="WXVER_MINOR">$(wxwin.getVersionMinor())</set>
23     <set var="WXVER_RELEASE">$(wxwin.getVersionRelease())</set>
24     <set var="WX_VERSION">$(WXVER_MAJOR).$(WXVER_MINOR).$(WXVER_RELEASE)</set>
25
26     <set var="WXSOVERSION">0.0.0</set>
27     <set var="WXMACVERSION">$(WX_VERSION)</set>
28     
29     
30     <!-- ================================================================== -->
31     <!--                     Names of libraries and DLLs:                   -->
32     <!-- ================================================================== -->
33
34     <set var="PORTNAME">
35         <if cond="USE_GUI=='0'">base</if>
36         <if cond="USE_GUI=='1'">$(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)</if>
37     </set>
38
39     <set var="COMPILERORGCC">
40         <if cond="isdefined('COMPILER')">$(COMPILER)</if>
41         <if cond="not isdefined('COMPILER')">gcc</if>
42     </set>
43     <set var="WXCOMPILER">
44         <if cond="PLATFORM_WIN32=='1'">_$(COMPILERORGCC)</if>
45     </set>
46     
47     <set var="WXDEBUGFLAG">
48         <if cond="BUILD=='debug'">d</if>
49     </set>
50     <set var="WXUNICODEFLAG">
51         <if cond="UNICODE=='1'">u</if>
52     </set>
53     <set var="WXNAMESUFFIX">
54         $(WXUNICODEFLAG)$(WXDEBUGFLAG)
55     </set>
56     
57     <set var="WXUNIVNAME">
58         <if cond="WXUNIV=='1'">univ</if>
59     </set>
60     <set var="WXUNIV_DEFINE">
61         <if cond="WXUNIV=='1'">__WXUNIVERSAL__</if>
62     </set>
63
64     <set var="WXNAMEPREFIX">wx</set>
65     <set var="WXNAMEPREFIXGUI">wx_$(PORTNAME)$(WXUNIVNAME)</set>
66     <set var="WXVERSIONTAG">-$(WXVER_MAJOR).$(WXVER_MINOR)</set>
67
68     <set var="TOOLCHAIN_NAME">
69         $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)-$(WXVER_MAJOR).$(WXVER_MINOR)
70     </set>
71
72     
73     <!-- =============================================================== -->
74     <!--                    Names of component libraries:                -->
75     <!-- =============================================================== -->
76
77     <set var="WXLIB_CORE">
78         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
79     </set>
80
81     <set var="WXLIB_MONO">
82         <if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
83     </set>
84     
85     
86     <!-- =============================================================== -->
87     <!--                   Where to store built libraries:               -->
88     <!-- =============================================================== -->
89
90     <set var="LIBDIRNAME">
91         <if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
92     </set>
93
94     <!-- =============================================================== -->
95     <!--                         3rd party libs:                         -->
96     <!-- =============================================================== -->
97     
98     <!-- 3rd party libraries: -->
99     <include file="regex.bkl"/>
100     <include file="zlib.bkl"/>
101     <include file="png.bkl"/>
102     <include file="jpeg.bkl"/>
103     <include file="tiff.bkl"/>
104     <include file="odbc.bkl"/>
105
106     
107     <!-- =============================================================== -->
108     <!--                  Templates for wxWindows libs:                  -->
109     <!-- =============================================================== -->
110     
111     <set var="WXTOPDIR"></set>
112
113     <template id="wx">
114         <set var="wxid">$(wxwin.mk_wxid(id))</set>
115         <define>__WX$(TOOLKIT)__</define>
116         <define>$(WXUNIV_DEFINE)</define>
117         <include>$(SRCDIR)$(WXTOPDIR)/include</include>
118         <lib-path>$(LIBDIRNAME)</lib-path>
119     </template>
120
121     <template id="wx_append">
122         <ldflags>$(EXTRALIBS)</ldflags>
123         <!-- link against builtin 3rd party libs, if needed: -->
124         <sys-lib>$(LIB_JPEG)</sys-lib>
125         <sys-lib>$(LIB_PNG)</sys-lib>
126         <sys-lib>$(LIB_ZLIB)</sys-lib>
127         <sys-lib>$(LIB_TIFF)</sys-lib>
128         <sys-lib>$(LIB_ODBC)</sys-lib>
129         <sys-lib>$(LIB_REGEX)</sys-lib>
130     </template>
131
132     <template id="wx_lib" template="wx" template_append="wx_append">
133         <set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
134         <dirname>$(LIBDIRNAME)</dirname>
135         <libname>$(WXLIBNAME)</libname>
136         <install-to>$(LIBDIR)</install-to>
137     </template>
138     
139     <template id="wx_dll" template="wx_lib">
140         <set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
141         <dllname>$(WXDLLNAME)</dllname>
142         <version>$(WX_VERSION)</version>
143         <so_version>$(WXSOVERSION)</so_version>
144         <mac_version>$(WXMACVERSION)</mac_version>
145     </template>
146     
147     
148     <!-- =============================================================== -->
149     <!--                       Contrib helpers:                          -->
150     <!-- =============================================================== -->
151
152     <template id="contrib">
153         <include>$(SRCDIR)/../../include</include>
154     </template>
155     
156     <!-- =============================================================== -->
157     <!--               Support for wxWindows samples and contrib:        -->
158     <!-- =============================================================== -->
159
160     <!-- Link against one wxWin library. Value must be literal! -->
161     <define-tag name="wx-lib" rules="exe,dll">
162         <sys-lib>$(wxwin.libToLink(value))</sys-lib>
163     </define-tag>
164
165 </makefile>