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