]> git.saurik.com Git - wxWidgets.git/blob - build/bakefiles/multilib.bkl
add wrappers to avoid compiling code which will never be used
[wxWidgets.git] / build / bakefiles / multilib.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5
6 <define-rule name="wxshortcut" extends="phony">
7 <template>
8 <set var="name">$(id.replace('wx',''))</set>
9 <set var="namedll">
10 <if cond="SHARED=='1'">$(name)dll</if>
11 </set>
12 <set var="namelib">
13 <if cond="SHARED=='0'">$(name)lib</if>
14 </set>
15 <depends>$(namedll)</depends>
16 <depends>$(namelib)</depends>
17 </template>
18 </define-rule>
19
20 <!-- ================================================================= -->
21 <!-- wxBase library -->
22 <!-- ================================================================= -->
23
24 <dll id="basedll" template="wx_base_dll"
25 cond="SHARED=='1' and MONOLITHIC=='0'">
26 <define>WXMAKINGDLL_BASE</define>
27 <define>wxUSE_BASE=1</define>
28 <sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
29 <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
30 </dll>
31
32 <lib id="baselib" template="wx_base_lib"
33 cond="SHARED=='0' and MONOLITHIC=='0'">
34 <define>wxUSE_BASE=1</define>
35 <sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
36 <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
37 </lib>
38
39 <wxshortcut id="wxbase" cond="MONOLITHIC=='0'"/>
40
41 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">base=baselib+basedll</set>
42
43
44 <!-- ================================================================= -->
45 <!-- wxNet library -->
46 <!-- ================================================================= -->
47
48 <dll id="netdll" template="wx_base_dll"
49 cond="SHARED=='1' and MONOLITHIC=='0'">
50 <define>WXUSINGDLL</define>
51 <define>WXMAKINGDLL_NET</define>
52 <sources>$(NET_SRC)</sources>
53 <msvc-headers>$(NET_CMN_HDR) $(NET_PLATFORM_HDR)</msvc-headers>
54 <library>basedll</library>
55 </dll>
56
57 <lib id="netlib" template="wx_base_lib"
58 cond="SHARED=='0' and MONOLITHIC=='0'">
59 <sources>$(NET_SRC)</sources>
60 <msvc-headers>$(NET_CMN_HDR) $(NET_PLATFORM_HDR)</msvc-headers>
61 </lib>
62
63 <wxshortcut id="wxnet" cond="MONOLITHIC=='0'"/>
64
65 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">net=netlib+netdll</set>
66
67
68 <!-- ================================================================= -->
69 <!-- Main GUI library -->
70 <!-- ================================================================= -->
71
72 <dll id="coredll" template="wx_dll"
73 cond="SHARED=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
74 <define>WXUSINGDLL</define>
75 <define>WXMAKINGDLL_CORE</define>
76 <define>wxUSE_BASE=0</define>
77 <sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
78 <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
79 <library>basedll</library>
80 </dll>
81
82 <lib id="corelib" template="wx_lib"
83 cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
84 <define>wxUSE_BASE=0</define>
85 <sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
86 <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
87 </lib>
88
89 <wxshortcut id="wxcore" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
90
91 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">core=corelib+coredll</set>
92
93
94 <!-- ================================================================= -->
95 <!-- "Advanced" controls library -->
96 <!-- ================================================================= -->
97
98 <dll id="advdll" template="wx_dll"
99 cond="SHARED=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
100 <define>WXUSINGDLL</define>
101 <define>WXMAKINGDLL_ADV</define>
102 <sources>$(ADVANCED_SRC) $(PLUGIN_ADV_SRC)</sources>
103 <msvc-headers>$(ADVANCED_HDR)</msvc-headers>
104 <library>coredll</library>
105 <library>basedll</library>
106 <ldlibs>$(PLUGIN_ADV_EXTRALIBS)</ldlibs>
107 </dll>
108
109 <lib id="advlib" template="wx_lib"
110 cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
111 <sources>$(ADVANCED_SRC) $(PLUGIN_ADV_SRC)</sources>
112 <msvc-headers>$(ADVANCED_HDR)</msvc-headers>
113 </lib>
114
115 <wxshortcut id="wxadv" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
116
117 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">adv=advlib+advdll</set>
118
119
120 <!-- ================================================================= -->
121 <!-- wxMedia classes library -->
122 <!-- ================================================================= -->
123
124 <dll id="mediadll" template="wx_dll"
125 cond="SHARED=='1' and USE_MEDIA=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
126 <define>WXUSINGDLL</define>
127 <define>WXMAKINGDLL_MEDIA</define>
128 <sources>$(MEDIA_SRC)</sources>
129 <msvc-headers>$(MEDIA_HDR)</msvc-headers>
130 <library>coredll</library>
131 <library>basedll</library>
132 <ldlibs>$(EXTRALIBS_MEDIA)</ldlibs>
133 </dll>
134
135 <lib id="medialib" template="wx_lib"
136 cond="SHARED=='0' and USE_MEDIA=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
137 <sources>$(MEDIA_SRC)</sources>
138 <msvc-headers>$(MEDIA_HDR)</msvc-headers>
139 </lib>
140
141 <wxshortcut id="wxmedia" cond="MONOLITHIC=='0' and USE_GUI=='1' and USE_MEDIA=='1'"/>
142
143 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">media=medialib+mediadll</set>
144
145
146 <!-- ================================================================ -->
147 <!-- wxHTML -->
148 <!-- ================================================================ -->
149
150 <dll id="htmldll" template="wx_dll"
151 cond="SHARED=='1' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">
152 <define>WXUSINGDLL</define>
153 <define>WXMAKINGDLL_HTML</define>
154 <sources>$(HTML_SRC)</sources>
155 <library>coredll</library>
156 <library>basedll</library>
157 <ldlibs>$(EXTRALIBS_HTML)</ldlibs>
158 <msvc-headers>$(HTML_HDR)</msvc-headers>
159 </dll>
160
161 <!-- use this to conditonally link against htmldll with <library>: -->
162 <set var="htmldll_library_link">
163 <if cond="SHARED=='1' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">htmldll</if>
164 </set>
165
166 <lib id="htmllib" template="wx_lib"
167 cond="SHARED=='0' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">
168 <sources>$(HTML_SRC)</sources>
169 <msvc-headers>$(HTML_HDR)</msvc-headers>
170 </lib>
171
172 <wxshortcut id="wxhtml" cond="MONOLITHIC=='0' and USE_HTML=='1'"/>
173
174 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">html=htmllib+htmldll</set>
175
176 <!-- ================================================================ -->
177 <!-- wxWEBVIEW -->
178 <!-- ================================================================ -->
179
180 <dll id="webviewdll" template="wx_dll"
181 cond="SHARED=='1' and USE_GUI=='1' and USE_WEBVIEW=='1' and MONOLITHIC=='0'">
182 <define>WXUSINGDLL</define>
183 <define>WXMAKINGDLL_WEBVIEW</define>
184 <sources>$(WEBVIEW_SRC)</sources>
185 <library>coredll</library>
186 <library>basedll</library>
187 <msvc-headers>$(WEBVIEW_HDR)</msvc-headers>
188 </dll>
189
190 <lib id="webviewlib" template="wx_lib"
191 cond="SHARED=='0' and USE_GUI=='1' and USE_WEBVIEW=='1' and MONOLITHIC=='0'">
192 <sources>$(WEBVIEW_SRC)</sources>
193 <msvc-headers>$(WEBVIEW_HDR)</msvc-headers>
194 </lib>
195
196 <wxshortcut id="wxwebview" cond="MONOLITHIC=='0' and USE_WEBVIEW=='1'"/>
197
198 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">webview=webviewlib+webviewdll</set>
199
200 <!-- ================================================================ -->
201 <!-- OpenGL -->
202 <!-- ================================================================ -->
203
204 <!-- included by wx.bkl from opengl.bkl -->
205
206 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">gl=gllib+gldll</set>
207
208
209 <!-- ================================================================ -->
210 <!-- QA -->
211 <!-- ================================================================ -->
212
213 <dll id="qadll" template="wx_dll"
214 cond="SHARED=='1' and USE_GUI=='1' and USE_QA=='1' and MONOLITHIC=='0'">
215 <define>WXUSINGDLL</define>
216 <define>WXMAKINGDLL_QA</define>
217 <sources>$(QA_SRC)</sources>
218 <msvc-headers>$(QA_HDR)</msvc-headers>
219 <library>coredll</library>
220 <library>basedll</library>
221 <library>xmldll</library>
222 </dll>
223
224 <lib id="qalib" template="wx_lib"
225 cond="SHARED=='0' and USE_GUI=='1' and USE_QA=='1' and MONOLITHIC=='0'">
226 <sources>$(QA_SRC)</sources>
227 <msvc-headers>$(QA_HDR)</msvc-headers>
228 </lib>
229
230 <wxshortcut id="wxqa" cond="MONOLITHIC=='0' and USE_QA=='1'"/>
231
232 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">qa=qalib+qadll</set>
233
234 <!-- ================================================================ -->
235 <!-- XML -->
236 <!-- ================================================================ -->
237
238 <dll id="xmldll" template="wx_base_dll"
239 cond="SHARED=='1' and MONOLITHIC=='0'">
240 <define>WXUSINGDLL</define>
241 <define>WXMAKINGDLL_XML</define>
242 <sources>$(XML_SRC)</sources>
243 <msvc-headers>$(XML_HDR)</msvc-headers>
244 <library>basedll</library>
245 <ldlibs>$(EXTRALIBS_XML)</ldlibs>
246 </dll>
247
248 <lib id="xmllib" template="wx_base_lib"
249 cond="SHARED=='0' and MONOLITHIC=='0'">
250 <sources>$(XML_SRC)</sources>
251 <msvc-headers>$(XML_HDR)</msvc-headers>
252 </lib>
253
254 <wxshortcut id="wxxml" cond="MONOLITHIC=='0'"/>
255
256 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xml=xmllib+xmldll</set>
257
258 <!-- ================================================================ -->
259 <!-- XRC -->
260 <!-- ================================================================ -->
261
262 <dll id="xrcdll" template="wx_dll"
263 cond="SHARED=='1' and USE_XRC=='1' and MONOLITHIC=='0'">
264 <define>WXUSINGDLL</define>
265 <define>WXMAKINGDLL_XRC</define>
266 <sources>$(XRC_SRC)</sources>
267 <library>$(htmldll_library_link)</library>
268 <library>advdll</library>
269 <library>coredll</library>
270 <library>xmldll</library>
271 <library>basedll</library>
272 <msvc-headers>$(XRC_HDR)</msvc-headers>
273 </dll>
274
275 <lib id="xrclib" template="wx_lib"
276 cond="SHARED=='0' and USE_XRC=='1' and MONOLITHIC=='0'">
277 <sources>$(XRC_SRC)</sources>
278 <msvc-headers>$(XRC_HDR)</msvc-headers>
279 </lib>
280
281 <wxshortcut id="wxxrc" cond="MONOLITHIC=='0' and USE_XRC=='1'"/>
282
283 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xrc=xrclib+xrcdll</set>
284
285 <!-- ================================================================ -->
286 <!-- AUI -->
287 <!-- ================================================================ -->
288
289 <dll id="auidll" template="wx_dll"
290 cond="SHARED=='1' and USE_AUI=='1' and MONOLITHIC=='0'">
291 <define>WXUSINGDLL</define>
292 <define>WXMAKINGDLL_AUI</define>
293 <sources>$(AUI_SRC)</sources>
294 <library>advdll</library>
295 <library>coredll</library>
296 <library>basedll</library>
297 <msvc-headers>$(AUI_HDR)</msvc-headers>
298 </dll>
299
300 <lib id="auilib" template="wx_lib"
301 cond="SHARED=='0' and USE_AUI=='1' and MONOLITHIC=='0'">
302 <sources>$(AUI_SRC)</sources>
303 <msvc-headers>$(AUI_HDR)</msvc-headers>
304 </lib>
305
306 <wxshortcut id="wxaui" cond="MONOLITHIC=='0' and USE_AUI=='1'"/>
307
308 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">aui=auilib+auidll</set>
309
310 <!-- ================================================================ -->
311 <!-- RIBBON -->
312 <!-- ================================================================ -->
313
314 <dll id="ribbondll" template="wx_dll"
315 cond="SHARED=='1' and USE_RIBBON=='1' and MONOLITHIC=='0'">
316 <define>WXUSINGDLL</define>
317 <define>WXMAKINGDLL_RIBBON</define>
318 <sources>$(RIBBON_SRC)</sources>
319 <library>advdll</library>
320 <library>coredll</library>
321 <library>basedll</library>
322 <msvc-headers>$(RIBBON_HDR)</msvc-headers>
323 </dll>
324
325 <lib id="ribbonlib" template="wx_lib"
326 cond="SHARED=='0' and USE_RIBBON=='1' and MONOLITHIC=='0'">
327 <sources>$(RIBBON_SRC)</sources>
328 <msvc-headers>$(RIBBON_HDR)</msvc-headers>
329 </lib>
330
331 <wxshortcut id="wxribbon" cond="MONOLITHIC=='0' and USE_RIBBON=='1'"/>
332
333 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">ribbon=ribbonlib+ribbondll</set>
334
335 <!-- ================================================================ -->
336 <!-- PROPGRID -->
337 <!-- ================================================================ -->
338
339 <dll id="propgriddll" template="wx_dll"
340 cond="SHARED=='1' and USE_PROPGRID=='1' and MONOLITHIC=='0'">
341 <define>WXUSINGDLL</define>
342 <define>WXMAKINGDLL_PROPGRID</define>
343 <sources>$(PROPGRID_SRC)</sources>
344 <library>advdll</library>
345 <library>coredll</library>
346 <library>basedll</library>
347 <msvc-headers>$(PROPGRID_HDR)</msvc-headers>
348 </dll>
349
350 <lib id="propgridlib" template="wx_lib"
351 cond="SHARED=='0' and USE_PROPGRID=='1' and MONOLITHIC=='0'">
352 <sources>$(PROPGRID_SRC)</sources>
353 <msvc-headers>$(PROPGRID_HDR)</msvc-headers>
354 </lib>
355
356 <wxshortcut id="wxpropgrid" cond="MONOLITHIC=='0' and USE_PROPGRID=='1'"/>
357
358 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">propgrid=propgridlib+propgriddll</set>
359
360 <!-- ================================================================ -->
361 <!-- RICHTEXT -->
362 <!-- ================================================================ -->
363
364 <dll id="richtextdll" template="wx_dll"
365 cond="SHARED=='1' and USE_RICHTEXT=='1' and MONOLITHIC=='0'">
366 <define>WXUSINGDLL</define>
367 <define>WXMAKINGDLL_RICHTEXT</define>
368 <sources>$(RICHTEXT_SRC)</sources>
369 <library>advdll</library>
370 <library>$(htmldll_library_link)</library>
371 <library>xmldll</library>
372 <library>coredll</library>
373 <library>basedll</library>
374 <msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
375 </dll>
376
377 <lib id="richtextlib" template="wx_lib"
378 cond="SHARED=='0' and USE_RICHTEXT=='1' and MONOLITHIC=='0'">
379 <sources>$(RICHTEXT_SRC)</sources>
380 <msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
381 </lib>
382
383 <wxshortcut id="wxrichtext" cond="MONOLITHIC=='0' and USE_RICHTEXT=='1'"/>
384
385 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">richtext=richtextlib+richtextdll</set>
386
387 <!-- ================================================================ -->
388 <!-- STC -->
389 <!-- ================================================================ -->
390
391 <template id="stc_base" template="wxscintilla_cppflags">
392 <library>wxscintilla</library>
393 </template>
394
395 <dll id="stcdll" template="wx_dll,stc_base"
396 cond="SHARED=='1' and USE_STC=='1' and MONOLITHIC=='0'">
397 <define>WXUSINGDLL</define>
398 <define>WXMAKINGDLL_STC</define>
399 <sources>$(STC_SRC)</sources>
400 <library>coredll</library>
401 <library>basedll</library>
402 <msvc-headers>$(STC_HDR)</msvc-headers>
403 </dll>
404
405 <lib id="stclib" template="wx_lib,stc_base"
406 cond="SHARED=='0' and USE_STC=='1' and MONOLITHIC=='0'">
407 <sources>$(STC_SRC)</sources>
408 <msvc-headers>$(STC_HDR)</msvc-headers>
409 </lib>
410
411 <wxshortcut id="wxstc" cond="MONOLITHIC=='0' and USE_STC=='1'"/>
412
413 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">stc=stclib+stcdll</set>
414
415 </makefile>