Merge in from trunk r68684 - r69046
[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>