]> git.saurik.com Git - wxWidgets.git/blame - build/bakefiles/multilib.bkl
provide our own implementation of wxStrnlen if it's not available; add tests for it
[wxWidgets.git] / build / bakefiles / multilib.bkl
CommitLineData
ddf98968 1<?xml version="1.0" ?>
cb8bbc13
VS
2<!-- $Id$ -->
3
ddf98968 4<makefile>
61639efb 5
e80118cf
VS
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
ddf98968 20 <!-- ================================================================= -->
e86e1522 21 <!-- wxBase library -->
ddf98968 22 <!-- ================================================================= -->
61639efb 23
3560dc76 24 <dll id="basedll" template="wx_base_dll"
ddf98968 25 cond="SHARED=='1' and MONOLITHIC=='0'">
81659205 26 <define>WXMAKINGDLL_BASE</define>
e86e1522 27 <define>wxUSE_BASE=1</define>
e86e1522 28 <sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
390c0cfb 29 <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
ddf98968 30 </dll>
61639efb 31
3560dc76 32 <lib id="baselib" template="wx_base_lib"
ddf98968 33 cond="SHARED=='0' and MONOLITHIC=='0'">
61639efb 34 <define>wxUSE_BASE=1</define>
e86e1522 35 <sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
390c0cfb 36 <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
e86e1522 37 </lib>
7bd54b68 38
e80118cf
VS
39 <wxshortcut id="wxbase" cond="MONOLITHIC=='0'"/>
40
af594eca 41 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">base=baselib+basedll</set>
61639efb
VZ
42
43
7c4728f6
VS
44 <!-- ================================================================= -->
45 <!-- wxNet library -->
46 <!-- ================================================================= -->
61639efb 47
7c4728f6
VS
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>
61639efb 56
7c4728f6
VS
57 <lib id="netlib" template="wx_base_lib"
58 cond="SHARED=='0' and MONOLITHIC=='0'">
7c4728f6 59 <sources>$(NET_SRC)</sources>
e2281645 60 <msvc-headers>$(NET_CMN_HDR) $(NET_PLATFORM_HDR)</msvc-headers>
7c4728f6 61 </lib>
61639efb 62
e80118cf
VS
63 <wxshortcut id="wxnet" cond="MONOLITHIC=='0'"/>
64
af594eca 65 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">net=netlib+netdll</set>
e86e1522 66
61639efb 67
e86e1522
VS
68 <!-- ================================================================= -->
69 <!-- Main GUI library -->
70 <!-- ================================================================= -->
61639efb 71
e86e1522
VS
72 <dll id="coredll" template="wx_dll"
73 cond="SHARED=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
a7140600 74 <define>WXUSINGDLL</define>
81659205 75 <define>WXMAKINGDLL_CORE</define>
61639efb 76 <define>wxUSE_BASE=0</define>
e86e1522 77 <sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
390c0cfb 78 <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
6c6df83a 79 <library>basedll</library>
e86e1522 80 </dll>
61639efb 81
e86e1522
VS
82 <lib id="corelib" template="wx_lib"
83 cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
61639efb 84 <define>wxUSE_BASE=0</define>
e86e1522 85 <sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
390c0cfb 86 <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
ddf98968 87 </lib>
61639efb 88
e80118cf
VS
89 <wxshortcut id="wxcore" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
90
af594eca 91 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">core=corelib+coredll</set>
61639efb
VZ
92
93
13cb46e0
VS
94 <!-- ================================================================= -->
95 <!-- "Advanced" controls library -->
96 <!-- ================================================================= -->
61639efb 97
13cb46e0
VS
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>
c79241a2 102 <sources>$(ADVANCED_SRC) $(PLUGIN_ADV_SRC)</sources>
13cb46e0
VS
103 <msvc-headers>$(ADVANCED_HDR)</msvc-headers>
104 <library>coredll</library>
105 <library>basedll</library>
c79241a2 106 <ldlibs>$(PLUGIN_ADV_EXTRALIBS)</ldlibs>
13cb46e0 107 </dll>
61639efb 108
13cb46e0
VS
109 <lib id="advlib" template="wx_lib"
110 cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
c79241a2 111 <sources>$(ADVANCED_SRC) $(PLUGIN_ADV_SRC)</sources>
13cb46e0
VS
112 <msvc-headers>$(ADVANCED_HDR)</msvc-headers>
113 </lib>
61639efb 114
e80118cf
VS
115 <wxshortcut id="wxadv" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
116
af594eca 117 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">adv=advlib+advdll</set>
61639efb
VZ
118
119
2ae3b602
RN
120 <!-- ================================================================= -->
121 <!-- wxMedia classes library -->
122 <!-- ================================================================= -->
61639efb 123
2ae3b602 124 <dll id="mediadll" template="wx_dll"
557002cf 125 cond="SHARED=='1' and USE_MEDIA=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
2ae3b602
RN
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>
2f8711ed 132 <ldlibs>$(EXTRALIBS_MEDIA)</ldlibs>
2ae3b602 133 </dll>
61639efb 134
2ae3b602 135 <lib id="medialib" template="wx_lib"
557002cf 136 cond="SHARED=='0' and USE_MEDIA=='1' and USE_GUI=='1' and MONOLITHIC=='0'">
2ae3b602
RN
137 <sources>$(MEDIA_SRC)</sources>
138 <msvc-headers>$(MEDIA_HDR)</msvc-headers>
139 </lib>
61639efb 140
e80118cf
VS
141 <wxshortcut id="wxmedia" cond="MONOLITHIC=='0' and USE_GUI=='1' and USE_MEDIA=='1'"/>
142
2ae3b602
RN
143 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">media=medialib+mediadll</set>
144
145
ddf98968
VS
146 <!-- ================================================================ -->
147 <!-- wxHTML -->
148 <!-- ================================================================ -->
61639efb 149
ddf98968 150 <dll id="htmldll" template="wx_dll"
0bcf9597 151 cond="SHARED=='1' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">
a7140600 152 <define>WXUSINGDLL</define>
81659205 153 <define>WXMAKINGDLL_HTML</define>
ddf98968 154 <sources>$(HTML_SRC)</sources>
6c6df83a
VS
155 <library>coredll</library>
156 <library>basedll</library>
c839485c 157 <ldlibs>$(EXTRALIBS_HTML)</ldlibs>
390c0cfb 158 <msvc-headers>$(HTML_HDR)</msvc-headers>
ddf98968 159 </dll>
61639efb 160
47b6ebde
VS
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
ddf98968 166 <lib id="htmllib" template="wx_lib"
0bcf9597 167 cond="SHARED=='0' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">
ddf98968 168 <sources>$(HTML_SRC)</sources>
390c0cfb 169 <msvc-headers>$(HTML_HDR)</msvc-headers>
ddf98968 170 </lib>
61639efb 171
e80118cf
VS
172 <wxshortcut id="wxhtml" cond="MONOLITHIC=='0' and USE_HTML=='1'"/>
173
af594eca 174 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">html=htmllib+htmldll</set>
61639efb 175
4d264332
VS
176 <!-- ================================================================ -->
177 <!-- OpenGL -->
178 <!-- ================================================================ -->
179
180 <!-- included by wx.bkl from opengl.bkl -->
61639efb 181
af594eca 182 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">gl=gllib+gldll</set>
61639efb
VZ
183
184
185 <!-- ================================================================ -->
186 <!-- QA -->
187 <!-- ================================================================ -->
188
189 <dll id="qadll" template="wx_dll"
190 cond="SHARED=='1' and USE_GUI=='1' and USE_QA=='1' and MONOLITHIC=='0'">
191 <define>WXUSINGDLL</define>
192 <define>WXMAKINGDLL_QA</define>
193 <sources>$(QA_SRC)</sources>
194 <msvc-headers>$(QA_HDR)</msvc-headers>
4ebd02e9 195 <library>coredll</library>
61639efb
VZ
196 <library>basedll</library>
197 <library>xmldll</library>
198 </dll>
199
200 <lib id="qalib" template="wx_lib"
201 cond="SHARED=='0' and USE_GUI=='1' and USE_QA=='1' and MONOLITHIC=='0'">
202 <sources>$(QA_SRC)</sources>
203 <msvc-headers>$(QA_HDR)</msvc-headers>
204 </lib>
205
e80118cf
VS
206 <wxshortcut id="wxqa" cond="MONOLITHIC=='0' and USE_QA=='1'"/>
207
61639efb
VZ
208 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">qa=qalib+qadll</set>
209
a69544bf
VS
210 <!-- ================================================================ -->
211 <!-- XML -->
212 <!-- ================================================================ -->
61639efb 213
a69544bf
VS
214 <dll id="xmldll" template="wx_base_dll"
215 cond="SHARED=='1' and MONOLITHIC=='0'">
216 <define>WXUSINGDLL</define>
217 <define>WXMAKINGDLL_XML</define>
218 <sources>$(XML_SRC)</sources>
390c0cfb 219 <msvc-headers>$(XML_HDR)</msvc-headers>
a69544bf
VS
220 <library>basedll</library>
221 <ldlibs>$(EXTRALIBS_XML)</ldlibs>
222 </dll>
61639efb 223
a69544bf
VS
224 <lib id="xmllib" template="wx_base_lib"
225 cond="SHARED=='0' and MONOLITHIC=='0'">
226 <sources>$(XML_SRC)</sources>
390c0cfb 227 <msvc-headers>$(XML_HDR)</msvc-headers>
a69544bf 228 </lib>
61639efb 229
e80118cf
VS
230 <wxshortcut id="wxxml" cond="MONOLITHIC=='0'"/>
231
af594eca 232 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xml=xmllib+xmldll</set>
61639efb 233
3849327b
VS
234 <!-- ================================================================ -->
235 <!-- XRC -->
236 <!-- ================================================================ -->
61639efb 237
3849327b
VS
238 <dll id="xrcdll" template="wx_dll"
239 cond="SHARED=='1' and USE_XRC=='1' and MONOLITHIC=='0'">
240 <define>WXUSINGDLL</define>
241 <define>WXMAKINGDLL_XRC</define>
242 <sources>$(XRC_SRC)</sources>
47b6ebde 243 <library>$(htmldll_library_link)</library>
3849327b
VS
244 <library>advdll</library>
245 <library>coredll</library>
246 <library>xmldll</library>
247 <library>basedll</library>
248 <msvc-headers>$(XRC_HDR)</msvc-headers>
249 </dll>
61639efb 250
3849327b
VS
251 <lib id="xrclib" template="wx_lib"
252 cond="SHARED=='0' and USE_XRC=='1' and MONOLITHIC=='0'">
253 <sources>$(XRC_SRC)</sources>
254 <msvc-headers>$(XRC_HDR)</msvc-headers>
255 </lib>
61639efb 256
e80118cf
VS
257 <wxshortcut id="wxxrc" cond="MONOLITHIC=='0' and USE_XRC=='1'"/>
258
3849327b 259 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xrc=xrclib+xrcdll</set>
61639efb 260
50acee04
JS
261 <!-- ================================================================ -->
262 <!-- AUI -->
263 <!-- ================================================================ -->
264
265 <dll id="auidll" template="wx_dll"
266 cond="SHARED=='1' and USE_AUI=='1' and MONOLITHIC=='0'">
267 <define>WXUSINGDLL</define>
268 <define>WXMAKINGDLL_AUI</define>
269 <sources>$(AUI_SRC)</sources>
270 <library>advdll</library>
271 <library>coredll</library>
272 <library>basedll</library>
273 <msvc-headers>$(AUI_HDR)</msvc-headers>
274 </dll>
275
276 <lib id="auilib" template="wx_lib"
277 cond="SHARED=='0' and USE_AUI=='1' and MONOLITHIC=='0'">
278 <sources>$(AUI_SRC)</sources>
279 <msvc-headers>$(AUI_HDR)</msvc-headers>
280 </lib>
e80118cf
VS
281
282 <wxshortcut id="wxaui" cond="MONOLITHIC=='0' and USE_AUI=='1'"/>
50acee04
JS
283
284 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">aui=auilib+auidll</set>
285
1c4293cb
VZ
286 <!-- ================================================================ -->
287 <!-- PROPGRID -->
288 <!-- ================================================================ -->
289
290 <dll id="propgriddll" template="wx_dll"
291 cond="SHARED=='1' and USE_PROPGRID=='1' and MONOLITHIC=='0'">
292 <define>WXUSINGDLL</define>
293 <define>WXMAKINGDLL_PROPGRID</define>
294 <sources>$(PROPGRID_SRC)</sources>
295 <library>advdll</library>
296 <library>coredll</library>
297 <library>basedll</library>
298 <msvc-headers>$(PROPGRID_HDR)</msvc-headers>
299 </dll>
300
301 <lib id="propgridlib" template="wx_lib"
302 cond="SHARED=='0' and USE_PROPGRID=='1' and MONOLITHIC=='0'">
303 <sources>$(PROPGRID_SRC)</sources>
304 <msvc-headers>$(PROPGRID_HDR)</msvc-headers>
305 </lib>
306
307 <wxshortcut id="wxpropgrid" cond="MONOLITHIC=='0' and USE_PROPGRID=='1'"/>
308
309 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">propgrid=propgridlib+propgriddll</set>
310
3b2cb431
JS
311 <!-- ================================================================ -->
312 <!-- RICHTEXT -->
313 <!-- ================================================================ -->
314
315 <dll id="richtextdll" template="wx_dll"
316 cond="SHARED=='1' and USE_RICHTEXT=='1' and MONOLITHIC=='0'">
317 <define>WXUSINGDLL</define>
c69f9884 318 <define>WXMAKINGDLL_RICHTEXT</define>
3b2cb431
JS
319 <sources>$(RICHTEXT_SRC)</sources>
320 <library>advdll</library>
47b6ebde 321 <library>$(htmldll_library_link)</library>
a3f6a2cd 322 <library>xmldll</library>
3b2cb431
JS
323 <library>coredll</library>
324 <library>basedll</library>
325 <msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
326 </dll>
327
328 <lib id="richtextlib" template="wx_lib"
329 cond="SHARED=='0' and USE_RICHTEXT=='1' and MONOLITHIC=='0'">
330 <sources>$(RICHTEXT_SRC)</sources>
331 <msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
332 </lib>
e80118cf
VS
333
334 <wxshortcut id="wxrichtext" cond="MONOLITHIC=='0' and USE_RICHTEXT=='1'"/>
3b2cb431
JS
335
336 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">richtext=richtextlib+richtextdll</set>
337
54429bb3
RD
338 <!-- ================================================================ -->
339 <!-- STC -->
340 <!-- ================================================================ -->
341
342 <template id="stc_base">
343 <include>$(TOP_SRCDIR)src/stc/scintilla/include</include>
344 <include>$(TOP_SRCDIR)src/stc/scintilla/src</include>
345 <define>__WX__</define>
346 <define>SCI_LEXER</define>
347 <define>LINK_LEXERS</define>
348 <cppflags-borland>-w-8027</cppflags-borland>
349 <library>wxscintilla</library>
350 </template>
351
352 <dll id="stcdll" template="wx_dll,stc_base"
353 cond="SHARED=='1' and USE_STC=='1' and MONOLITHIC=='0'">
354 <define>WXUSINGDLL</define>
355 <define>WXMAKINGDLL_STC</define>
356 <sources>$(STC_SRC)</sources>
357 <library>coredll</library>
358 <library>basedll</library>
359 <msvc-headers>$(STC_HDR)</msvc-headers>
360 </dll>
361
362 <lib id="stclib" template="wx_lib,stc_base"
363 cond="SHARED=='0' and USE_STC=='1' and MONOLITHIC=='0'">
364 <sources>$(STC_SRC)</sources>
365 <msvc-headers>$(STC_HDR)</msvc-headers>
366 </lib>
367
368 <wxshortcut id="wxstc" cond="MONOLITHIC=='0' and USE_STC=='1'"/>
369
370 <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">stc=stclib+stcdll</set>
371
ddf98968 372</makefile>