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