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