]> git.saurik.com Git - wxWidgets.git/blame - build/bakefiles/config.bkl
add wrappers to avoid compiling code which will never be used
[wxWidgets.git] / build / bakefiles / config.bkl
CommitLineData
ddf98968
VS
1<?xml version="1.0" ?>
2<!-- $Id$ -->
3
4<makefile>
61639efb 5
cc8953a6 6 <set var="IS_MSVC_PRJ">
7da8bfe3 7 $(FORMAT in ['msvc6prj','msevc4prj','msvs2003prj','msvs2005prj','msvs2008prj'])
cc8953a6 8 </set>
0c4311ca
VZ
9 <set var="IS_MSVC">
10 $(IS_MSVC_PRJ=='1' or FORMAT=='msvc')
11 </set>
12
cc8953a6 13
498368e9
VS
14 <set var="BUILDING_LIB" overwrite="0">0</set>
15
c8d58531
MW
16 <set var="CPP_DEFAULT_VALUE">
17 <if cond="FORMAT=='borland'">
18 cpp32 -Sr -oCON
19 </if>
20 <if cond="FORMAT=='mingw'">
21 $(DOLLAR)(CC) -E
22 </if>
23 <if cond="FORMAT=='msvc'">
24 $(DOLLAR)(CC) /EP /nologo
25 </if>
26 <if cond="FORMAT=='watcom'">
27 $(DOLLAR)(CC) -p
28 </if>
29 </set>
30 <option name="CPP">
31 <default-value>
32 $(CPP_DEFAULT_VALUE)
33 </default-value>
34 <description>
35 The C preprocessor
36 </description>
37 </option>
38
6990514b
VS
39 <option name="SHARED">
40 <values>0,1</values>
41 <values-description>,DLL</values-description>
252b53f5 42 <default-value>0</default-value>
6990514b
VS
43 <description>
44 What type of library to build?
45 </description>
46 </option>
61639efb 47
6990514b
VS
48 <option name="WXUNIV">
49 <values>0,1</values>
d3e6602e 50 <values-description>,Universal</values-description>
6990514b
VS
51 <default-value>0</default-value>
52 <description>
53 Build wxUniversal instead of native port?
54 </description>
55 </option>
56
24dfe917
VS
57 <!-- don't include ANSI configuration in project files, it's going to be
58 eventually removed anyway and it only doubles the number of build
59 configs in projects: -->
60 <if cond="IS_MSVC_PRJ=='1'">
61 <set var="UNICODE">1</set>
62 </if>
63 <if cond="IS_MSVC_PRJ=='0'">
64 <option name="UNICODE">
65 <values>0,1</values>
66 <values-description>,Unicode</values-description>
67 <default-value>1</default-value>
68 <description>
69 Compile Unicode build of wxWidgets?
70 </description>
71 </option>
72 </if>
6990514b 73
416f5bc8
VS
74 <if cond="FORMAT!='autoconf' and FORMAT!='watcom'">
75 <option name="MSLU">
76 <values>0,1</values>
61639efb 77 <default-value>0</default-value>
416f5bc8
VS
78 <description>
79 Use MSLU library when building Unicode version.
80 </description>
81 </option>
82 </if>
83 <if cond="FORMAT=='autoconf' or FORMAT=='watcom'">
84 <set var="MSLU">0</set>
85 </if>
86
4f6e1dac 87 <option name="BUILD">
6990514b
VS
88 <values>debug,release</values>
89 <values-description>Debug,Release</values-description>
252b53f5 90 <default-value>debug</default-value>
4f6e1dac
VS
91 <description>
92 Type of compiled binaries
93 </description>
94 </option>
1dba7b4c 95
e40b74ba
MW
96 <if cond="FORMAT=='msvc'">
97 <option name="TARGET_CPU">
e40b74ba
MW
98 <default-value>$(DOLLAR)(CPU)</default-value>
99 <description>
100The target processor architecture must be specified when it is not X86.
101This does not affect the compiler output, so you still need to make sure
102your environment is set up appropriately with the correct compiler in the
103PATH. Rather it affects some options passed to some of the common build
104utilities such as the resource compiler and the linker.
b1e411d9 105
235a997f
VZ
106Accepted values: IA64, X64
107(AMD64 accepted as synonym for X64 but should not be used any more).
e40b74ba
MW
108 </description>
109 </option>
110 </if>
111 <if cond="FORMAT!='msvc'">
112 <set var="TARGET_CPU"/>
113 </if>
114
0c4311ca
VZ
115 <!--
116 For MSVC enable debug information in all builds: it is needed to be
117 able to debug the crash dumps produced by wxDebugReport and as it
118 generates it in separate PDB files it doesn't cost us much to enable it
119 (except for disk space...).
120 -->
9d33d6b8 121 <set var="DEBUG_INFO_DEFAULT">
0c4311ca
VZ
122 <if cond="IS_MSVC=='1'">1</if>
123 <if cond="IS_MSVC=='0'">default</if>
9d33d6b8 124 </set>
61639efb 125
4f6e1dac 126 <option name="DEBUG_INFO">
6990514b 127 <values>0,1,default</values>
9d33d6b8 128 <default-value>$(DEBUG_INFO_DEFAULT)</default-value>
4f6e1dac
VS
129 <description>
130Should debugging info be included in the executables? The default value
131"default" means that debug info will be included if BUILD=debug
132and not included if BUILD=release.
133 </description>
134 </option>
61639efb 135
4f6e1dac 136 <option name="DEBUG_FLAG">
6990514b 137 <values>0,1,default</values>
c6684d42 138 <default-value>1</default-value>
4f6e1dac 139 <description>
c6684d42
VZ
140Value of wxDEBUG_LEVEL. The default value is the same as 1 and means that all
141but expensive assert checks are enabled, use 0 to completely remove debugging
142code.
4f6e1dac
VS
143 </description>
144 </option>
145
146 <if cond="FORMAT=='msvc'">
147 <option name="DEBUG_RUNTIME_LIBS">
6990514b 148 <values>0,1,default</values>
4f6e1dac
VS
149 <default-value>default</default-value>
150 <description>
c6684d42
VZ
151Link against debug (e.g. msvcrtd.dll) or release (msvcrt.dll) RTL?
152Default is to use debug CRT if and only if BUILD==debug.
4f6e1dac
VS
153 </description>
154 </option>
155 </if>
156 <if cond="FORMAT!='msvc'">
157 <set var="DEBUG_RUNTIME_LIBS">default</set>
158 </if>
8998a324
VS
159
160 <set var="MONOLITHIC_DEFAULT">
161 <if cond="FORMAT=='watcom'">1</if>
162 <if cond="FORMAT!='watcom'">0</if>
163 </set>
ddf98968 164 <option name="MONOLITHIC">
6990514b
VS
165 <values>0,1</values>
166 <values-description>Multilib,Monolithic</values-description>
8998a324 167 <default-value>$(MONOLITHIC_DEFAULT)</default-value>
ddf98968
VS
168 <description>
169 Multiple libraries or single huge monolithic one?
170 </description>
171 </option>
61639efb 172
c79241a2
VS
173 <if cond="FORMAT=='autoconf'"> <!-- FIXME - temporary -->
174 <option name="USE_PLUGINS">
175 <values>0,1</values>
176 <default-value>1</default-value>
177 <description>
178 Build parts of the library as dynamically loadable plugins
179 (only supported in multilib build)?
180 </description>
181 </option>
182 </if>
183 <if cond="FORMAT!='autoconf'">
184 <set var="USE_PLUGINS">0</set> <!-- FIXME - temporary -->
185 </if>
61639efb 186
ddf98968 187 <option name="USE_GUI">
6990514b
VS
188 <values>0,1</values>
189 <values-description>Base,GUI</values-description>
ddf98968
VS
190 <default-value>1</default-value>
191 <description>
192 Build GUI libraries?
193 </description>
194 </option>
61639efb 195
4d264332 196 <option name="USE_HTML">
6990514b 197 <values>0,1</values>
4d264332
VS
198 <default-value>1</default-value>
199 <description>
200 Build wxHTML library (USE_GUI must be 1)?
201 </description>
202 </option>
61639efb 203
467d261e 204 <option name="USE_WEBVIEW">
cfcf1d6e
SL
205 <values>0,1</values>
206 <default-value>1</default-value>
207 <description>
467d261e 208 Build wxWebView library (USE_GUI must be 1)?
cfcf1d6e
SL
209 </description>
210 </option>
211
557002cf
VZ
212 <option name="USE_MEDIA">
213 <values>0,1</values>
214 <default-value>1</default-value>
215 <description>
216 Build multimedia library (USE_GUI must be 1)?
217 </description>
218 </option>
219
3849327b
VS
220 <option name="USE_XRC">
221 <values>0,1</values>
222 <default-value>1</default-value>
223 <description>
224 Build wxXRC library (USE_GUI must be 1)?
225 </description>
226 </option>
61639efb 227
50acee04
JS
228 <option name="USE_AUI">
229 <values>0,1</values>
230 <default-value>1</default-value>
231 <description>
232 Build wxAUI library (USE_GUI must be 1)?
233 </description>
234 </option>
235
3c3ead1d
PC
236 <option name="USE_RIBBON">
237 <values>0,1</values>
238 <default-value>1</default-value>
239 <description>
240 Build wxRibbon library (USE_GUI must be 1)?
241 </description>
242 </option>
243
1c4293cb
VZ
244 <option name="USE_PROPGRID">
245 <values>0,1</values>
246 <default-value>1</default-value>
247 <description>
248 Build wxPropertyGrid library (USE_GUI must be 1)?
249 </description>
250 </option>
251
3b2cb431
JS
252 <option name="USE_RICHTEXT">
253 <values>0,1</values>
254 <default-value>1</default-value>
255 <description>
256 Build wxRichTextCtrl library (USE_GUI must be 1)?
257 </description>
258 </option>
259
54429bb3
RD
260 <option name="USE_STC">
261 <values>0,1</values>
262 <default-value>1</default-value>
263 <description>
264 Build wxStyledTextCtrl library (USE_GUI must be 1)?
265 </description>
266 </option>
267
4d264332 268 <option name="USE_OPENGL">
6990514b 269 <values>0,1</values>
671683c4 270 <default-value>1</default-value>
4d264332
VS
271 <description>
272 Build OpenGL canvas library (USE_GUI must be 1)?
273 </description>
274 </option>
61639efb 275
aae7e12e
VZ
276 <!-- currently only VC++ can compile wxDebugReport which is in QA lib -->
277 <set var="USE_QA_DEFAULT">
7da8bfe3
VZ
278 <if cond="FORMAT in ['msvc','msvc6prj','msvs2003prj','msvs2005prj','msvs2008prj']">1</if>
279 <if cond="FORMAT not in ['msvc','msvc6prj','msvs2003prj','msvs2005prj','msvs2008prj']">0</if>
aae7e12e 280 </set>
61639efb
VZ
281 <option name="USE_QA">
282 <values>0,1</values>
b1ac62dd 283 <default-value>$(USE_QA_DEFAULT)</default-value>
61639efb
VZ
284 <description>
285 Build quality assurance classes library (USE_GUI must be 1)?
286 </description>
287 </option>
288
9833a21a
VS
289 <option name="USE_EXCEPTIONS">
290 <values>0,1</values>
291 <default-value>1</default-value>
292 <description>
293 Enable exceptions in compiled code.
294 </description>
295 </option>
61639efb 296
c2efd890
VZ
297 <option name="USE_RTTI">
298 <values>0,1</values>
299 <default-value>1</default-value>
300 <description>
301 Enable run-time type information (RTTI) in compiled code.
302 </description>
303 </option>
61639efb 304
d1e5aa07
VS
305 <option name="USE_THREADS">
306 <values>0,1</values>
307 <default-value>1</default-value>
308 <description>
309 Enable threading in compiled code.
310 </description>
311 </option>
61639efb 312
f82b7036
KO
313 <option name="USE_CAIRO">
314 <values>0,1</values>
315 <default-value>0</default-value>
316 <description>
317 Enable wxCairoContext for platforms other than Linux/GTK.
318 </description>
319 </option>
320
4fc5f509 321 <option name="OFFICIAL_BUILD">
6990514b 322 <values>0,1</values>
4fc5f509
VS
323 <default-value>0</default-value>
324 <description>
77ffb593 325 Is this official build by wxWidgets developers?
4fc5f509
VS
326 </description>
327 </option>
328 <option name="VENDOR">
329 <default-value>custom</default-value>
330 <description>
331 Use this to name your customized DLLs differently
332 </description>
333 </option>
589e20d0
RL
334 <!-- These basically do what vendor does in the places it didn't. -->
335 <!-- They should all be unified under some suitable descriptor -->
336 <option name="WX_FLAVOUR">
337 <default-value></default-value>
338 </option>
339 <option name="WX_LIB_FLAVOUR">
340 <default-value></default-value>
341 </option>
cff5df9f
VS
342
343 <option name="CFG">
344 <default-value></default-value>
345 <description>
4f6e1dac
VS
346Name of your custom configuration. This affects directory
347where object files are stored as well as the location of
348compiled .lib files and setup.h under the lib/ toplevel directory.
cff5df9f 349 </description>
670ec357
VS
350 </option>
351
352 <!-- unit tests support: -->
353 <option name="CPPUNIT_CFLAGS">
354 <default-value></default-value>
355 <description>
356Compiler flags needed to compile test suite in tests directory. If you want
357to run the tests, set it so that the compiler can find CppUnit headers.
358 </description>
359 </option>
61639efb 360
670ec357
VS
361 <option name="CPPUNIT_LIBS">
362 <default-value></default-value>
363 <description>
364Linker flags needed to link test suite in tests directory. If you want
365to run the tests, include CppUnit library here.
366 </description>
cff5df9f 367 </option>
61639efb
VZ
368
369
eefdc53a
VS
370 <!-- ================================================================== -->
371 <!-- Autoconf -->
372 <!-- ================================================================== -->
61639efb
VZ
373
374 <if cond="FORMAT=='autoconf'">
ddf98968
VS
375 <option name="DEREZ"/>
376 <option name="TOOLKIT"/>
377 <option name="TOOLKIT_LOWERCASE"/>
378 <option name="TOOLKIT_VERSION"/>
157a3440 379 <option name="TOOLCHAIN_NAME"/>
ceec2216 380 <option name="TOOLCHAIN_FULLNAME"/>
ddf98968 381 <option name="EXTRALIBS"/>
a69544bf 382 <option name="EXTRALIBS_XML"/>
c839485c 383 <option name="EXTRALIBS_HTML"/>
2f8711ed 384 <option name="EXTRALIBS_MEDIA"/>
c74dc163 385 <option name="EXTRALIBS_GUI"/>
34b08d2c 386 <option name="EXTRALIBS_OPENGL"/>
c79241a2 387 <option name="EXTRALIBS_SDL"/>
b1b592ad 388 <option name="CXXWARNINGS"/>
ea66c762 389 <option name="HOST_SUFFIX"/>
19beefa6
KO
390 <option name="DYLIB_RPATH_INSTALL"/>
391 <option name="DYLIB_RPATH_POSTLINK"/>
ef0add05 392 <option name="SAMPLES_RPATH_FLAG"/>
61639efb 393
516cf181
FM
394 <!-- see configure.in; it's required by some samples on Mac OS X -->
395 <option name="HEADER_PAD_OPTION"/>
396
4843dc4c 397 <set var="TOP_SRCDIR">$(top_srcdir)/</set>
4b44ea2b 398 <set var="RUNTIME_LIBS">dynamic</set>
4c51a665 399 <set var="WXTOPDIR"/> <!-- to be overridden on bakefile cmd line -->
61639efb 400
c79241a2
VS
401 <option name="WITH_PLUGIN_SDL">
402 <values>0,1</values>
403 </option>
6589dc98
VS
404
405 <option name="wx_top_builddir"/>
ddf98968
VS
406 </if>
407
61639efb 408
eefdc53a 409 <!-- ================================================================== -->
1dba7b4c 410 <!-- windows/dos/os2 compilers -->
eefdc53a
VS
411 <!-- ================================================================== -->
412
ddf98968 413 <if cond="FORMAT!='autoconf'">
4b44ea2b 414 <option name="RUNTIME_LIBS">
6990514b 415 <values>dynamic,static</values>
4b44ea2b
VS
416 <default-value>dynamic</default-value>
417 <description>
4f6e1dac
VS
418Version of C runtime library to use. You can change this to
419static if SHARED=0, but it is highly recommended to not do
420it if SHARED=1 unless you know what you are doing.
4b44ea2b
VS
421 </description>
422 </option>
61639efb 423
4c51a665 424 <set var="WXTOPDIR"/> <!-- to be overridden on bakefile cmd line -->
4843dc4c 425
a92d711e 426 <set var="TOOLKIT" overwrite="0">
af594eca 427 <if cond="FORMAT=='msevc4prj'">WINCE</if>
00b20999 428 <if cond="FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='pocketpc2003'">WINCE</if>
7da8bfe3 429 <if cond="FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='pocketpc2003'">WINCE</if>
00b20999 430 <if cond="FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='win32'">MSW</if>
7da8bfe3
VZ
431 <if cond="FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='win32'">MSW</if>
432 <if cond="FORMAT not in ['msevc4prj','msvs2005prj','msvs2008prj'] and PLATFORM_WIN32=='1'">MSW</if>
1dba7b4c 433 <if cond="PLATFORM_OS2=='1'">PM</if>
af594eca 434 </set>
eefdc53a
VS
435 <set var="TOOLKIT_LOWERCASE">$(TOOLKIT.lower())</set>
436 <set var="TOOLKIT_VERSION"/>
ea66c762 437 <set var="HOST_SUFFIX"/>
22cef566 438 <set var="EXTRACFLAGS"/>
6f53cd7c 439 <set var="EXTRALIBS"/>
a69544bf 440 <set var="EXTRALIBS_XML"/>
c839485c 441 <set var="EXTRALIBS_HTML"/>
2f8711ed 442 <set var="EXTRALIBS_MEDIA"/>
c74dc163 443 <set var="EXTRALIBS_GUI"/>
22cef566 444 <set var="EXTRALIBS_OPENGL">
43b0b6bc 445 <if cond="COMPILER=='wat' and TOOLKIT=='MSW'">opengl32.lib glu32.lib</if>
af594eca 446 <if cond="COMPILER in ['vc','evc']">opengl32.lib glu32.lib</if>
22cef566
VS
447 <if cond="COMPILER=='gcc'">-lopengl32 -lglu32</if>
448 </set>
c79241a2 449 <set var="EXTRALIBS_SDL"/>
7fcba069 450 <set var="EXTRALIBS_GNOMEPRINT"/>
c79241a2
VS
451
452 <set var="WITH_PLUGIN_SDL">0</set>
eefdc53a 453
2275c732
VS
454 <if cond="BUILDING_LIB=='1'">
455 <set-srcdir>../..</set-srcdir>
456 </if>
4843dc4c 457 <set var="TOP_SRCDIR">$(SRCDIR)/$(WXTOPDIR)</set>
ddf98968 458 </if>
61639efb 459
65fb1c11
VS
460 <if cond="FORMAT=='mingw'">
461 <option name="GCC_VERSION">
6990514b 462 <values>3,2.95</values>
65fb1c11
VS
463 <default-value>3</default-value>
464 <description>
4f6e1dac
VS
465Set the version of your Mingw installation here.
466 "3" ...... this is for Mingw 2.0 or newer (comes with gcc3)
467 "2.95" ... for Mingw 1.1 or any of the older versions
65fb1c11
VS
468 </description>
469 </option>
470 <set var="GCCFLAGS">
471 <if cond="GCC_VERSION=='2.95'">-fvtable-thunks</if>
472 </set>
473 <set var="EXTRACFLAGS">$(GCCFLAGS) -DHAVE_W32API_H</set>
474 </if>
d17bdeab 475
328f5196 476
d17bdeab
VS
477 <!-- ================================================================== -->
478 <!-- Project files - hardcode some defaults -->
479 <!-- ================================================================== -->
480
481 <if cond="FORMAT_SUPPORTS_CONDITIONS=='0'">
482 <set var="RUNTIME_LIBS">dynamic</set>
483 <set var="OFFICIAL_BUILD">0</set>
32a52290 484 <set var="USE_AUI">1</set>
3c3ead1d 485 <set var="USE_RIBBON">1</set>
1c4293cb 486 <set var="USE_PROPGRID">1</set>
3b2cb431 487 <set var="USE_RICHTEXT">1</set>
54429bb3 488 <set var="USE_STC">1</set>
d17bdeab 489 <set var="USE_HTML">1</set>
467d261e 490 <set var="USE_WEBVIEW">1</set>
32a52290 491 <set var="USE_MEDIA">1</set>
3849327b 492 <set var="USE_XRC">1</set>
d17bdeab 493 <set var="USE_OPENGL">1</set>
61639efb 494 <set var="USE_QA">1</set>
d17bdeab
VS
495 <set var="MONOLITHIC">0</set>
496 <set var="USE_GUI">1</set>
9833a21a 497 <set var="USE_EXCEPTIONS">1</set>
c2efd890 498 <set var="USE_RTTI">1</set>
d1e5aa07 499 <set var="USE_THREADS">1</set>
f82b7036 500 <set var="USE_CAIRO">0</set>
9d33d6b8 501 <set var="DEBUG_INFO">$(DEBUG_INFO_DEFAULT)</set>
d17bdeab
VS
502 <set var="DEBUG_FLAG">default</set>
503 <set var="MSLU">0</set>
504 </if>
505
e6e885fd
VS
506
507 <!-- DigitalMars make is braindead, it doesn't have conditional
508 processing: -->
509 <if cond="FORMAT=='dmars'">
510 <set var="RUNTIME_LIBS">static</set>
511 <set var="BUILD">debug</set>
512 <set var="SHARED">0</set>
513 <set var="WXUNIV">0</set>
4fc1c0f0 514 <set var="UNICODE">1</set>
f46a065c
WS
515 <!-- Free version does not distribute OpenGL,
516 in commercial distribution better use dmars_smake format -->
517 <set var="USE_OPENGL">0</set>
e6e885fd
VS
518 </if>
519
af594eca 520 <!-- No need for wxUniv on embedded devices (yet): -->
7da8bfe3 521 <if cond="FORMAT=='msevc4prj' or (FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='pocketpc2003') or (FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='pocketpc2003')">
af594eca 522 <set var="WXUNIV">0</set>
1dba7b4c 523 <!-- Uploading debug reports from PDAs seems impractical -->
61639efb 524 <set var="USE_QA">0</set>
bc858dcf 525 <set var="MONOLITHIC">1</set> <!-- sic! -->
00b20999 526 <set var="USE_OPENGL">0</set> <!-- need OpenGL ES support first -->
5bcb84f8 527 <!-- RTTI and exceptions need separate cccrtti.lib with eVC4 -->
00b20999
VZ
528 <if cond="FORMAT=='msevc4prj'">
529 <set var="USE_RTTI">0</set>
530 <set var="USE_EXCEPTIONS">0</set>
531 </if>
af594eca
VS
532 </if>
533
ddf98968 534</makefile>