]> git.saurik.com Git - wxWidgets.git/blob - build/bakefiles/common.bkl
Merged GSOC Ribbon work from SOC2009_RIBBON branch into trunk.
[wxWidgets.git] / build / bakefiles / common.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5
6 <requires version="0.2.3"/>
7
8 <!-- bakefile modules we need: -->
9 <using module="datafiles"/>
10
11 <!-- load python module with wxwindows helpers: -->
12 <using module="wxwin"/>
13
14 <!-- DFE: Add a platform meaning regular MacOS (not OS X) -->
15 <!-- FIXME: This will be handled in Bakefile but for now I wanted to
16 get my changes to the wx bakefiles in the tree but invisible to
17 windows toolkits and their config.xxx settings -->
18 <if cond="FORMAT=='autoconf'">
19 <option name="PLATFORM_MACOS"/>
20 </if>
21 <if cond="FORMAT!='autoconf'">
22 <set var="PLATFORM_MACOS">0</set>
23 </if>
24
25 <!-- FIXME: PalmOS is another candidate to bakefiles -->
26 <set var="PLATFORM_PALMOS">0</set>
27
28
29 <include file="config.bkl"/>
30
31 <include file="plugins_deps.bkl"/>
32
33
34 <!-- wxWidgets version numbers logic: -->
35 <include file="version.bkl"/>
36
37
38 <!-- ================================================================== -->
39 <!-- Names of libraries and DLLs: -->
40 <!-- ================================================================== -->
41
42 <set var="PORTNAME">
43 <if cond="USE_GUI=='0'">base</if>
44 <if cond="USE_GUI=='1'">$(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)</if>
45 </set>
46
47 <set var="WXBASEPORT">
48 <if cond="TOOLKIT=='MAC'">_carbon</if>
49 </set>
50
51 <set var="COMPILERORGCC">
52 <if cond="isdefined('COMPILER')">$(COMPILER)</if>
53 <if cond="not isdefined('COMPILER')">gcc</if>
54 </set>
55 <set var="WXCOMPILER">
56 <if cond="PLATFORM_WIN32=='1'">_$(COMPILERORGCC)</if>
57 </set>
58
59 <set var="VENDORTAG">
60 <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='1'"></if>
61 <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='0'">_$(VENDOR)</if>
62 </set>
63
64 <!-- debug suffix used for Windows libraries which use debug CRT -->
65 <set var="WXDEBUGFLAG">
66 <if cond="BUILD=='debug' and DEBUG_RUNTIME_LIBS=='default'">d</if>
67 <if cond="DEBUG_RUNTIME_LIBS=='1'">d</if>
68 </set>
69 <set var="WXUNICODEFLAG">
70 <!-- WinCE is Unicode-only platform: -->
71 <if cond="UNICODE=='1' and FORMAT!='msevc4prj'">u</if>
72 </set>
73 <set var="WX_U_D_SUFFIX">
74 $(WXUNICODEFLAG)$(WXDEBUGFLAG)
75 </set>
76 <set var="WXNAMESUFFIX">
77 $(WX_U_D_SUFFIX)$(WX_LIB_FLAVOUR)
78 </set>
79
80 <set var="WXUNIVNAME">
81 <if cond="WXUNIV=='1'">univ</if>
82 </set>
83 <set var="WXUNIV_DEFINE">
84 <if cond="WXUNIV=='1'">__WXUNIVERSAL__</if>
85 </set>
86
87 <if cond="FORMAT=='autoconf'">
88 <set var="WXNAMEPREFIX">wx_base$(WXBASEPORT)</set>
89 <set var="WXNAMEPREFIXGUI">wx_$(PORTNAME)$(WXUNIVNAME)</set>
90 <set var="WXVERSIONTAG">-$(WX_RELEASE)</set>
91 </if>
92 <if cond="FORMAT!='autoconf'">
93 <set var="WXNAMEPREFIX">
94 wxbase$(WXBASEPORT)$(WX_RELEASE_NODOT)
95 </set>
96 <set var="WXNAMEPREFIXGUI">
97 wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)</set>
98 <set var="WXVERSIONTAG"></set>
99 </if>
100 <set var="WXDLLNAMEPREFIX">
101 <if cond="PLATFORM_WIN32=='1'">
102 wxbase$(WXBASEPORT)$(WXWIN32DLLVERSION)
103 </if>
104 <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIX)</if>
105 </set>
106 <set var="WXDLLNAMEPREFIXGUI">
107 <if cond="PLATFORM_WIN32=='1'">
108 wx$(PORTNAME)$(WXUNIVNAME)$(WXWIN32DLLVERSION)
109 </if>
110 <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIXGUI)</if>
111 </set>
112 <set var="WXDLLVERSIONTAG">
113 <if cond="PLATFORM_WIN32=='1'"></if>
114 <if cond="PLATFORM_WIN32=='0'">$(WXVERSIONTAG)</if>
115 </set>
116
117
118 <!-- =============================================================== -->
119 <!-- Names of component libraries: -->
120 <!-- =============================================================== -->
121
122 <set var="WXLIB_BASE">
123 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('base')))</if>
124 </set>
125 <set var="WXLIB_NET">
126 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('net')))</if>
127 </set>
128 <set var="WXLIB_QA">
129 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('qa')))</if>
130 </set>
131 <set var="WXLIB_CORE">
132 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
133 </set>
134 <set var="WXLIB_ADV">
135 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('adv')))</if>
136 </set>
137 <set var="WXLIB_MEDIA">
138 <if cond="MONOLITHIC=='0' and USE_MEDIA=='1'">$(mk.evalExpr(wxwin.mkLibName('media')))</if>
139 </set>
140 <set var="WXLIB_HTML">
141 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('html')))</if>
142 </set>
143 <set var="WXLIB_XML">
144 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('xml')))</if>
145 </set>
146 <set var="WXLIB_XRC">
147 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('xrc')))</if>
148 </set>
149 <set var="WXLIB_AUI">
150 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('aui')))</if>
151 </set>
152 <set var="WXLIB_RIBBON">
153 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('ribbon')))</if>
154 </set>
155 <set var="WXLIB_PROPGRID">
156 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('propgrid')))</if>
157 </set>
158 <set var="WXLIB_RICHTEXT">
159 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('richtext')))</if>
160 </set>
161 <set var="WXLIB_STC">
162 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('stc')))</if>
163 </set>
164
165 <set var="WXLIB_MONO">
166 <if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
167 </set>
168
169
170 <!-- =============================================================== -->
171 <!-- Where to store built libraries and objects: -->
172 <!-- =============================================================== -->
173
174 <set var="DIR_SUFFIX_CPU">
175 <if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
176 <if cond="TARGET_CPU=='amd64'">_amd64</if>
177 <if cond="TARGET_CPU=='AMD64'">_amd64</if>
178 <if cond="TARGET_CPU=='ia64'">_ia64</if>
179 <if cond="TARGET_CPU=='IA64'">_ia64</if>
180 </set>
181
182 <if cond="FORMAT!='autoconf'">
183 <set var="WXDLLFLAG">
184 <if cond="SHARED=='1'">dll</if>
185 </set>
186 <set var="CFG_NAME_PART">
187 $(PORTNAME)$(WXUNIVNAME)$(WX_U_D_SUFFIX)$(WXDLLFLAG)$(CFG)
188 </set>
189
190 <!-- NB: this is make_var so that it can be overriden on command line
191 like this: nmake -f makefile.vc COMPILER_PREFIX=vc6 -->
192 <set var="COMPILER_PREFIX" make_var="1">$(COMPILER)</set>
193
194 <set var="OBJS" make_var="1">
195 $(COMPILER_PREFIX)_$(CFG_NAME_PART)$(DIR_SUFFIX_CPU)
196 </set>
197
198 <set var="BUILDDIR">$(OBJS)</set>
199 </if>
200
201 <set var="LIBTYPE_SUFFIX" make_var="1">
202 <if cond="FORMAT!='autoconf' and SHARED=='0' and PLATFORM_WIN32=='1'">lib</if>
203 <if cond="FORMAT!='autoconf' and SHARED=='1' and PLATFORM_WIN32=='1'">dll</if>
204 <if cond="FORMAT=='watcom' and SHARED=='0' and PLATFORM_WIN32=='0'">$(TOOLKIT_LOWERCASE)_lib</if>
205 <if cond="FORMAT=='watcom' and SHARED=='1' and PLATFORM_WIN32=='0'">$(TOOLKIT_LOWERCASE)_dll</if>
206 </set>
207
208 <set var="LIBDIRNAME" make_var="1">
209 <if cond="FORMAT=='autoconf'">$(wx_top_builddir)/lib</if>
210 <if cond="FORMAT!='autoconf'">
211 $(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER_PREFIX)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
212 </if>
213 </set>
214
215 <if cond="FORMAT!='autoconf'">
216 <set var="SETUPHDIR" make_var="1">
217 $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WX_U_D_SUFFIX)
218 </set>
219 </if>
220
221
222
223 <!-- =============================================================== -->
224 <!-- Templates for libs: -->
225 <!-- =============================================================== -->
226
227 <set var="DEBUGINFO">
228 <if cond="BUILD=='debug' and DEBUG_INFO=='default'">on</if>
229 <if cond="DEBUG_INFO=='1'">on</if>
230 <if cond="BUILD=='release' and DEBUG_INFO=='default'">off</if>
231 <if cond="DEBUG_INFO=='0'">off</if>
232 </set>
233 <set var="DEBUGRUNTIME">
234 <if cond="DEBUG_RUNTIME_LIBS=='default' and BUILD=='debug'">on</if>
235 <if cond="DEBUG_RUNTIME_LIBS=='default' and BUILD=='release'">off</if>
236 <if cond="DEBUG_RUNTIME_LIBS=='0'">off</if>
237 <if cond="DEBUG_RUNTIME_LIBS=='1'">on</if>
238 </set>
239 <set var="OPTIMIZEFLAG">
240 <if cond="BUILD=='debug'">off</if>
241 <if cond="BUILD=='release'">speed</if>
242 </set>
243 <set var="EXCEPTIONSFLAG">
244 <if cond="USE_EXCEPTIONS=='1'">on</if>
245 <if cond="USE_EXCEPTIONS=='0'">off</if>
246 </set>
247 <set var="RTTIFLAG">
248 <if cond="USE_RTTI=='1'">on</if>
249 <if cond="USE_RTTI=='0'">off</if>
250 </set>
251 <set var="THREADSFLAG">
252 <if cond="USE_THREADS=='1'">multi</if>
253 <if cond="USE_THREADS=='0'">single</if>
254 </set>
255
256 <set var="RTTI_DEFINE">
257 <if cond="USE_RTTI=='0'">wxNO_RTTI</if>
258 </set>
259 <set var="EXCEPTIONS_DEFINE">
260 <if cond="USE_EXCEPTIONS=='0'">wxNO_EXCEPTIONS</if>
261 </set>
262 <set var="THREAD_DEFINE">
263 <if cond="USE_THREADS=='0'">wxNO_THREADS</if>
264 </set>
265
266 <set var="DEBUG_DEFINE">
267 <if cond="DEBUG_FLAG=='0'">wxDEBUG_LEVEL=0</if>
268 </set>
269 <!-- does not cover all cases, but better than nothing -->
270 <set var="NO_VC_CRTDBG">
271 <if cond="FORMAT=='msvc' and BUILD=='debug' and DEBUG_RUNTIME_LIBS=='0'">__NO_VC_CRTDBG__</if>
272 <if cond="FORMAT=='msvc' and BUILD=='release' and DEBUG_FLAG=='1'">__NO_VC_CRTDBG__</if>
273 </set>
274 <set var="UNICODE_DEFINE">
275 <if cond="FORMAT!='autoconf' and UNICODE=='1'">_UNICODE</if>
276 <if cond="FORMAT!='autoconf' and UNICODE=='0'">wxUSE_UNICODE=0</if>
277 </set>
278 <set var="MSLU_DEFINE">
279 <if cond="FORMAT!='autoconf' and MSLU=='1'">wxUSE_UNICODE_MSLU=1</if>
280 </set>
281
282 <!-- fill for the specific case of the format/compiler -->
283 <set var="WIN32_WINNT">
284 <if cond="FORMAT=='dmars' or FORMAT=='dmars_smake'">_WIN32_WINNT=0x0400</if>
285 </set>
286
287 <set var="UNICOWS_LIB">
288 <if cond="MSLU=='1'">unicows</if>
289 </set>
290
291 <if cond="FORMAT!='autoconf'">
292 <set var="GDIPLUS_LIB">
293 <if cond="USE_GDIPLUS=='1'">gdiplus</if>
294 </set>
295 <set var="GFXCTX_DEFINE">
296 <if cond="USE_GDIPLUS=='1'">wxUSE_GRAPHICS_CONTEXT=1</if>
297 </set>
298 </if>
299
300 <set var="LINK_TARGET_CPU">
301 <if cond="TARGET_CPU=='amd64'">/MACHINE:AMD64</if>
302 <if cond="TARGET_CPU=='AMD64'">/MACHINE:AMD64</if>
303 <if cond="TARGET_CPU=='ia64'">/MACHINE:IA64</if>
304 <if cond="TARGET_CPU=='IA64'">/MACHINE:IA64</if>
305 </set>
306
307 <template id="common_settings">
308 <debug-info>$(DEBUGINFO)</debug-info>
309 <debug-runtime-libs>$(DEBUGRUNTIME)</debug-runtime-libs>
310 <optimize>$(OPTIMIZEFLAG)</optimize>
311 <threading>$(THREADSFLAG)</threading>
312 <runtime-libs>$(RUNTIME_LIBS)</runtime-libs>
313 <cxx-rtti>$(RTTIFLAG)</cxx-rtti>
314 <cxx-exceptions>$(EXCEPTIONSFLAG)</cxx-exceptions>
315 <if cond="FORMAT!='autoconf'">
316 <cppflags>$(EXTRACFLAGS)</cppflags>
317 </if>
318 <define>$(NO_VC_CRTDBG)</define>
319 <define>$(WIN32_WINNT)</define>
320 <if cond="FORMAT=='msvc'">
321 <ldflags>$(LINK_TARGET_CPU)</ldflags>
322 </if>
323 <include cond="FORMAT=='msevc4prj'">$(TOP_SRCDIR)build/wince/missing</include>
324 </template>
325
326 <template id="anylib">
327 <dirname>$(LIBDIRNAME)</dirname>
328 <install-to>$(LIBDIR)</install-to>
329 </template>
330
331 <template id="3rdparty_lib" template="common_settings,anylib">
332 <if cond="FORMAT=='autoconf'">
333 <libname>$(id)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)</libname>
334 </if>
335 <if cond="FORMAT!='autoconf'">
336 <libname>$(id)$(WXDEBUGFLAG)$(HOST_SUFFIX)</libname>
337 </if>
338 <!--
339 we want to install 3rd party libs system-wide only with static
340 version of wxWidgets; otherwise they are embedded in shared libs:
341 -->
342 <install-if>SHARED=='0'</install-if>
343 <pic>$(substituteFromDict(SHARED, {'0':'off', '1':'on'}))</pic>
344 </template>
345
346
347 <!-- deal with the need to copy setup.h here: -->
348
349 <define-tag name="msvc-headers" rules="dll,lib">
350 <if cond="IS_MSVC_PRJ">
351 <msvc-project-files>
352 $(addPrefixToList('include\\', wxwin.headersOnly(value)))
353 </msvc-project-files>
354 </if>
355 </define-tag>
356
357 <set var="msvc_copy_setup_h_script">
358 <if cond="IS_MSVC_PRJ">
359 Creating $(SETUPHDIR)\wx\setup.h
360 InputPath=..\..\include\wx\%s
361
362 "$(SETUPHDIR)\wx\setup.h" : $(DOLLAR)(SOURCE) "$(DOLLAR)(INTDIR)" "$(DOLLAR)(OUTDIR)"
363 $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
364 </if>
365 </set>
366
367 <define-tag name="msvc-headers-setup-h" rules="dll,lib">
368 <if cond="IS_MSVC_PRJ">
369 <msvc-headers>
370 $(addPrefixToList('wx/', value))
371 </msvc-headers>
372 <set var="_custom_build_files" append="1">
373 $(nativePaths(addPrefixToList('include/wx/', value)))
374 </set>
375 </if>
376 </define-tag>
377
378 <define-tag name="msvc-copy-setup-h" rules="dll,lib">
379 <if cond="IS_MSVC_PRJ">
380 <if cond="FORMAT=='msevc4prj'">
381 <msvc-headers-setup-h>
382 msw/wince/setup.h
383 </msvc-headers-setup-h>
384 <set var="_custom_build_include_wx_msw_wince_setup_h">
385 $(msvc_copy_setup_h_script % 'msw\wince\setup.h')
386 </set>
387 </if>
388 <if cond="FORMAT!='msevc4prj'">
389 <msvc-headers-setup-h>
390 msw/setup.h
391 univ/setup.h
392 </msvc-headers-setup-h>
393 <set var="_custom_build_include_wx_msw_setup_h">
394 <if cond="WXUNIV=='0'">
395 $(msvc_copy_setup_h_script % 'msw\setup.h')
396 </if>
397 </set>
398 <set var="_custom_build_include_wx_univ_setup_h">
399 <if cond="WXUNIV=='1'">
400 $(msvc_copy_setup_h_script % 'univ\setup.h')
401 </if>
402 </set>
403 </if>
404 </if>
405 </define-tag>
406
407 <define-tag name="msvc-create-rcdefs-h" rules="dll,lib">
408 <if cond="IS_MSVC_PRJ">
409 <msvc-headers-setup-h>
410 msw/genrcdefs.h
411 </msvc-headers-setup-h>
412 <!-- FIXME: we need another way to get the compiler name -->
413 <set var="VC_COMPILER">
414 <if cond="FORMAT=='msevc4prj'">$(_COMPILER)</if>
415 <if cond="FORMAT!='msevc4prj'">cl</if>
416 </set>
417 <set var="_custom_build_include_wx_msw_genrcdefs_h">
418 Creating $(SETUPHDIR)\wx\msw\rcdefs.h
419 InputPath=..\..\include\wx\msw\genrcdefs.h
420
421 "$(SETUPHDIR)\wx\msw\rcdefs.h" : "$(DOLLAR)(SOURCE)" "$(SETUPHDIR)\wx\msw"
422 $(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
423 </set>
424 </if>
425 </define-tag>
426
427 <template id="msvc_setup_h">
428 <msvc-copy-setup-h/>
429 <msvc-create-rcdefs-h/>
430 </template>
431
432 <!-- =============================================================== -->
433 <!-- 3rd party libs: -->
434 <!-- =============================================================== -->
435
436 <!-- 3rd party libraries: -->
437 <include file="regex.bkl"/>
438 <include file="zlib.bkl"/>
439 <include file="png.bkl"/>
440 <include file="jpeg.bkl"/>
441 <include file="tiff.bkl"/>
442 <include file="expat.bkl"/>
443 <include file="scintilla.bkl"/>
444
445
446 <!-- =============================================================== -->
447 <!-- Templates for wxWidgets libs: -->
448 <!-- =============================================================== -->
449
450 <!-- NB: in monolithic build, even wxBase-only must be linked against
451 GUI extralibs, otherwise there would be unresolved references.
452 The variables below are defined so that all libs are used
453 in monolithic build, but not in multilib one. -->
454 <set var="EXTRALIBS_FOR_BASE">
455 <if cond="MONOLITHIC=='1'">$(EXTRALIBS) $(EXTRALIBS_GUI)</if>
456 <if cond="MONOLITHIC=='0'">$(EXTRALIBS)</if>
457 </set>
458 <set var="EXTRALIBS_FOR_GUI">
459 <if cond="MONOLITHIC=='1'"></if>
460 <if cond="MONOLITHIC=='0'">$(EXTRALIBS_GUI)</if>
461 </set>
462
463 <if cond="TOOLKIT=='MGL' and FORMAT=='watcom'">
464 <set var="MGLLIBPATH">$(DOLLAR)(%SCITECH)/lib/$(BUILD)/dos32/ow10</set>
465 <set var="MGLPMLIBPATH">
466 <if cond="DOS32=='DOS4GW'">dos4gw</if>
467 </set>
468 </if>
469
470 <template id="wx" template="common_settings">
471 <set var="wxid">$(wxwin.mk_wxid(id))</set>
472 <define>__WX$(TOOLKIT)__</define>
473 <define>$(WXUNIV_DEFINE)</define>
474 <define>$(DEBUG_DEFINE)</define>
475 <define>$(EXCEPTIONS_DEFINE)</define>
476 <define>$(RTTI_DEFINE)</define>
477 <define>$(THREAD_DEFINE)</define>
478 <define>$(UNICODE_DEFINE)</define>
479 <define>$(MSLU_DEFINE)</define>
480 <if cond="FORMAT!='autoconf'"><define>$(GFXCTX_DEFINE)</define></if>
481 <include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
482 <include cond="FORMAT!='autoconf'">$(TOP_SRCDIR)include</include>
483 <lib-path>$(LIBDIRNAME)</lib-path>
484 <if cond="TOOLKIT=='MGL' and FORMAT=='watcom'">
485 <lib-path>$(MGLLIBPATH)</lib-path>
486 <lib-path>$(MGLLIBPATH)/$(MGLPMLIBPATH)</lib-path>
487 </if>
488
489 <warnings>max</warnings>
490 <cxxflags cond="FORMAT=='autoconf'">$(CXXWARNINGS)</cxxflags>
491 <cppflags-watcom>
492 -wcd=549 <!-- 'sizeof' operand contains compiler generated information -->
493 -wcd=656 <!-- define this function inside its class definition (may improve code quality) -->
494 -wcd=657 <!-- define this function inside its class definition (could have improved code quality) -->
495 -wcd=667 <!-- 'va_start' macro will not work without an argument before '...' -->
496 </cppflags-watcom>
497 <cxxflags-mingw>
498 -Wno-ctor-dtor-privacy <!-- only defines a private destructor and has no friends -->
499 </cxxflags-mingw>
500 </template>
501
502 <!-- for both GUI and wxBase libs/samples: -->
503 <template id="wx_append_base_nomono">
504 <!-- link against builtin 3rd party libs, if needed: -->
505 <sys-lib>$(LIB_ZLIB)</sys-lib>
506 <sys-lib>$(LIB_REGEX)</sys-lib>
507 <sys-lib>$(LIB_EXPAT)</sys-lib>
508
509 <ldlibs>$(EXTRALIBS_FOR_BASE)</ldlibs>
510
511 <!-- system libraries on os2: -->
512 <if cond="FORMAT!='autoconf' and PLATFORM_OS2=='1'">
513 <if cond="FORMAT=='watcom'">
514 <sys-lib>upm32</sys-lib>
515 </if>
516 </if>
517
518 <!-- system libraries on mgl: -->
519 <if cond="FORMAT=='watcom' and TOOLKIT=='MGL'">
520 <sys-lib>mgl</sys-lib>
521 <sys-lib>mglcpp</sys-lib>
522 <sys-lib>pm</sys-lib>
523 </if>
524
525 <!-- system libraries on windows: -->
526 <if cond="FORMAT!='autoconf' and PLATFORM_WIN32=='1'">
527 <sys-lib>$(UNICOWS_LIB)</sys-lib>
528 <sys-lib>$(GDIPLUS_LIB)</sys-lib>
529 <if cond="FORMAT=='borland'">
530 <sys-lib>ole2w32</sys-lib>
531 </if>
532 <if cond="FORMAT=='msevc4prj'">
533 <sys-lib>ole32</sys-lib>
534 <sys-lib>oleaut32</sys-lib>
535 <sys-lib>uuid</sys-lib>
536 <sys-lib>commctrl</sys-lib>
537 <sys-lib>winsock</sys-lib>
538 <sys-lib>wininet</sys-lib>
539 </if>
540 <if cond="FORMAT!='borland' and FORMAT!='msevc4prj'">
541 <sys-lib>kernel32</sys-lib>
542 <sys-lib>user32</sys-lib>
543 <sys-lib>gdi32</sys-lib>
544 <sys-lib>comdlg32</sys-lib>
545 <sys-lib>winspool</sys-lib>
546 <sys-lib>winmm</sys-lib>
547 <sys-lib>shell32</sys-lib>
548 <sys-lib>comctl32</sys-lib>
549 <sys-lib>ole32</sys-lib>
550 <sys-lib>oleaut32</sys-lib>
551 <sys-lib>uuid</sys-lib>
552 <sys-lib>rpcrt4</sys-lib>
553 <sys-lib>advapi32</sys-lib>
554 <sys-lib>wsock32</sys-lib>
555 <!-- this one is only used if wxUSE_URL_NATIVE==1 but we don't
556 know if it is here so just add it unconditionally -->
557 <sys-lib>wininet</sys-lib>
558 </if>
559 <if cond="FORMAT=='borland'">
560 <sys-lib>oleacc</sys-lib>
561 </if>
562 </if>
563 </template>
564
565
566 <!-- for GUI libs/samples: -->
567 <template id="wx_append_nomono" template_append="wx_append_base_nomono">
568 <sys-lib>$(LIB_TIFF)</sys-lib>
569 <sys-lib>$(LIB_JPEG)</sys-lib>
570 <sys-lib>$(LIB_PNG)</sys-lib>
571 <ldlibs>$(EXTRALIBS_FOR_GUI)</ldlibs>
572 </template>
573
574
575 <template id="wx_append_base" template_append="wx_append_base_nomono">
576 <!-- Always link against the wxWin library in monolithic build: -->
577 <sys-lib>$(WXLIB_MONO)</sys-lib>
578 </template>
579 <template id="wx_append" template_append="wx_append_nomono">
580 <!-- Always link against the wxWin library in monolithic build: -->
581 <sys-lib>$(WXLIB_MONO)</sys-lib>
582 </template>
583
584
585 <set var="WX_DISABLE_PRECOMP_HEADERS" overwrite="0">0</set>
586
587 <template id="wx_lib_b" template="wx,anylib">
588 <set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
589 <libname>$(WXLIBNAME)</libname>
590
591 <define>WXBUILDING</define>
592
593 <if cond="WX_DISABLE_PRECOMP_HEADERS=='0'">
594 <if cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','MGL','PM','WINCE']">
595 <sources>$(WXTOPDIR)src/common/dummy.cpp</sources>
596 <precomp-headers-gen>
597 $(WXTOPDIR)src/common/dummy.cpp
598 </precomp-headers-gen>
599 </if>
600 <precomp-headers-location>$(WXTOPDIR)include</precomp-headers-location>
601 <precomp-headers-header>wx/wxprec.h</precomp-headers-header>
602 <precomp-headers>on</precomp-headers>
603 <precomp-headers-file>wxprec_$(id)</precomp-headers-file>
604 <precomp-headers-exclude>
605 src/common/extended.c
606 </precomp-headers-exclude>
607 </if>
608
609 <if cond="IS_MSVC_PRJ=='1' and BUILDING_LIB=='1'">
610 <msvc-file-group>Common Sources:src/common/*</msvc-file-group>
611 <msvc-file-group>MSW Sources:src/msw/*</msvc-file-group>
612 <msvc-file-group>Generic Sources:src/generic/*</msvc-file-group>
613 <msvc-file-group>wxUniv Sources:src/univ/*</msvc-file-group>
614 <msvc-file-group>wxHTML Sources:src/html/*</msvc-file-group>
615 <msvc-file-group>Setup Headers:*/setup.h</msvc-file-group>
616 <msvc-file-group>MSW Headers:*wx/msw/*.h</msvc-file-group>
617 <msvc-file-group>Generic Headers:*wx/generic/*.h</msvc-file-group>
618 <msvc-file-group>wxUniv Headers:*wx/univ/*.h</msvc-file-group>
619 <msvc-file-group>wxHTML Headers:*wx/html/*.h</msvc-file-group>
620 <msvc-file-group>Common Headers:*wx/*.h</msvc-file-group>
621 </if>
622 </template>
623
624 <if cond="FORMAT=='autoconf'">
625 <set var="RCDEFDIR">
626 <if cond="TOOLKIT=='MSW'">
627 $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
628 </if>
629 </set>
630 </if>
631
632 <template id="wx_dll_b" template="wx_lib_b">
633 <set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
634 <dllname>$(WXDLLNAME)</dllname>
635 <version>$(WX_VERSION)</version>
636 <so_version>$(WXSOVERSION)</so_version>
637
638 <!-- FIXME: until libtool scheme is implemented in bakefile -->
639 <ldflags cond="FORMAT=='autoconf'">$(WXMACVERSION_CMD)</ldflags>
640
641 <!-- version info resources: -->
642 <res-define>WXDLLNAME=$(WXDLLNAME)</res-define>
643 <if cond="FORMAT=='autoconf'">
644 <res-include>$(RCDEFDIR)</res-include>
645 <res-include>$(TOP_SRCDIR)include</res-include>
646 <postlink-command>$(DYLIB_RPATH_POSTLINK)</postlink-command>
647 </if>
648 <win32-res>$(WXTOPDIR)src/msw/version.rc</win32-res>
649
650 </template>
651
652 <template id="wx_3rdparty_dependencies_gui" cond="USE_GUI=='1'">
653 <depends>wxtiff</depends>
654 <depends>wxjpeg</depends>
655 <depends>wxpng</depends>
656 <depends>wxscintilla</depends>
657 </template>
658
659 <template id="wx_3rdparty_dependencies"
660 template="wx_3rdparty_dependencies_gui">
661 <depends>wxexpat</depends>
662 <depends>wxzlib</depends>
663 <depends>wxregex</depends>
664 </template>
665
666 <template id="wx_3rdparty_includes_gui" cond="USE_GUI=='1'">
667 <if cond="FORMAT=='watcom' and TOOLKIT=='MGL'">
668 <include>$(DOLLAR)(%SCITECH)/include</include>
669 </if>
670 <include>$(INC_TIFF_BUILD)</include>
671 <include>$(INC_TIFF)</include>
672 <include>$(INC_JPEG)</include>
673 <include>$(INC_PNG)</include>
674 </template>
675
676 <template id="wx_3rdparty_includes"
677 template="wx_3rdparty_includes_gui">
678 <include>$(INC_ZLIB)</include>
679 <include>$(INC_REGEX)</include>
680 <include>$(INC_EXPAT)</include>
681 </template>
682
683 <template id="wx_lib"
684 template="wx_lib_b,wx_3rdparty_includes,msvc_setup_h"/>
685 <template id="wx_base_lib"
686 template="wx_lib_b,wx_3rdparty_includes,msvc_setup_h">
687 <define>wxUSE_GUI=0</define>
688 </template>
689
690 <template id="wx_dll"
691 template="wx_dll_b,wx_3rdparty_dependencies,wx_3rdparty_includes"
692 template_append="msvc_setup_h,wx_append_nomono"/>
693 <template id="wx_base_dll"
694 template="wx_dll_b,wx_3rdparty_dependencies,wx_3rdparty_includes"
695 template_append="msvc_setup_h,wx_append_base_nomono">
696 <define>wxUSE_GUI=0</define>
697 </template>
698
699 <!-- =============================================================== -->
700 <!-- Templates for building wxWidgets plugins: -->
701 <!-- =============================================================== -->
702
703 <if cond="WX_STABLE_BRANCH=='1'">
704 <set var="PLUGIN_VERSION0">
705 <if cond="PLATFORM_UNIX=='1'">$(WX_RELEASE)</if>
706 <if cond="PLATFORM_UNIX=='0'">$(WX_RELEASE_NODOT)</if>
707 </set>
708 </if>
709 <if cond="WX_STABLE_BRANCH=='0'">
710 <set var="PLUGIN_VERSION0">
711 <if cond="PLATFORM_UNIX=='1'">$(WX_VERSION)</if>
712 <if cond="PLATFORM_UNIX=='0'">$(WX_VERSION_NODOT)</if>
713 </set>
714 </if>
715 <set var="PLUGVERDELIM">
716 <if cond="PLATFORM_UNIX=='1'">-</if>
717 <if cond="PLATFORM_UNIX=='0'"></if>
718 </set>
719 <set var="PLUGIN_VERSION">$(PLUGVERDELIM)$(PLUGIN_VERSION0)</set>
720
721 <set var="PLUGINS_INST_DIR" make_var="1">
722 $(LIBDIR)/wx/$(PLUGIN_VERSION0)
723 </set>
724
725 <define-rule name="wx-base-plugin" extends="module">
726 <template>
727 <dllname>
728 $(id)$(WX_U_D_SUFFIX)$(PLUGIN_VERSION)$(WXCOMPILER)
729 </dllname>
730 <define>WXUSINGDLL</define>
731 <define>wxUSE_GUI=0</define>
732 <install-to>$(PLUGINS_INST_DIR)</install-to>
733 </template>
734 </define-rule>
735
736 <define-rule name="wx-gui-plugin" extends="module">
737 <template template="wx">
738 <dllname>
739 $(id)_$(PORTNAME)$(WXUNIVNAME)$(WX_U_D_SUFFIX)$(PLUGIN_VERSION)$(WXCOMPILER)
740 </dllname>
741 <define>WXUSINGDLL</define>
742 <install-to>$(PLUGINS_INST_DIR)</install-to>
743 </template>
744 </define-rule>
745
746 <!-- =============================================================== -->
747 <!-- Support for wxWidgets samples: -->
748 <!-- =============================================================== -->
749
750 <!-- Link against one wxWin library. Value must be literal! -->
751 <define-tag name="wx-lib" rules="exe,dll,module">
752 <sys-lib>$(wxwin.libToLink(value))</sys-lib>
753 <ldlibs>$(wxwin.extraLdflags(value))</ldlibs>
754 <!-- msvs200?prj formats don't support external dependencies yet: -->
755 <if cond="FORMAT in ['msvc6prj','msevc4prj'] and MONOLITHIC=='0'">
756 <depends-on-dsp>$(wxwin.makeDspDependency(value))</depends-on-dsp>
757 </if>
758 </define-tag>
759
760
761 <!-- A hack to keep autoconf happy (we pass CPPFLAGS that contain
762 {top_srcdir} from configure, poor bakefile can't know that
763 and won't output top_srcdir = @top_srcdir@ line): -->
764 <set var="VARS_DONT_ELIMINATE" append="1">top_srcdir</set>
765
766
767 </makefile>