making windows compilation work
[wxWidgets.git] / build / bakefiles / common.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5     
6     <!-- bakefile modules we need: -->
7     <using module="datafiles"/>
8
9     <!-- load python module with wxwindows helpers: -->
10     <using module="wxwin"/>
11
12     <include file="config.bkl"/>
13     
14     
15     <!-- ================================================================== -->
16     <!--                     wxWindows version numbers:                     -->
17     <!-- ================================================================== -->
18
19     <set var="WXVER_MAJOR">$(wxwin.getVersionMajor())</set>
20     <set var="WXVER_MINOR">$(wxwin.getVersionMinor())</set>
21     <set var="WXVER_RELEASE">$(wxwin.getVersionRelease())</set>
22     <set var="WX_VERSION">$(WXVER_MAJOR).$(WXVER_MINOR).$(WXVER_RELEASE)</set>
23
24     <set var="WXSOVERSION">0.0.0</set>
25     <set var="WXMACVERSION">$(WX_VERSION)</set>
26     
27     
28     <!-- ================================================================== -->
29     <!--                     Names of libraries and DLLs:                   -->
30     <!-- ================================================================== -->
31
32     <set var="PORTNAME">
33         <if cond="USE_GUI=='0'">base</if>
34         <if cond="USE_GUI=='1'">$(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)</if>
35     </set>
36
37     <set var="COMPILERORGCC">
38         <if cond="isdefined('COMPILER')">$(COMPILER)</if>
39         <if cond="not isdefined('COMPILER')">gcc</if>
40     </set>
41     <set var="WXCOMPILER">
42         <if cond="PLATFORM_WIN32=='1'">_$(COMPILERORGCC)</if>
43     </set>
44
45     <set var="VENDORTAG">
46         <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='1'"></if>
47         <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='0'">_$(VENDOR)</if>
48     </set>
49
50     <set var="WXDEBUGFLAG">
51         <if cond="BUILD=='debug'">d</if>
52     </set>
53     <set var="WXUNICODEFLAG">
54         <if cond="UNICODE=='1'">u</if>
55     </set>
56     <set var="WXNAMESUFFIX">
57         $(WXUNICODEFLAG)$(WXDEBUGFLAG)
58     </set>
59     
60     <set var="WXUNIVNAME">
61         <if cond="WXUNIV=='1'">univ</if>
62     </set>
63     <set var="WXUNIV_DEFINE">
64         <if cond="WXUNIV=='1'">__WXUNIVERSAL__</if>
65     </set>
66
67     <if cond="FORMAT=='autoconf'">
68         <set var="WXNAMEPREFIX">wx</set>
69         <set var="WXNAMEPREFIXGUI">wx_$(PORTNAME)$(WXUNIVNAME)</set>
70         <set var="WXVERSIONTAG">-$(WXVER_MAJOR).$(WXVER_MINOR)</set>
71     </if>
72     <if cond="FORMAT!='autoconf'">
73         <set var="WXNAMEPREFIX">wx$(WXVER_MAJOR)$(WXVER_MINOR)</set>
74         <set var="WXNAMEPREFIXGUI">wx$(PORTNAME)$(WXUNIVNAME)$(WXVER_MAJOR)$(WXVER_MINOR)</set>
75         <set var="WXVERSIONTAG"></set>
76     </if>
77     <set var="WXDLLNAMEPREFIX">
78         <if cond="PLATFORM_WIN32=='1'">wx$(WXVER_MAJOR)$(WXVER_MINOR)</if>
79         <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIX)</if>
80     </set>
81     <set var="WXDLLNAMEPREFIXGUI">
82         <if cond="PLATFORM_WIN32=='1'">
83             wx$(PORTNAME)$(WXUNIVNAME)$(WXVER_MAJOR)$(WXVER_MINOR)
84         </if>
85         <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIXGUI)</if>
86     </set>
87     <set var="WXDLLVERSIONTAG">
88         <if cond="PLATFORM_WIN32=='1'"></if>
89         <if cond="PLATFORM_WIN32=='0'">$(WXVERSIONTAG)</if>
90     </set>
91
92     <set var="TOOLCHAIN_NAME">
93         $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)-$(WXVER_MAJOR).$(WXVER_MINOR)
94     </set>
95
96     
97     <!-- =============================================================== -->
98     <!--                    Names of component libraries:                -->
99     <!-- =============================================================== -->
100
101     <set var="WXLIB_BASE">
102         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('base')))</if>
103     </set>
104     <set var="WXLIB_CORE">
105         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
106     </set>
107     <set var="WXLIB_HTML">
108         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('html')))</if>
109     </set>
110
111     <set var="WXLIB_MONO">
112         <if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
113     </set>
114     
115     
116     <!-- =============================================================== -->
117     <!--             Where to store built libraries and objects:         -->
118     <!-- =============================================================== -->
119     
120
121     <if cond="FORMAT!='autoconf'">
122         <set var="WXDLLFLAG">
123             <if cond="SHARED=='1'">dll</if>
124         </set>
125         <set var="CFG_NAME_PART">
126             $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
127         </set>
128         <set var="OBJS" make_var="1">objs_$(COMPILER)_$(CFG_NAME_PART)</set>
129         <set var="BUILDDIR">$(OBJS)</set>
130     </if>
131     $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)-$(WXVER_MAJOR).$(WXVER_MINOR)
132     
133     <set var="LIBDIRNAME">
134         <if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
135         <if cond="FORMAT!='autoconf'">
136             $(TOP_SRCDIR)lib$(DIRSEP)$(COMPILER)_$(CFG_NAME_PART)
137         </if>
138     </set>
139
140     
141     <!-- =============================================================== -->
142     <!--                        Templates for libs:                      -->
143     <!-- =============================================================== -->
144
145     <set var="DEBUGFLAG">
146         <if cond="BUILD=='debug'">on</if>
147         <if cond="BUILD=='release'">off</if>
148     </set>
149     <set var="OPTIMIZEFLAG">
150         <if cond="BUILD=='debug'">off</if>
151         <if cond="BUILD=='release'">speed</if>
152     </set>
153     
154     <template id="anylib">
155         <depends cond="FORMAT!='autoconf' and BUILDING_LIB=='1'">setup.h</depends>
156         <dirname>$(LIBDIRNAME)</dirname>
157         <install-to>$(LIBDIR)</install-to>
158         
159         <debug-info>$(DEBUGFLAG)</debug-info>
160         <optimize>$(OPTIMIZEFLAG)</optimize>
161         <threading>multi</threading>        
162     </template>
163
164     <template id="3rdparty_lib" template="anylib">
165         <libname>$(id)$(WXDEBUGFLAG)</libname>
166     </template>
167
168
169     <!-- =============================================================== -->
170     <!--                         3rd party libs:                         -->
171     <!-- =============================================================== -->
172     
173     <!-- 3rd party libraries: -->
174     <include file="regex.bkl"/>
175     <include file="zlib.bkl"/>
176     <include file="png.bkl"/>
177     <include file="jpeg.bkl"/>
178     <include file="tiff.bkl"/>
179     <include file="odbc.bkl"/>
180
181     
182     <!-- =============================================================== -->
183     <!--                  Templates for wxWindows libs:                  -->
184     <!-- =============================================================== -->
185
186     <template id="wx">
187         <set var="wxid">$(wxwin.mk_wxid(id))</set>
188         <define>__WX$(TOOLKIT)__</define>
189         <define>$(WXUNIV_DEFINE)</define>
190         <include>$(TOP_SRCDIR)include</include>
191         <lib-path>$(LIBDIRNAME)</lib-path>        
192         <include cond="FORMAT!='autoconf'">$(LIBDIRNAME)</include>
193         <include>$(INC_TIFF)</include>
194         <include>$(INC_JPEG)</include>
195         <include>$(INC_PNG)</include>
196         <include>$(INC_ZLIB)</include>
197         <include>$(INC_ODBC)</include>
198         <include>$(INC_REGEX)</include>
199     </template>
200
201     <template id="wx_append">
202         <ldlibs>$(EXTRALIBS)</ldlibs>
203         <!-- link against builtin 3rd party libs, if needed: -->
204         <sys-lib>$(LIB_TIFF)</sys-lib>
205         <sys-lib>$(LIB_JPEG)</sys-lib>
206         <sys-lib>$(LIB_PNG)</sys-lib>
207         <sys-lib>$(LIB_ZLIB)</sys-lib>
208         <sys-lib>$(LIB_ODBC)</sys-lib>
209         <sys-lib>$(LIB_REGEX)</sys-lib>
210     </template>
211
212     <template id="wx_lib_b" template="wx,anylib">
213         <set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
214         <libname>$(WXLIBNAME)</libname>
215         <precomp-headers>on</precomp-headers>
216         <precomp-headers-file>wxprec</precomp-headers-file>
217     </template>
218     
219     <template id="wx_dll_b" template="wx_lib_b">
220         <set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
221         <dllname>$(WXDLLNAME)</dllname>
222         <version>$(WX_VERSION)</version>
223         <so_version>$(WXSOVERSION)</so_version>
224         <mac_version>$(WXMACVERSION)</mac_version>
225     </template>
226
227     <template id="wx_lib" template="wx_lib_b"/>
228     <template id="wx_dll" template="wx_dll_b" template_append="wx_append"/>
229     
230     <!-- =============================================================== -->
231     <!--               Support for wxWindows samples and contrib:        -->
232     <!-- =============================================================== -->
233
234     <!-- Link against one wxWin library. Value must be literal! -->
235     <define-tag name="wx-lib" rules="exe,dll">
236         <sys-lib>$(wxwin.libToLink(value))</sys-lib>
237     </define-tag>
238
239 </makefile>