]> git.saurik.com Git - wxWidgets.git/blame - build/bakefiles/common.bkl
return pending position/size if any, not the current one
[wxWidgets.git] / build / bakefiles / common.bkl
CommitLineData
ddf98968 1<?xml version="1.0" ?>
481290e2
VS
2<!-- $Id$ -->
3
ddf98968 4<makefile>
b6dc1b90 5
e06a4299 6 <requires version="0.1.7"/>
e2c10c59 7
ddf98968
VS
8 <!-- bakefile modules we need: -->
9 <using module="datafiles"/>
10
11 <!-- load python module with wxwindows helpers: -->
12 <using module="wxwin"/>
13
c8c1b0bf
DE
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
e2c10c59
WS
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>
c8c1b0bf 24
a986efd0
WS
25 <!-- FIXME: PalmOS is another candidate to bakefiles -->
26 <set var="PLATFORM_PALMOS">0</set>
27
ddf98968 28 <include file="config.bkl"/>
c79241a2
VS
29
30 <include file="plugins_deps.bkl"/>
e2c10c59 31
bdc408c4 32
05a0bcde
VS
33 <!-- wxWidgets version numbers logic: -->
34 <include file="version.bkl"/>
e2c10c59
WS
35
36
ddf98968
VS
37 <!-- ================================================================== -->
38 <!-- Names of libraries and DLLs: -->
39 <!-- ================================================================== -->
40
41 <set var="PORTNAME">
42 <if cond="USE_GUI=='0'">base</if>
43 <if cond="USE_GUI=='1'">$(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)</if>
44 </set>
e2c10c59 45
64a2a46f
VS
46 <set var="WXBASEPORT">
47 <if cond="TOOLKIT=='MAC'">_carbon</if>
48 </set>
ddf98968
VS
49
50 <set var="COMPILERORGCC">
51 <if cond="isdefined('COMPILER')">$(COMPILER)</if>
52 <if cond="not isdefined('COMPILER')">gcc</if>
53 </set>
54 <set var="WXCOMPILER">
55 <if cond="PLATFORM_WIN32=='1'">_$(COMPILERORGCC)</if>
56 </set>
4fc5f509
VS
57
58 <set var="VENDORTAG">
cff5df9f
VS
59 <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='1'"></if>
60 <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='0'">_$(VENDOR)</if>
4fc5f509
VS
61 </set>
62
ddf98968 63 <set var="WXDEBUGFLAG">
4f6e1dac
VS
64 <if cond="BUILD=='debug' and DEBUG_FLAG=='default'">d</if>
65 <if cond="DEBUG_FLAG=='1'">d</if>
ddf98968
VS
66 </set>
67 <set var="WXUNICODEFLAG">
af594eca
VS
68 <!-- WinCE is Unicode-only platform: -->
69 <if cond="UNICODE=='1' and FORMAT!='msevc4prj'">u</if>
ddf98968
VS
70 </set>
71 <set var="WXNAMESUFFIX">
ceec2216 72 $(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
ddf98968 73 </set>
e2c10c59 74
ddf98968
VS
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
cdc0282e 82 <if cond="FORMAT=='autoconf'">
64a2a46f 83 <set var="WXNAMEPREFIX">wx_base$(WXBASEPORT)</set>
cdc0282e 84 <set var="WXNAMEPREFIXGUI">wx_$(PORTNAME)$(WXUNIVNAME)</set>
a1bf307a 85 <set var="WXVERSIONTAG">-$(WX_RELEASE)</set>
cdc0282e
VS
86 </if>
87 <if cond="FORMAT!='autoconf'">
64a2a46f 88 <set var="WXNAMEPREFIX">
a1bf307a 89 wxbase$(WXBASEPORT)$(WX_RELEASE_NODOT)
64a2a46f
VS
90 </set>
91 <set var="WXNAMEPREFIXGUI">
a1bf307a 92 wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)</set>
cdc0282e
VS
93 <set var="WXVERSIONTAG"></set>
94 </if>
4fc5f509 95 <set var="WXDLLNAMEPREFIX">
64a2a46f 96 <if cond="PLATFORM_WIN32=='1'">
bdc408c4 97 wxbase$(WXBASEPORT)$(WXWIN32DLLVERSION)
64a2a46f 98 </if>
4fc5f509
VS
99 <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIX)</if>
100 </set>
101 <set var="WXDLLNAMEPREFIXGUI">
102 <if cond="PLATFORM_WIN32=='1'">
bdc408c4 103 wx$(PORTNAME)$(WXUNIVNAME)$(WXWIN32DLLVERSION)
4fc5f509
VS
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>
ddf98968 111
e2c10c59 112
ddf98968
VS
113 <!-- =============================================================== -->
114 <!-- Names of component libraries: -->
115 <!-- =============================================================== -->
116
e86e1522
VS
117 <set var="WXLIB_BASE">
118 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('base')))</if>
119 </set>
7c4728f6
VS
120 <set var="WXLIB_NET">
121 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('net')))</if>
122 </set>
61639efb
VZ
123 <set var="WXLIB_QA">
124 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('qa')))</if>
125 </set>
ddf98968
VS
126 <set var="WXLIB_CORE">
127 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
128 </set>
13cb46e0
VS
129 <set var="WXLIB_ADV">
130 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('adv')))</if>
131 </set>
2ae3b602
RN
132 <set var="WXLIB_MEDIA">
133 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('media')))</if>
134 </set>
fab9850d 135 <set var="WXLIB_HTML">
e86e1522 136 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('html')))</if>
fab9850d 137 </set>
a69544bf
VS
138 <set var="WXLIB_XML">
139 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('xml')))</if>
140 </set>
a62d8849
WS
141 <set var="WXLIB_XRC">
142 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('xrc')))</if>
143 </set>
bb41dcbe 144 <set var="WXLIB_ODBC">
395a1c56
VS
145 <if cond="MONOLITHIC=='0' and USE_ODBC=='1'">
146 $(mk.evalExpr(wxwin.mkLibName('odbc')))
147 </if>
bb41dcbe 148 </set>
45293562
VS
149 <set var="WXLIB_DBGRID">
150 <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('dbgrid')))</if>
151 </set>
ddf98968
VS
152
153 <set var="WXLIB_MONO">
154 <if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
155 </set>
e2c10c59
WS
156
157
ddf98968 158 <!-- =============================================================== -->
cff5df9f 159 <!-- Where to store built libraries and objects: -->
ddf98968 160 <!-- =============================================================== -->
e2c10c59 161
af594eca
VS
162 <set var="DIR_SUFFIX_CPU">
163 <if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
164 </set>
cff5df9f
VS
165
166 <if cond="FORMAT!='autoconf'">
167 <set var="WXDLLFLAG">
168 <if cond="SHARED=='1'">dll</if>
169 </set>
170 <set var="CFG_NAME_PART">
171 $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
172 </set>
328f5196 173 <set var="OBJS" make_var="1">
af594eca
VS
174 <if cond="FORMAT!='cbuilderx'">
175 $(COMPILER)_$(CFG_NAME_PART)$(DIR_SUFFIX_CPU)
176 </if>
328f5196
VS
177 <!-- FIXME: waiting for removal after CBX has better ../ dirs
178 support -->
179 <if cond="FORMAT=='cbuilderx'">build_cbx_$(CFG_NAME_PART)</if>
180 </set>
181
cff5df9f
VS
182 <set var="BUILDDIR">$(OBJS)</set>
183 </if>
e2c10c59 184
46da6d06 185 <set var="LIBTYPE_SUFFIX" make_var="1">
52abdc83
WS
186 <if cond="FORMAT!='autoconf' and SHARED=='0' and PLATFORM_WIN32=='1'">lib</if>
187 <if cond="FORMAT!='autoconf' and SHARED=='1' and PLATFORM_WIN32=='1'">dll</if>
188 <if cond="FORMAT=='watcom' and SHARED=='0' and PLATFORM_WIN32=='0'">$(TOOLKIT_LOWERCASE)_lib</if>
189 <if cond="FORMAT=='watcom' and SHARED=='1' and PLATFORM_WIN32=='0'">$(TOOLKIT_LOWERCASE)_dll</if>
46da6d06
WS
190 </set>
191
390c0cfb 192 <set var="LIBDIRNAME" make_var="1">
481290e2 193 <if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
46da6d06
WS
194 <if cond="FORMAT!='autoconf'">
195 $(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
cff5df9f 196 </if>
ddf98968 197 </set>
e2c10c59 198
ee929bcf
VS
199 <if cond="FORMAT!='autoconf'">
200 <set var="SETUPHDIR" make_var="1">
201 $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
202 </set>
203 </if>
cff5df9f 204
e2c10c59
WS
205
206
4843dc4c
VS
207 <!-- =============================================================== -->
208 <!-- Templates for libs: -->
209 <!-- =============================================================== -->
cdc0282e 210
4f6e1dac
VS
211 <set var="DEBUGINFO">
212 <if cond="BUILD=='debug' and DEBUG_INFO=='default'">on</if>
213 <if cond="DEBUG_INFO=='1'">on</if>
214 <if cond="BUILD=='release' and DEBUG_INFO=='default'">off</if>
215 <if cond="DEBUG_INFO=='0'">off</if>
216 </set>
217 <set var="DEBUGRUNTIME">
51c4bf88
VS
218 <if cond="DEBUG_RUNTIME_LIBS=='default' and BUILD=='debug'">on</if>
219 <if cond="DEBUG_RUNTIME_LIBS=='default' and BUILD=='release'">off</if>
4f6e1dac
VS
220 <if cond="DEBUG_RUNTIME_LIBS=='0'">off</if>
221 <if cond="DEBUG_RUNTIME_LIBS=='1'">on</if>
cdc0282e
VS
222 </set>
223 <set var="OPTIMIZEFLAG">
546a7e42
VS
224 <if cond="BUILD=='debug'">off</if>
225 <if cond="BUILD=='release'">speed</if>
cdc0282e 226 </set>
9833a21a
VS
227 <set var="EXCEPTIONSFLAG">
228 <if cond="USE_EXCEPTIONS=='1'">on</if>
229 <if cond="USE_EXCEPTIONS=='0'">off</if>
230 </set>
c2efd890
VZ
231 <set var="RTTIFLAG">
232 <if cond="USE_RTTI=='1'">on</if>
233 <if cond="USE_RTTI=='0'">off</if>
234 </set>
d1e5aa07
VS
235 <set var="THREADSFLAG">
236 <if cond="USE_THREADS=='1'">multi</if>
237 <if cond="USE_THREADS=='0'">single</if>
238 </set>
15b44c69 239
b7e4c668 240 <set var="RTTI_DEFINE">
7121be53 241 <if cond="USE_RTTI=='0'">wxNO_RTTI</if>
b7e4c668
VZ
242 </set>
243 <set var="EXCEPTIONS_DEFINE">
7121be53 244 <if cond="USE_EXCEPTIONS=='0'">wxNO_EXCEPTIONS</if>
b7e4c668
VZ
245 </set>
246 <set var="THREAD_DEFINE">
7121be53 247 <if cond="USE_THREADS=='0'">wxNO_THREADS</if>
b7e4c668
VZ
248 </set>
249
15b44c69 250 <set var="DEBUG_DEFINE">
4f6e1dac
VS
251 <if cond="FORMAT!='autoconf' and BUILD=='debug' and DEBUG_FLAG=='default'">__WXDEBUG__</if>
252 <if cond="FORMAT!='autoconf' and DEBUG_FLAG=='1'">__WXDEBUG__</if>
15b44c69 253 </set>
4435bd42
MB
254 <!-- does not cover all cases, but better than nothing -->
255 <set var="NO_VC_CRTDBG">
256 <if cond="FORMAT=='msvc' and BUILD=='debug' and DEBUG_RUNTIME_LIBS=='0'">__NO_VC_CRTDBG__</if>
257 <if cond="FORMAT=='msvc' and BUILD=='release' and DEBUG_FLAG=='1'">__NO_VC_CRTDBG__</if>
258 </set>
15b44c69 259 <set var="UNICODE_DEFINE">
ed4ccecd 260 <if cond="FORMAT!='autoconf' and UNICODE=='1'">_UNICODE</if>
15b44c69 261 </set>
e2c10c59 262
5fae0f97
WS
263 <!-- fill for the specific case of the format/compiler -->
264 <set var="WIN32_WINNT">
265 <if cond="FORMAT=='dmars' or FORMAT=='dmars_smake'">_WIN32_WINNT=0x0400</if>
266 </set>
267
416f5bc8
VS
268 <set var="UNICOWS_LIB">
269 <if cond="MSLU=='1'">unicows</if>
270 </set>
5e3746dc 271
149cc218 272 <template id="common_settings">
4f6e1dac
VS
273 <debug-info>$(DEBUGINFO)</debug-info>
274 <debug-runtime-libs>$(DEBUGRUNTIME)</debug-runtime-libs>
5e3746dc 275 <optimize>$(OPTIMIZEFLAG)</optimize>
d1e5aa07 276 <threading>$(THREADSFLAG)</threading>
4b44ea2b 277 <runtime-libs>$(RUNTIME_LIBS)</runtime-libs>
c2efd890 278 <cxx-rtti>$(RTTIFLAG)</cxx-rtti>
9833a21a 279 <cxx-exceptions>$(EXCEPTIONSFLAG)</cxx-exceptions>
5e3746dc
VS
280 <if cond="FORMAT!='autoconf'">
281 <cppflags>$(EXTRACFLAGS)</cppflags>
282 </if>
4435bd42 283 <define>$(NO_VC_CRTDBG)</define>
5fae0f97 284 <define>$(WIN32_WINNT)</define>
7121be53
WS
285 <if cond="FORMAT=='msevc4prj'">
286 <!-- hack to make eVC4 default project still compatible with eVC3 environment -->
287 <set var="_ldlibs">$(_ldlibs.replace('ccrtrtti.lib', ''))</set>
288 </if>
5e3746dc 289 </template>
e2c10c59 290
4843dc4c 291 <template id="anylib">
4843dc4c
VS
292 <dirname>$(LIBDIRNAME)</dirname>
293 <install-to>$(LIBDIR)</install-to>
294 </template>
295
149cc218 296 <template id="3rdparty_lib" template="common_settings,anylib">
a1bf307a
RL
297 <if cond="FORMAT=='autoconf'">
298 <libname>$(id)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)</libname>
299 </if>
300 <if cond="FORMAT!='autoconf'">
9c2d002b 301 <libname>$(id)$(WXDEBUGFLAG)$(HOST_SUFFIX)</libname>
a1bf307a 302 </if>
52a5a009
VS
303 <!--
304 we want to install 3rd party libs system-wide only with static
77ffb593 305 version of wxWidgets; otherwise they are embedded in shared libs:
52a5a009
VS
306 -->
307 <install-if>SHARED=='0'</install-if>
af594eca 308 <pic>$(substituteFromDict(SHARED, {'0':'off', '1':'on'}))</pic>
82cb0280 309 </template>
e2c10c59
WS
310
311
cb9548d9 312 <!-- deal with the need to copy setup.h here: -->
82cb0280 313
af594eca
VS
314 <set var="IS_MSVC_PRJ">$(FORMAT in ['msvc6prj','msevc4prj'])</set>
315
cb9548d9 316 <define-tag name="msvc-headers" rules="dll,lib">
af594eca 317 <if cond="IS_MSVC_PRJ">
30928f55
VS
318 <!-- FIXME: remove this once we require >=bkl-0.1.9 -->
319 <if cond="BAKEFILE_VERSION in ['0.1.7', '0.1.8']">
320 <msvc-project-files>
321 $(addPrefixToList('include\', wxwin.headersOnly(value)))
322 </msvc-project-files>
323 </if>
324 <if cond="BAKEFILE_VERSION not in ['0.1.7', '0.1.8']">
325 <msvc-project-files>
326 $(addPrefixToList('include\\', wxwin.headersOnly(value)))
327 </msvc-project-files>
328 </if>
cb9548d9
VS
329 </if>
330 </define-tag>
331
332 <define-tag name="msvc-copy-setup-h" rules="dll,lib">
af594eca
VS
333 <if cond="FORMAT=='msevc4prj'">
334 <msvc-headers>wx/msw/wince/setup.h</msvc-headers>
335 <set var="vc_setup_h">wince\setup.h</set>
336 <set var="vc_setup_h_rule">wince_setup_h</set>
337 </if>
338 <if cond="FORMAT!='msevc4prj'">
cb9548d9 339 <msvc-headers>wx/msw/setup.h</msvc-headers>
af594eca
VS
340 <set var="vc_setup_h">setup.h</set>
341 <set var="vc_setup_h_rule">setup_h</set>
342 </if>
343 <if cond="IS_MSVC_PRJ">
344 <set var="_custom_build_files" append="1">
345 include\wx\msw\$(vc_setup_h)
cb9548d9 346 </set>
af594eca 347 <set var="_custom_build_include_wx_msw_$(vc_setup_h_rule)">
cb9548d9 348Creating $(SETUPHDIR)\wx\setup.h
af594eca 349InputPath=..\include\wx\msw\$(vc_setup_h)
cb9548d9
VS
350
351"$(SETUPHDIR)\wx\setup.h" : $(DOLLAR)(SOURCE) "$(DOLLAR)(INTDIR)" "$(DOLLAR)(OUTDIR)"
352$(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
353 </set>
354 </if>
355 </define-tag>
356
357 <template id="msvc_setup_h">
358 <msvc-copy-setup-h/>
359 </template>
ddf98968
VS
360
361 <!-- =============================================================== -->
362 <!-- 3rd party libs: -->
363 <!-- =============================================================== -->
e2c10c59 364
ddf98968
VS
365 <!-- 3rd party libraries: -->
366 <include file="regex.bkl"/>
367 <include file="zlib.bkl"/>
368 <include file="png.bkl"/>
369 <include file="jpeg.bkl"/>
370 <include file="tiff.bkl"/>
371 <include file="odbc.bkl"/>
a69544bf 372 <include file="expat.bkl"/>
ddf98968 373
e2c10c59 374
ddf98968 375 <!-- =============================================================== -->
77ffb593 376 <!-- Templates for wxWidgets libs: -->
ddf98968 377 <!-- =============================================================== -->
cdc0282e 378
2cc75628
VS
379 <!-- NB: in monolithic build, even wxBase-only must be linked against
380 GUI extralibs, otherwise there would be unresolved references.
381 The variables below are defined so that all libs are used
382 in monolithic build, but not in multilib one. -->
383 <set var="EXTRALIBS_FOR_BASE">
384 <if cond="MONOLITHIC=='1'">$(EXTRALIBS) $(EXTRALIBS_GUI)</if>
385 <if cond="MONOLITHIC=='0'">$(EXTRALIBS)</if>
386 </set>
387 <set var="EXTRALIBS_FOR_GUI">
388 <if cond="MONOLITHIC=='1'"></if>
389 <if cond="MONOLITHIC=='0'">$(EXTRALIBS_GUI)</if>
390 </set>
391
149cc218 392 <template id="wx" template="common_settings">
ddf98968
VS
393 <set var="wxid">$(wxwin.mk_wxid(id))</set>
394 <define>__WX$(TOOLKIT)__</define>
395 <define>$(WXUNIV_DEFINE)</define>
15b44c69 396 <define>$(DEBUG_DEFINE)</define>
b7e4c668
VZ
397 <define>$(EXCEPTIONS_DEFINE)</define>
398 <define>$(RTTI_DEFINE)</define>
399 <define>$(THREAD_DEFINE)</define>
15b44c69 400 <define>$(UNICODE_DEFINE)</define>
85ebb95c
VS
401 <!-- this include is added by configure, we need to put other
402 includes before it: -->
403 <include cond="FORMAT!='autoconf'">$(TOP_SRCDIR)include</include>
e2c10c59 404 <lib-path>$(LIBDIRNAME)</lib-path>
ee929bcf 405 <include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
432afc17 406 <warnings>max</warnings>
a0177486
WS
407 <cppflags-watcom>
408 -wcd=549 <!-- 'sizeof' operand contains compiler generated information -->
409 -wcd=656 <!-- define this function inside its class definition (may improve code quality) -->
410 -wcd=657 <!-- define this function inside its class definition (could have improved code quality) -->
411 -wcd=667 <!-- 'va_start' macro will not work without an argument before '...' -->
412 </cppflags-watcom>
329a2be8 413 <cxxflags-mingw>
f8fbc92b 414 -Wno-ctor-dtor-privacy <!-- only defines a private destructor and has no friends -->
329a2be8 415 </cxxflags-mingw>
ddf98968
VS
416 </template>
417
c74dc163 418 <!-- for both GUI and wxBase libs/samples: -->
e83a52a2 419 <template id="wx_append_base_nomono">
ddf98968 420 <!-- link against builtin 3rd party libs, if needed: -->
4843dc4c 421 <sys-lib>$(LIB_TIFF)</sys-lib>
ddf98968
VS
422 <sys-lib>$(LIB_JPEG)</sys-lib>
423 <sys-lib>$(LIB_PNG)</sys-lib>
424 <sys-lib>$(LIB_ZLIB)</sys-lib>
ddf98968
VS
425 <sys-lib>$(LIB_ODBC)</sys-lib>
426 <sys-lib>$(LIB_REGEX)</sys-lib>
a69544bf 427 <sys-lib>$(LIB_EXPAT)</sys-lib>
e2c10c59 428
2cc75628 429 <ldlibs>$(EXTRALIBS_FOR_BASE)</ldlibs>
15b44c69 430
52abdc83
WS
431 <!-- system libraries on os2: -->
432 <if cond="FORMAT!='autoconf' and PLATFORM_OS2=='1'">
433 <if cond="FORMAT=='watcom'">
434 <sys-lib>upm32</sys-lib>
435 </if>
436 </if>
437
15b44c69 438 <!-- system libraries on windows: -->
52abdc83 439 <if cond="FORMAT!='autoconf' and PLATFORM_WIN32=='1'">
416f5bc8 440 <sys-lib>$(UNICOWS_LIB)</sys-lib>
328f5196 441 <if cond="FORMAT=='borland'">
cb8bbc13
VS
442 <sys-lib>ole2w32</sys-lib>
443 </if>
f9c4805a
VS
444 <if cond="FORMAT=='msevc4prj'">
445 <sys-lib>ole32</sys-lib>
446 <sys-lib>oleaut32</sys-lib>
447 <sys-lib>uuid</sys-lib>
448 <sys-lib>commctrl</sys-lib>
f9c4805a
VS
449 <sys-lib>winsock</sys-lib>
450 <sys-lib>wininet</sys-lib>
451 </if>
452 <if cond="FORMAT!='borland' and FORMAT!='msevc4prj'">
cb8bbc13
VS
453 <sys-lib>kernel32</sys-lib>
454 <sys-lib>user32</sys-lib>
455 <sys-lib>gdi32</sys-lib>
456 <sys-lib>comdlg32</sys-lib>
457 <sys-lib>winspool</sys-lib>
458 <sys-lib>winmm</sys-lib>
459 <sys-lib>shell32</sys-lib>
cb8bbc13 460 <sys-lib>comctl32</sys-lib>
cb8bbc13
VS
461 <sys-lib>ole32</sys-lib>
462 <sys-lib>oleaut32</sys-lib>
463 <sys-lib>uuid</sys-lib>
464 <sys-lib>rpcrt4</sys-lib>
465 <sys-lib>advapi32</sys-lib>
466 <sys-lib>wsock32</sys-lib>
15b44c69 467 </if>
57670219 468 <if cond="FORMAT=='msvc' or FORMAT=='msvc6prj' or FORMAT=='borland'">
3682ea7d
VS
469 <sys-lib>oleacc</sys-lib>
470 </if>
f9c4805a
VS
471 <if cond="FORMAT!='msevc4prj'">
472 <sys-lib>odbc32</sys-lib>
473 </if>
57670219 474 </if>
ddf98968
VS
475 </template>
476
82ca3afe 477
c74dc163 478 <!-- for GUI libs/samples: -->
e83a52a2 479 <template id="wx_append_nomono" template="wx_append_base_nomono">
2cc75628 480 <ldlibs>$(EXTRALIBS_FOR_GUI)</ldlibs>
c74dc163
VS
481 </template>
482
e83a52a2
VS
483
484 <template id="wx_append_base" template_append="wx_append_base_nomono">
485 <!-- Always link against the wxWin library in monolithic build: -->
486 <sys-lib>$(WXLIB_MONO)</sys-lib>
487 </template>
488 <template id="wx_append" template_append="wx_append_nomono">
489 <!-- Always link against the wxWin library in monolithic build: -->
490 <sys-lib>$(WXLIB_MONO)</sys-lib>
491 </template>
e2c10c59 492
e83a52a2 493
0469579d 494 <set var="WX_DISABLE_PRECOMP_HEADERS" overwrite="0">0</set>
e2c10c59 495
4843dc4c 496 <template id="wx_lib_b" template="wx,anylib">
ddf98968 497 <set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
ddf98968 498 <libname>$(WXLIBNAME)</libname>
cb8bbc13 499
0469579d 500 <if cond="WX_DISABLE_PRECOMP_HEADERS=='0'">
442253be 501 <if cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','WINCE']">
0469579d
VS
502 <sources>$(WXTOPDIR)src/msw/dummy.cpp</sources>
503 <precomp-headers-gen>
504 $(WXTOPDIR)src/msw/dummy.cpp
505 </precomp-headers-gen>
506 </if>
a420c7ed 507 <precomp-headers-location>$(WXTOPDIR)include</precomp-headers-location>
0469579d
VS
508 <precomp-headers-header>wx/wxprec.h</precomp-headers-header>
509 <precomp-headers>on</precomp-headers>
510 <precomp-headers-file>wxprec_$(id)</precomp-headers-file>
3fe70739 511 <precomp-headers-exclude>
3fe70739 512 src/common/extended.c
3fe70739 513 </precomp-headers-exclude>
cb8bbc13 514 </if>
e2c10c59 515
3a811096 516 <if cond="IS_MSVC_PRJ=='1' and BUILDING_LIB=='1'">
82ca3afe
VS
517 <msvc-file-group>Common Sources:src/common/*</msvc-file-group>
518 <msvc-file-group>MSW Sources:src/msw/*</msvc-file-group>
519 <msvc-file-group>Generic Sources:src/generic/*</msvc-file-group>
520 <msvc-file-group>wxUniv Sources:src/univ/*</msvc-file-group>
521 <msvc-file-group>wxHTML Sources:src/html/*</msvc-file-group>
522 <msvc-file-group>Setup Headers:*/setup.h</msvc-file-group>
82ca3afe
VS
523 <msvc-file-group>MSW Headers:*wx/msw/*.h</msvc-file-group>
524 <msvc-file-group>Generic Headers:*wx/generic/*.h</msvc-file-group>
525 <msvc-file-group>wxUniv Headers:*wx/univ/*.h</msvc-file-group>
526 <msvc-file-group>wxHTML Headers:*wx/html/*.h</msvc-file-group>
cbba971f 527 <msvc-file-group>Common Headers:*wx/*.h</msvc-file-group>
82ca3afe 528 </if>
ddf98968 529 </template>
cb8bbc13 530
fab9850d 531 <template id="wx_dll_b" template="wx_lib_b">
ddf98968
VS
532 <set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
533 <dllname>$(WXDLLNAME)</dllname>
534 <version>$(WX_VERSION)</version>
535 <so_version>$(WXSOVERSION)</so_version>
7121be53 536
31da10de
VS
537 <!-- FIXME: until libtool scheme is implemented in bakefile -->
538 <ldflags cond="FORMAT=='autoconf'">$(WXMACVERSION_CMD)</ldflags>
d181c36e
VS
539
540 <!-- version info resources: -->
260c165f
VS
541 <if cond="FORMAT not in ['rpmspec','wx24dsp']"> <!-- FIXME: fix for bkl-0.1.7 only, remove the cond later -->
542 <res-define>WXDLLNAME=$(WXDLLNAME)</res-define>
09d350c0
MW
543 <res-include cond="FORMAT=='autoconf'">
544 $(TOP_SRCDIR)include
545 </res-include>
260c165f 546 </if>
102d46f3 547 <win32-res>$(WXTOPDIR)src/msw/version.rc</win32-res>
ddf98968 548 </template>
c0608865 549
0bcf9597 550 <template id="wx_3rdparty_dependencies_gui" cond="USE_GUI=='1'">
3fe70739
VS
551 <depends>wxtiff</depends>
552 <depends>wxjpeg</depends>
553 <depends>wxpng</depends>
0bcf9597
WS
554 </template>
555
556 <template id="wx_3rdparty_dependencies"
557 template="wx_3rdparty_dependencies_gui">
390c0cfb 558 <depends>wxexpat</depends>
c74dc163 559 <depends>wxzlib</depends>
3fe70739 560 <depends cond="FORMAT=='autoconf'">wxodbc</depends>
c74dc163
VS
561 <depends>wxregex</depends>
562 </template>
ee929bcf 563
0bcf9597 564 <template id="wx_3rdparty_includes_gui" cond="USE_GUI=='1'">
ee929bcf
VS
565 <include>$(INC_TIFF)</include>
566 <include>$(INC_JPEG)</include>
567 <include>$(INC_PNG)</include>
0bcf9597
WS
568 </template>
569
570 <template id="wx_3rdparty_includes"
571 template="wx_3rdparty_includes_gui">
ee929bcf
VS
572 <include>$(INC_ZLIB)</include>
573 <include>$(INC_ODBC)</include>
574 <include>$(INC_REGEX)</include>
575 <include>$(INC_EXPAT)</include>
576 </template>
e2c10c59 577
9698d244
VS
578 <template id="wx_lib"
579 template="wx_lib_b,wx_3rdparty_includes,msvc_setup_h"/>
580 <template id="wx_base_lib"
581 template="wx_lib_b,wx_3rdparty_includes,msvc_setup_h">
e2c10c59 582 <define>wxUSE_GUI=0</define>
15d93f1e
VS
583 </template>
584
ee929bcf
VS
585 <template id="wx_dll"
586 template="wx_dll_b,wx_3rdparty_dependencies,wx_3rdparty_includes"
9698d244 587 template_append="msvc_setup_h,wx_append_nomono"/>
ee929bcf
VS
588 <template id="wx_base_dll"
589 template="wx_dll_b,wx_3rdparty_dependencies,wx_3rdparty_includes"
9698d244 590 template_append="msvc_setup_h,wx_append_base_nomono">
e2c10c59 591 <define>wxUSE_GUI=0</define>
15d93f1e 592 </template>
e2c10c59 593
ae4ae157 594 <!-- =============================================================== -->
77ffb593 595 <!-- Templates for building wxWidgets plugins: -->
ae4ae157
VS
596 <!-- =============================================================== -->
597
ae4ae157 598 <if cond="WX_STABLE_BRANCH=='1'">
c79241a2 599 <set var="PLUGIN_VERSION0">
a1bf307a
RL
600 <if cond="PLATFORM_UNIX=='1'">$(WX_RELEASE)</if>
601 <if cond="PLATFORM_UNIX=='0'">$(WX_RELEASE_NODOT)</if>
ae4ae157
VS
602 </set>
603 </if>
604 <if cond="WX_STABLE_BRANCH=='0'">
c79241a2 605 <set var="PLUGIN_VERSION0">
a1bf307a
RL
606 <if cond="PLATFORM_UNIX=='1'">$(WX_VERSION)</if>
607 <if cond="PLATFORM_UNIX=='0'">$(WX_VERSION_NODOT)</if>
ae4ae157
VS
608 </set>
609 </if>
c79241a2
VS
610 <set var="PLUGVERDELIM">
611 <if cond="PLATFORM_UNIX=='1'">-</if>
612 <if cond="PLATFORM_UNIX=='0'"></if>
613 </set>
614 <set var="PLUGIN_VERSION">$(PLUGVERDELIM)$(PLUGIN_VERSION0)</set>
e2c10c59 615
c79241a2
VS
616 <set var="PLUGINSUFFIX">
617 <if cond="UNICODE=='0' and BUILD=='release'"></if>
314a6446
VS
618 <if cond="UNICODE=='0' and BUILD=='debug'">d</if>
619 <if cond="UNICODE=='1' and BUILD=='release'">u</if>
620 <if cond="UNICODE=='1' and BUILD=='debug'">ud</if>
c79241a2
VS
621 </set>
622
623 <set var="PLUGINS_INST_DIR" make_var="1">
624 $(LIBDIR)/wx/$(PLUGIN_VERSION0)
625 </set>
ae4ae157
VS
626
627 <define-rule name="wx-base-plugin" extends="module">
628 <template>
629 <dllname>
c79241a2 630 $(id)$(PLUGINSUFFIX)$(PLUGIN_VERSION)$(WXCOMPILER)
ae4ae157
VS
631 </dllname>
632 <define>WXUSINGDLL</define>
15d93f1e 633 <define>wxUSE_GUI=0</define>
c79241a2 634 <install-to>$(PLUGINS_INST_DIR)</install-to>
ae4ae157
VS
635 </template>
636 </define-rule>
e2c10c59 637
ae4ae157
VS
638 <define-rule name="wx-gui-plugin" extends="module">
639 <template template="wx">
640 <dllname>
c79241a2 641 $(id)_$(PORTNAME)$(WXUNIVNAME)$(PLUGINSUFFIX)$(PLUGIN_VERSION)$(WXCOMPILER)
ae4ae157
VS
642 </dllname>
643 <define>WXUSINGDLL</define>
c79241a2 644 <install-to>$(PLUGINS_INST_DIR)</install-to>
ae4ae157
VS
645 </template>
646 </define-rule>
e2c10c59 647
ddf98968 648 <!-- =============================================================== -->
77ffb593 649 <!-- Support for wxWidgets samples and contrib: -->
ddf98968
VS
650 <!-- =============================================================== -->
651
652 <!-- Link against one wxWin library. Value must be literal! -->
485a205e 653 <define-tag name="wx-lib" rules="exe,dll,module">
ddf98968 654 <sys-lib>$(wxwin.libToLink(value))</sys-lib>
22cef566 655 <ldlibs>$(wxwin.extraLdflags(value))</ldlibs>
3a811096 656 <if cond="IS_MSVC_PRJ=='1' and MONOLITHIC=='0'">
dce0742b 657 <depends-on-dsp>$(wxwin.makeDspDependency(value))</depends-on-dsp>
7bd54b68 658 </if>
ddf98968
VS
659 </define-tag>
660
4bae0a94
VS
661
662 <!-- A hack to keep autoconf happy (we pass CPPFLAGS that contain
663 {top_srcdir} from configure, poor bakefile can't know that
664 and won't output top_srcdir = @top_srcdir@ line): -->
665 <set var="VARS_DONT_ELIMINATE" append="1">top_srcdir</set>
666
667
ddf98968 668</makefile>