further routing into wxApp
[wxWidgets.git] / include / wx / chkconf.h
1 /*
2 * Name: wx/chkconf.h
3 * Purpose: check the config settings for consistency
4 * Author: Vadim Zeitlin
5 * Modified by:
6 * Created: 09.08.00
7 * RCS-ID: $Id$
8 * Copyright: (c) 2000 Vadim Zeitlin <vadim@wxwidgets.org>
9 * Licence: wxWindows licence
10 */
11
12 /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
13 #ifndef _WX_CHKCONF_H_
14 #define _WX_CHKCONF_H_
15
16 /*
17 **************************************************
18 PLEASE READ THIS IF YOU GET AN ERROR IN THIS FILE!
19 **************************************************
20
21 If you get an error saying "wxUSE_FOO must be defined", it means that you
22 are not using the correct up-to-date version of setup.h. This happens most
23 often when using svn or daily snapshots and a new symbol was added to
24 setup0.h and you haven't updated your local setup.h to reflect it. If
25 this is the case, you need to propagate the changes from setup0.h to your
26 setup.h and, if using makefiles under MSW, also remove setup.h under the
27 build directory (lib/$(COMPILER)_{lib,dll}/msw[u][d][dll]/wx) so that
28 the new setup.h is copied there.
29
30 If you get an error of the form "wxFoo requires wxBar", then the settings
31 in your setup.h are inconsistent. You have the choice between correcting
32 them manually or commenting out #define wxABORT_ON_CONFIG_ERROR below to
33 try to correct the problems automatically (not really recommended but
34 might work).
35 */
36
37 /*
38 This file has the following sections:
39 1. checks that all wxUSE_XXX symbols we use are defined
40 a) first the non-GUI ones
41 b) then the GUI-only ones
42 2. platform-specific checks done in the platform headers
43 3. generic consistency checks
44 a) first the non-GUI ones
45 b) then the GUI-only ones
46 */
47
48 /*
49 this global setting determines what should we do if the setting FOO
50 requires BAR and BAR is not set: we can either silently unset FOO as well
51 (do this if you're trying to build the smallest possible library) or give an
52 error and abort (default as leads to least surprising behaviour)
53 */
54 #define wxABORT_ON_CONFIG_ERROR
55
56 /*
57 global features
58 */
59
60 /*
61 If we're compiling without support for threads/exceptions we have to
62 disable the corresponding features.
63 */
64 #ifdef wxNO_THREADS
65 # undef wxUSE_THREADS
66 # define wxUSE_THREADS 0
67 #endif /* wxNO_THREADS */
68
69 #ifdef wxNO_EXCEPTIONS
70 # undef wxUSE_EXCEPTIONS
71 # define wxUSE_EXCEPTIONS 0
72 #endif /* wxNO_EXCEPTIONS */
73
74 /* we also must disable exceptions if compiler doesn't support them */
75 #if defined(_MSC_VER) && !defined(_CPPUNWIND)
76 # undef wxUSE_EXCEPTIONS
77 # define wxUSE_EXCEPTIONS 0
78 #endif /* VC++ without exceptions support */
79
80
81 /*
82 Section 1a: tests for non GUI features.
83
84 please keep the options in alphabetical order!
85 */
86
87 #ifndef wxUSE_ANY
88 # ifdef wxABORT_ON_CONFIG_ERROR
89 # error "wxUSE_ANY must be defined, please read comment near the top of this file."
90 # else
91 # define wxUSE_ANY 0
92 # endif
93 #endif /* wxUSE_ANY */
94
95 #ifndef wxUSE_COMPILER_TLS
96 # ifdef wxABORT_ON_CONFIG_ERROR
97 # error "wxUSE_COMPILER_TLS must be defined, please read comment near the top of this file."
98 # else
99 # define wxUSE_COMPILER_TLS 0
100 # endif
101 #endif /* !defined(wxUSE_COMPILER_TLS) */
102
103 #ifndef wxUSE_CONSOLE_EVENTLOOP
104 # ifdef wxABORT_ON_CONFIG_ERROR
105 # error "wxUSE_CONSOLE_EVENTLOOP must be defined, please read comment near the top of this file."
106 # else
107 # define wxUSE_CONSOLE_EVENTLOOP 0
108 # endif
109 #endif /* !defined(wxUSE_CONSOLE_EVENTLOOP) */
110
111 #ifndef wxUSE_DYNLIB_CLASS
112 # ifdef wxABORT_ON_CONFIG_ERROR
113 # error "wxUSE_DYNLIB_CLASS must be defined, please read comment near the top of this file."
114 # else
115 # define wxUSE_DYNLIB_CLASS 0
116 # endif
117 #endif /* !defined(wxUSE_DYNLIB_CLASS) */
118
119 #ifndef wxUSE_EXCEPTIONS
120 # ifdef wxABORT_ON_CONFIG_ERROR
121 # error "wxUSE_EXCEPTIONS must be defined, please read comment near the top of this file."
122 # else
123 # define wxUSE_EXCEPTIONS 0
124 # endif
125 #endif /* !defined(wxUSE_EXCEPTIONS) */
126
127 #ifndef wxUSE_FILE_HISTORY
128 # ifdef wxABORT_ON_CONFIG_ERROR
129 # error "wxUSE_FILE_HISTORY must be defined, please read comment near the top of this file."
130 # else
131 # define wxUSE_FILE_HISTORY 0
132 # endif
133 #endif /* !defined(wxUSE_FILE_HISTORY) */
134
135 #ifndef wxUSE_FILESYSTEM
136 # ifdef wxABORT_ON_CONFIG_ERROR
137 # error "wxUSE_FILESYSTEM must be defined, please read comment near the top of this file."
138 # else
139 # define wxUSE_FILESYSTEM 0
140 # endif
141 #endif /* !defined(wxUSE_FILESYSTEM) */
142
143 #ifndef wxUSE_FS_ARCHIVE
144 # ifdef wxABORT_ON_CONFIG_ERROR
145 # error "wxUSE_FS_ARCHIVE must be defined, please read comment near the top of this file."
146 # else
147 # define wxUSE_FS_ARCHIVE 0
148 # endif
149 #endif /* !defined(wxUSE_FS_ARCHIVE) */
150
151 #ifndef wxUSE_FSVOLUME
152 # ifdef wxABORT_ON_CONFIG_ERROR
153 # error "wxUSE_FSVOLUME must be defined, please read comment near the top of this file."
154 # else
155 # define wxUSE_FSVOLUME 0
156 # endif
157 #endif /* !defined(wxUSE_FSVOLUME) */
158
159 #ifndef wxUSE_FSWATCHER
160 # ifdef wxABORT_ON_CONFIG_ERROR
161 # error "wxUSE_FSWATCHER must be defined, please read comment near the top of this file."
162 # else
163 # define wxUSE_FSWATCHER 0
164 # endif
165 #endif /* !defined(wxUSE_FSWATCHER) */
166
167 #ifndef wxUSE_DYNAMIC_LOADER
168 # ifdef wxABORT_ON_CONFIG_ERROR
169 # error "wxUSE_DYNAMIC_LOADER must be defined, please read comment near the top of this file."
170 # else
171 # define wxUSE_DYNAMIC_LOADER 0
172 # endif
173 #endif /* !defined(wxUSE_DYNAMIC_LOADER) */
174
175 #ifndef wxUSE_INTL
176 # ifdef wxABORT_ON_CONFIG_ERROR
177 # error "wxUSE_INTL must be defined, please read comment near the top of this file."
178 # else
179 # define wxUSE_INTL 0
180 # endif
181 #endif /* !defined(wxUSE_INTL) */
182
183 #ifndef wxUSE_IPV6
184 # ifdef wxABORT_ON_CONFIG_ERROR
185 # error "wxUSE_IPV6 must be defined, please read comment near the top of this file."
186 # else
187 # define wxUSE_IPV6 0
188 # endif
189 #endif /* !defined(wxUSE_IPV6) */
190
191 #ifndef wxUSE_LOG
192 # ifdef wxABORT_ON_CONFIG_ERROR
193 # error "wxUSE_LOG must be defined, please read comment near the top of this file."
194 # else
195 # define wxUSE_LOG 0
196 # endif
197 #endif /* !defined(wxUSE_LOG) */
198
199 #ifndef wxUSE_LONGLONG
200 # ifdef wxABORT_ON_CONFIG_ERROR
201 # error "wxUSE_LONGLONG must be defined, please read comment near the top of this file."
202 # else
203 # define wxUSE_LONGLONG 0
204 # endif
205 #endif /* !defined(wxUSE_LONGLONG) */
206
207 #ifndef wxUSE_MIMETYPE
208 # ifdef wxABORT_ON_CONFIG_ERROR
209 # error "wxUSE_MIMETYPE must be defined, please read comment near the top of this file."
210 # else
211 # define wxUSE_MIMETYPE 0
212 # endif
213 #endif /* !defined(wxUSE_MIMETYPE) */
214
215 #ifndef wxUSE_ON_FATAL_EXCEPTION
216 # ifdef wxABORT_ON_CONFIG_ERROR
217 # error "wxUSE_ON_FATAL_EXCEPTION must be defined, please read comment near the top of this file."
218 # else
219 # define wxUSE_ON_FATAL_EXCEPTION 0
220 # endif
221 #endif /* !defined(wxUSE_ON_FATAL_EXCEPTION) */
222
223 #ifndef wxUSE_PRINTF_POS_PARAMS
224 # ifdef wxABORT_ON_CONFIG_ERROR
225 # error "wxUSE_PRINTF_POS_PARAMS must be defined, please read comment near the top of this file."
226 # else
227 # define wxUSE_PRINTF_POS_PARAMS 0
228 # endif
229 #endif /* !defined(wxUSE_PRINTF_POS_PARAMS) */
230
231 #ifndef wxUSE_PROTOCOL
232 # ifdef wxABORT_ON_CONFIG_ERROR
233 # error "wxUSE_PROTOCOL must be defined, please read comment near the top of this file."
234 # else
235 # define wxUSE_PROTOCOL 0
236 # endif
237 #endif /* !defined(wxUSE_PROTOCOL) */
238
239 /* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
240 #if !wxUSE_PROTOCOL
241 # undef wxUSE_PROTOCOL_HTTP
242 # undef wxUSE_PROTOCOL_FTP
243 # undef wxUSE_PROTOCOL_FILE
244 # define wxUSE_PROTOCOL_HTTP 0
245 # define wxUSE_PROTOCOL_FTP 0
246 # define wxUSE_PROTOCOL_FILE 0
247 #endif /* wxUSE_PROTOCOL */
248
249 #ifndef wxUSE_PROTOCOL_HTTP
250 # ifdef wxABORT_ON_CONFIG_ERROR
251 # error "wxUSE_PROTOCOL_HTTP must be defined, please read comment near the top of this file."
252 # else
253 # define wxUSE_PROTOCOL_HTTP 0
254 # endif
255 #endif /* !defined(wxUSE_PROTOCOL_HTTP) */
256
257 #ifndef wxUSE_PROTOCOL_FTP
258 # ifdef wxABORT_ON_CONFIG_ERROR
259 # error "wxUSE_PROTOCOL_FTP must be defined, please read comment near the top of this file."
260 # else
261 # define wxUSE_PROTOCOL_FTP 0
262 # endif
263 #endif /* !defined(wxUSE_PROTOCOL_FTP) */
264
265 #ifndef wxUSE_PROTOCOL_FILE
266 # ifdef wxABORT_ON_CONFIG_ERROR
267 # error "wxUSE_PROTOCOL_FILE must be defined, please read comment near the top of this file."
268 # else
269 # define wxUSE_PROTOCOL_FILE 0
270 # endif
271 #endif /* !defined(wxUSE_PROTOCOL_FILE) */
272
273 #ifndef wxUSE_REGEX
274 # ifdef wxABORT_ON_CONFIG_ERROR
275 # error "wxUSE_REGEX must be defined, please read comment near the top of this file."
276 # else
277 # define wxUSE_REGEX 0
278 # endif
279 #endif /* !defined(wxUSE_REGEX) */
280
281 #ifndef wxUSE_STDPATHS
282 # ifdef wxABORT_ON_CONFIG_ERROR
283 # error "wxUSE_STDPATHS must be defined, please read comment near the top of this file."
284 # else
285 # define wxUSE_STDPATHS 1
286 # endif
287 #endif /* !defined(wxUSE_STDPATHS) */
288
289 #ifndef wxUSE_XML
290 # ifdef wxABORT_ON_CONFIG_ERROR
291 # error "wxUSE_XML must be defined, please read comment near the top of this file."
292 # else
293 # define wxUSE_XML 0
294 # endif
295 #endif /* !defined(wxUSE_XML) */
296
297 #ifndef wxUSE_SOCKETS
298 # ifdef wxABORT_ON_CONFIG_ERROR
299 # error "wxUSE_SOCKETS must be defined, please read comment near the top of this file."
300 # else
301 # define wxUSE_SOCKETS 0
302 # endif
303 #endif /* !defined(wxUSE_SOCKETS) */
304
305 #ifndef wxUSE_STD_CONTAINERS
306 # ifdef wxABORT_ON_CONFIG_ERROR
307 # error "wxUSE_STD_CONTAINERS must be defined, please read comment near the top of this file."
308 # else
309 # define wxUSE_STD_CONTAINERS 0
310 # endif
311 #endif /* !defined(wxUSE_STD_CONTAINERS) */
312
313 #ifndef wxUSE_STD_STRING_CONV_IN_WXSTRING
314 # ifdef wxABORT_ON_CONFIG_ERROR
315 # error "wxUSE_STD_STRING_CONV_IN_WXSTRING must be defined, please read comment near the top of this file."
316 # else
317 # define wxUSE_STD_STRING_CONV_IN_WXSTRING 0
318 # endif
319 #endif /* !defined(wxUSE_STD_STRING_CONV_IN_WXSTRING) */
320
321 #ifndef wxUSE_STREAMS
322 # ifdef wxABORT_ON_CONFIG_ERROR
323 # error "wxUSE_STREAMS must be defined, please read comment near the top of this file."
324 # else
325 # define wxUSE_STREAMS 0
326 # endif
327 #endif /* !defined(wxUSE_STREAMS) */
328
329 #ifndef wxUSE_STOPWATCH
330 # ifdef wxABORT_ON_CONFIG_ERROR
331 # error "wxUSE_STOPWATCH must be defined, please read comment near the top of this file."
332 # else
333 # define wxUSE_STOPWATCH 0
334 # endif
335 #endif /* !defined(wxUSE_STOPWATCH) */
336
337 #ifndef wxUSE_TEXTBUFFER
338 # ifdef wxABORT_ON_CONFIG_ERROR
339 # error "wxUSE_TEXTBUFFER must be defined, please read comment near the top of this file."
340 # else
341 # define wxUSE_TEXTBUFFER 0
342 # endif
343 #endif /* !defined(wxUSE_TEXTBUFFER) */
344
345 #ifndef wxUSE_TEXTFILE
346 # ifdef wxABORT_ON_CONFIG_ERROR
347 # error "wxUSE_TEXTFILE must be defined, please read comment near the top of this file."
348 # else
349 # define wxUSE_TEXTFILE 0
350 # endif
351 #endif /* !defined(wxUSE_TEXTFILE) */
352
353 #ifndef wxUSE_UNICODE
354 # ifdef wxABORT_ON_CONFIG_ERROR
355 # error "wxUSE_UNICODE must be defined, please read comment near the top of this file."
356 # else
357 # define wxUSE_UNICODE 0
358 # endif
359 #endif /* !defined(wxUSE_UNICODE) */
360
361 #ifndef wxUSE_URL
362 # ifdef wxABORT_ON_CONFIG_ERROR
363 # error "wxUSE_URL must be defined, please read comment near the top of this file."
364 # else
365 # define wxUSE_URL 0
366 # endif
367 #endif /* !defined(wxUSE_URL) */
368
369 #ifndef wxUSE_VARIANT
370 # ifdef wxABORT_ON_CONFIG_ERROR
371 # error "wxUSE_VARIANT must be defined, please read comment near the top of this file."
372 # else
373 # define wxUSE_VARIANT 0
374 # endif
375 #endif /* wxUSE_VARIANT */
376
377 #ifndef wxUSE_XLOCALE
378 # ifdef wxABORT_ON_CONFIG_ERROR
379 # error "wxUSE_XLOCALE must be defined, please read comment near the top of this file."
380 # else
381 # define wxUSE_XLOCALE 0
382 # endif
383 #endif /* !defined(wxUSE_XLOCALE) */
384
385 /*
386 Section 1b: all these tests are for GUI only.
387
388 please keep the options in alphabetical order!
389 */
390 #if wxUSE_GUI
391
392 /*
393 all of the settings tested below must be defined or we'd get an error from
394 preprocessor about invalid integer expression
395 */
396
397 #ifndef wxUSE_ABOUTDLG
398 # ifdef wxABORT_ON_CONFIG_ERROR
399 # error "wxUSE_ABOUTDLG must be defined, please read comment near the top of this file."
400 # else
401 # define wxUSE_ABOUTDLG 0
402 # endif
403 #endif /* !defined(wxUSE_ABOUTDLG) */
404
405 #ifndef wxUSE_ACCEL
406 # ifdef wxABORT_ON_CONFIG_ERROR
407 # error "wxUSE_ACCEL must be defined, please read comment near the top of this file."
408 # else
409 # define wxUSE_ACCEL 0
410 # endif
411 #endif /* !defined(wxUSE_ACCEL) */
412
413 #ifndef wxUSE_ACCESSIBILITY
414 # ifdef wxABORT_ON_CONFIG_ERROR
415 # error "wxUSE_ACCESSIBILITY must be defined, please read comment near the top of this file."
416 # else
417 # define wxUSE_ACCESSIBILITY 0
418 # endif
419 #endif /* !defined(wxUSE_ACCESSIBILITY) */
420
421 #ifndef wxUSE_ANIMATIONCTRL
422 # ifdef wxABORT_ON_CONFIG_ERROR
423 # error "wxUSE_ANIMATIONCTRL must be defined, please read comment near the top of this file."
424 # else
425 # define wxUSE_ANIMATIONCTRL 0
426 # endif
427 #endif /* !defined(wxUSE_ANIMATIONCTRL) */
428
429 #ifndef wxUSE_ARTPROVIDER_STD
430 # ifdef wxABORT_ON_CONFIG_ERROR
431 # error "wxUSE_ARTPROVIDER_STD must be defined, please read comment near the top of this file."
432 # else
433 # define wxUSE_ARTPROVIDER_STD 0
434 # endif
435 #endif /* !defined(wxUSE_ARTPROVIDER_STD) */
436
437 #ifndef wxUSE_ARTPROVIDER_TANGO
438 # ifdef wxABORT_ON_CONFIG_ERROR
439 # error "wxUSE_ARTPROVIDER_TANGO must be defined, please read comment near the top of this file."
440 # else
441 # define wxUSE_ARTPROVIDER_TANGO 0
442 # endif
443 #endif /* !defined(wxUSE_ARTPROVIDER_TANGO) */
444
445 #ifndef wxUSE_AUTOID_MANAGEMENT
446 # ifdef wxABORT_ON_CONFIG_ERROR
447 # error "wxUSE_AUTOID_MANAGEMENT must be defined, please read comment near the top of this file."
448 # else
449 # define wxUSE_AUTOID_MANAGEMENT 0
450 # endif
451 #endif /* !defined(wxUSE_AUTOID_MANAGEMENT) */
452
453 #ifndef wxUSE_BITMAPCOMBOBOX
454 # ifdef wxABORT_ON_CONFIG_ERROR
455 # error "wxUSE_BITMAPCOMBOBOX must be defined, please read comment near the top of this file."
456 # else
457 # define wxUSE_BITMAPCOMBOBOX 0
458 # endif
459 #endif /* !defined(wxUSE_BITMAPCOMBOBOX) */
460
461 #ifndef wxUSE_BMPBUTTON
462 # ifdef wxABORT_ON_CONFIG_ERROR
463 # error "wxUSE_BMPBUTTON must be defined, please read comment near the top of this file."
464 # else
465 # define wxUSE_BMPBUTTON 0
466 # endif
467 #endif /* !defined(wxUSE_BMPBUTTON) */
468
469 #ifndef wxUSE_BUTTON
470 # ifdef wxABORT_ON_CONFIG_ERROR
471 # error "wxUSE_BUTTON must be defined, please read comment near the top of this file."
472 # else
473 # define wxUSE_BUTTON 0
474 # endif
475 #endif /* !defined(wxUSE_BUTTON) */
476
477 #ifndef wxUSE_CAIRO
478 # ifdef wxABORT_ON_CONFIG_ERROR
479 # error "wxUSE_CAIRO must be defined, please read comment near the top of this file."
480 # else
481 # define wxUSE_CAIRO 0
482 # endif
483 #endif /* !defined(wxUSE_CAIRO) */
484
485 #ifndef wxUSE_CALENDARCTRL
486 # ifdef wxABORT_ON_CONFIG_ERROR
487 # error "wxUSE_CALENDARCTRL must be defined, please read comment near the top of this file."
488 # else
489 # define wxUSE_CALENDARCTRL 0
490 # endif
491 #endif /* !defined(wxUSE_CALENDARCTRL) */
492
493 #ifndef wxUSE_CARET
494 # ifdef wxABORT_ON_CONFIG_ERROR
495 # error "wxUSE_CARET must be defined, please read comment near the top of this file."
496 # else
497 # define wxUSE_CARET 0
498 # endif
499 #endif /* !defined(wxUSE_CARET) */
500
501 #ifndef wxUSE_CHECKBOX
502 # ifdef wxABORT_ON_CONFIG_ERROR
503 # error "wxUSE_CHECKBOX must be defined, please read comment near the top of this file."
504 # else
505 # define wxUSE_CHECKBOX 0
506 # endif
507 #endif /* !defined(wxUSE_CHECKBOX) */
508
509 #ifndef wxUSE_CHECKLISTBOX
510 # ifdef wxABORT_ON_CONFIG_ERROR
511 # error "wxUSE_CHECKLISTBOX must be defined, please read comment near the top of this file."
512 # else
513 # define wxUSE_CHECKLISTBOX 0
514 # endif
515 #endif /* !defined(wxUSE_CHECKLISTBOX) */
516
517 #ifndef wxUSE_CHOICE
518 # ifdef wxABORT_ON_CONFIG_ERROR
519 # error "wxUSE_CHOICE must be defined, please read comment near the top of this file."
520 # else
521 # define wxUSE_CHOICE 0
522 # endif
523 #endif /* !defined(wxUSE_CHOICE) */
524
525 #ifndef wxUSE_CHOICEBOOK
526 # ifdef wxABORT_ON_CONFIG_ERROR
527 # error "wxUSE_CHOICEBOOK must be defined, please read comment near the top of this file."
528 # else
529 # define wxUSE_CHOICEBOOK 0
530 # endif
531 #endif /* !defined(wxUSE_CHOICEBOOK) */
532
533 #ifndef wxUSE_CHOICEDLG
534 # ifdef wxABORT_ON_CONFIG_ERROR
535 # error "wxUSE_CHOICEDLG must be defined, please read comment near the top of this file."
536 # else
537 # define wxUSE_CHOICEDLG 0
538 # endif
539 #endif /* !defined(wxUSE_CHOICEDLG) */
540
541 #ifndef wxUSE_CLIPBOARD
542 # ifdef wxABORT_ON_CONFIG_ERROR
543 # error "wxUSE_CLIPBOARD must be defined, please read comment near the top of this file."
544 # else
545 # define wxUSE_CLIPBOARD 0
546 # endif
547 #endif /* !defined(wxUSE_CLIPBOARD) */
548
549 #ifndef wxUSE_COLLPANE
550 # ifdef wxABORT_ON_CONFIG_ERROR
551 # error "wxUSE_COLLPANE must be defined, please read comment near the top of this file."
552 # else
553 # define wxUSE_COLLPANE 0
554 # endif
555 #endif /* !defined(wxUSE_COLLPANE) */
556
557 #ifndef wxUSE_COLOURDLG
558 # ifdef wxABORT_ON_CONFIG_ERROR
559 # error "wxUSE_COLOURDLG must be defined, please read comment near the top of this file."
560 # else
561 # define wxUSE_COLOURDLG 0
562 # endif
563 #endif /* !defined(wxUSE_COLOURDLG) */
564
565 #ifndef wxUSE_COLOURPICKERCTRL
566 # ifdef wxABORT_ON_CONFIG_ERROR
567 # error "wxUSE_COLOURPICKERCTRL must be defined, please read comment near the top of this file."
568 # else
569 # define wxUSE_COLOURPICKERCTRL 0
570 # endif
571 #endif /* !defined(wxUSE_COLOURPICKERCTRL) */
572
573 #ifndef wxUSE_COMBOBOX
574 # ifdef wxABORT_ON_CONFIG_ERROR
575 # error "wxUSE_COMBOBOX must be defined, please read comment near the top of this file."
576 # else
577 # define wxUSE_COMBOBOX 0
578 # endif
579 #endif /* !defined(wxUSE_COMBOBOX) */
580
581 #ifndef wxUSE_COMMANDLINKBUTTON
582 # ifdef wxABORT_ON_CONFIG_ERROR
583 # error "wxUSE_COMMANDLINKBUTTON must be defined, please read comment near the top of this file."
584 # else
585 # define wxUSE_COMMANDLINKBUTTON 0
586 # endif
587 #endif /* !defined(wxUSE_COMMANDLINKBUTTON) */
588
589 #ifndef wxUSE_COMBOCTRL
590 # ifdef wxABORT_ON_CONFIG_ERROR
591 # error "wxUSE_COMBOCTRL must be defined, please read comment near the top of this file."
592 # else
593 # define wxUSE_COMBOCTRL 0
594 # endif
595 #endif /* !defined(wxUSE_COMBOCTRL) */
596
597 #ifndef wxUSE_DATAOBJ
598 # ifdef wxABORT_ON_CONFIG_ERROR
599 # error "wxUSE_DATAOBJ must be defined, please read comment near the top of this file."
600 # else
601 # define wxUSE_DATAOBJ 0
602 # endif
603 #endif /* !defined(wxUSE_DATAOBJ) */
604
605 #ifndef wxUSE_DATAVIEWCTRL
606 # ifdef wxABORT_ON_CONFIG_ERROR
607 # error "wxUSE_DATAVIEWCTRL must be defined, please read comment near the top of this file."
608 # else
609 # define wxUSE_DATAVIEWCTRL 0
610 # endif
611 #endif /* !defined(wxUSE_DATAVIEWCTRL) */
612
613 #ifndef wxUSE_DATEPICKCTRL
614 # ifdef wxABORT_ON_CONFIG_ERROR
615 # error "wxUSE_DATEPICKCTRL must be defined, please read comment near the top of this file."
616 # else
617 # define wxUSE_DATEPICKCTRL 0
618 # endif
619 #endif /* !defined(wxUSE_DATEPICKCTRL) */
620
621 #ifndef wxUSE_DC_TRANSFORM_MATRIX
622 # ifdef wxABORT_ON_CONFIG_ERROR
623 # error "wxUSE_DC_TRANSFORM_MATRIX must be defined, please read comment near the top of this file."
624 # else
625 # define wxUSE_DC_TRANSFORM_MATRIX 1
626 # endif
627 #endif /* wxUSE_DC_TRANSFORM_MATRIX */
628
629 #ifndef wxUSE_DIRPICKERCTRL
630 # ifdef wxABORT_ON_CONFIG_ERROR
631 # error "wxUSE_DIRPICKERCTRL must be defined, please read comment near the top of this file."
632 # else
633 # define wxUSE_DIRPICKERCTRL 0
634 # endif
635 #endif /* !defined(wxUSE_DIRPICKERCTRL) */
636
637 #ifndef wxUSE_DISPLAY
638 # ifdef wxABORT_ON_CONFIG_ERROR
639 # error "wxUSE_DISPLAY must be defined, please read comment near the top of this file."
640 # else
641 # define wxUSE_DISPLAY 0
642 # endif
643 #endif /* !defined(wxUSE_DISPLAY) */
644
645 #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
646 # ifdef wxABORT_ON_CONFIG_ERROR
647 # error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined, please read comment near the top of this file."
648 # else
649 # define wxUSE_DOC_VIEW_ARCHITECTURE 0
650 # endif
651 #endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
652
653 #ifndef wxUSE_FILECTRL
654 # ifdef wxABORT_ON_CONFIG_ERROR
655 # error "wxUSE_FILECTRL must be defined, please read comment near the top of this file."
656 # else
657 # define wxUSE_FILECTRL 0
658 # endif
659 #endif /* !defined(wxUSE_FILECTRL) */
660
661 #ifndef wxUSE_FILEDLG
662 # ifdef wxABORT_ON_CONFIG_ERROR
663 # error "wxUSE_FILEDLG must be defined, please read comment near the top of this file."
664 # else
665 # define wxUSE_FILEDLG 0
666 # endif
667 #endif /* !defined(wxUSE_FILEDLG) */
668
669 #ifndef wxUSE_FILEPICKERCTRL
670 # ifdef wxABORT_ON_CONFIG_ERROR
671 # error "wxUSE_FILEPICKERCTRL must be defined, please read comment near the top of this file."
672 # else
673 # define wxUSE_FILEPICKERCTRL 0
674 # endif
675 #endif /* !defined(wxUSE_FILEPICKERCTRL) */
676
677 #ifndef wxUSE_FONTDLG
678 # ifdef wxABORT_ON_CONFIG_ERROR
679 # error "wxUSE_FONTDLG must be defined, please read comment near the top of this file."
680 # else
681 # define wxUSE_FONTDLG 0
682 # endif
683 #endif /* !defined(wxUSE_FONTDLG) */
684
685 #ifndef wxUSE_FONTMAP
686 # ifdef wxABORT_ON_CONFIG_ERROR
687 # error "wxUSE_FONTMAP must be defined, please read comment near the top of this file."
688 # else
689 # define wxUSE_FONTMAP 0
690 # endif
691 #endif /* !defined(wxUSE_FONTMAP) */
692
693 #ifndef wxUSE_FONTPICKERCTRL
694 # ifdef wxABORT_ON_CONFIG_ERROR
695 # error "wxUSE_FONTPICKERCTRL must be defined, please read comment near the top of this file."
696 # else
697 # define wxUSE_FONTPICKERCTRL 0
698 # endif
699 #endif /* !defined(wxUSE_FONTPICKERCTRL) */
700
701 #ifndef wxUSE_GAUGE
702 # ifdef wxABORT_ON_CONFIG_ERROR
703 # error "wxUSE_GAUGE must be defined, please read comment near the top of this file."
704 # else
705 # define wxUSE_GAUGE 0
706 # endif
707 #endif /* !defined(wxUSE_GAUGE) */
708
709 #ifndef wxUSE_GRAPHICS_CONTEXT
710 # ifdef wxABORT_ON_CONFIG_ERROR
711 # error "wxUSE_GRAPHICS_CONTEXT must be defined, please read comment near the top of this file."
712 # else
713 # define wxUSE_GRAPHICS_CONTEXT 0
714 # endif
715 #endif /* !defined(wxUSE_GRAPHICS_CONTEXT) */
716
717
718 #ifndef wxUSE_GRID
719 # ifdef wxABORT_ON_CONFIG_ERROR
720 # error "wxUSE_GRID must be defined, please read comment near the top of this file."
721 # else
722 # define wxUSE_GRID 0
723 # endif
724 #endif /* !defined(wxUSE_GRID) */
725
726 #ifndef wxUSE_HEADERCTRL
727 # ifdef wxABORT_ON_CONFIG_ERROR
728 # error "wxUSE_HEADERCTRL must be defined, please read comment near the top of this file."
729 # else
730 # define wxUSE_HEADERCTRL 0
731 # endif
732 #endif /* !defined(wxUSE_HEADERCTRL) */
733
734 #ifndef wxUSE_HELP
735 # ifdef wxABORT_ON_CONFIG_ERROR
736 # error "wxUSE_HELP must be defined, please read comment near the top of this file."
737 # else
738 # define wxUSE_HELP 0
739 # endif
740 #endif /* !defined(wxUSE_HELP) */
741
742 #ifndef wxUSE_HYPERLINKCTRL
743 # ifdef wxABORT_ON_CONFIG_ERROR
744 # error "wxUSE_HYPERLINKCTRL must be defined, please read comment near the top of this file."
745 # else
746 # define wxUSE_HYPERLINKCTRL 0
747 # endif
748 #endif /* !defined(wxUSE_HYPERLINKCTRL) */
749
750 #ifndef wxUSE_HTML
751 # ifdef wxABORT_ON_CONFIG_ERROR
752 # error "wxUSE_HTML must be defined, please read comment near the top of this file."
753 # else
754 # define wxUSE_HTML 0
755 # endif
756 #endif /* !defined(wxUSE_HTML) */
757
758 #ifndef wxUSE_LIBMSPACK
759 # if !defined(__UNIX__)
760 /* set to 0 on platforms that don't have libmspack */
761 # define wxUSE_LIBMSPACK 0
762 # else
763 # ifdef wxABORT_ON_CONFIG_ERROR
764 # error "wxUSE_LIBMSPACK must be defined, please read comment near the top of this file."
765 # else
766 # define wxUSE_LIBMSPACK 0
767 # endif
768 # endif
769 #endif /* !defined(wxUSE_LIBMSPACK) */
770
771 #ifndef wxUSE_ICO_CUR
772 # ifdef wxABORT_ON_CONFIG_ERROR
773 # error "wxUSE_ICO_CUR must be defined, please read comment near the top of this file."
774 # else
775 # define wxUSE_ICO_CUR 0
776 # endif
777 #endif /* !defined(wxUSE_ICO_CUR) */
778
779 #ifndef wxUSE_IFF
780 # ifdef wxABORT_ON_CONFIG_ERROR
781 # error "wxUSE_IFF must be defined, please read comment near the top of this file."
782 # else
783 # define wxUSE_IFF 0
784 # endif
785 #endif /* !defined(wxUSE_IFF) */
786
787 #ifndef wxUSE_IMAGLIST
788 # ifdef wxABORT_ON_CONFIG_ERROR
789 # error "wxUSE_IMAGLIST must be defined, please read comment near the top of this file."
790 # else
791 # define wxUSE_IMAGLIST 0
792 # endif
793 #endif /* !defined(wxUSE_IMAGLIST) */
794
795 #ifndef wxUSE_INFOBAR
796 # ifdef wxABORT_ON_CONFIG_ERROR
797 # error "wxUSE_INFOBAR must be defined, please read comment near the top of this file."
798 # else
799 # define wxUSE_INFOBAR 0
800 # endif
801 #endif /* !defined(wxUSE_INFOBAR) */
802
803 #ifndef wxUSE_JOYSTICK
804 # ifdef wxABORT_ON_CONFIG_ERROR
805 # error "wxUSE_JOYSTICK must be defined, please read comment near the top of this file."
806 # else
807 # define wxUSE_JOYSTICK 0
808 # endif
809 #endif /* !defined(wxUSE_JOYSTICK) */
810
811 #ifndef wxUSE_LISTBOOK
812 # ifdef wxABORT_ON_CONFIG_ERROR
813 # error "wxUSE_LISTBOOK must be defined, please read comment near the top of this file."
814 # else
815 # define wxUSE_LISTBOOK 0
816 # endif
817 #endif /* !defined(wxUSE_LISTBOOK) */
818
819 #ifndef wxUSE_LISTBOX
820 # ifdef wxABORT_ON_CONFIG_ERROR
821 # error "wxUSE_LISTBOX must be defined, please read comment near the top of this file."
822 # else
823 # define wxUSE_LISTBOX 0
824 # endif
825 #endif /* !defined(wxUSE_LISTBOX) */
826
827 #ifndef wxUSE_LISTCTRL
828 # ifdef wxABORT_ON_CONFIG_ERROR
829 # error "wxUSE_LISTCTRL must be defined, please read comment near the top of this file."
830 # else
831 # define wxUSE_LISTCTRL 0
832 # endif
833 #endif /* !defined(wxUSE_LISTCTRL) */
834
835 #ifndef wxUSE_LOGGUI
836 # ifdef wxABORT_ON_CONFIG_ERROR
837 # error "wxUSE_LOGGUI must be defined, please read comment near the top of this file."
838 # else
839 # define wxUSE_LOGGUI 0
840 # endif
841 #endif /* !defined(wxUSE_LOGGUI) */
842
843 #ifndef wxUSE_LOGWINDOW
844 # ifdef wxABORT_ON_CONFIG_ERROR
845 # error "wxUSE_LOGWINDOW must be defined, please read comment near the top of this file."
846 # else
847 # define wxUSE_LOGWINDOW 0
848 # endif
849 #endif /* !defined(wxUSE_LOGWINDOW) */
850
851 #ifndef wxUSE_LOG_DIALOG
852 # ifdef wxABORT_ON_CONFIG_ERROR
853 # error "wxUSE_LOG_DIALOG must be defined, please read comment near the top of this file."
854 # else
855 # define wxUSE_LOG_DIALOG 0
856 # endif
857 #endif /* !defined(wxUSE_LOG_DIALOG) */
858
859 #ifndef wxUSE_MARKUP
860 # ifdef wxABORT_ON_CONFIG_ERROR
861 # error "wxUSE_MARKUP must be defined, please read comment near the top of this file."
862 # else
863 # define wxUSE_MARKUP 0
864 # endif
865 #endif /* !defined(wxUSE_MARKUP) */
866
867 #ifndef wxUSE_MDI
868 # ifdef wxABORT_ON_CONFIG_ERROR
869 # error "wxUSE_MDI must be defined, please read comment near the top of this file."
870 # else
871 # define wxUSE_MDI 0
872 # endif
873 #endif /* !defined(wxUSE_MDI) */
874
875 #ifndef wxUSE_MDI_ARCHITECTURE
876 # ifdef wxABORT_ON_CONFIG_ERROR
877 # error "wxUSE_MDI_ARCHITECTURE must be defined, please read comment near the top of this file."
878 # else
879 # define wxUSE_MDI_ARCHITECTURE 0
880 # endif
881 #endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
882
883 #ifndef wxUSE_MENUS
884 # ifdef wxABORT_ON_CONFIG_ERROR
885 # error "wxUSE_MENUS must be defined, please read comment near the top of this file."
886 # else
887 # define wxUSE_MENUS 0
888 # endif
889 #endif /* !defined(wxUSE_MENUS) */
890
891 #ifndef wxUSE_MSGDLG
892 # ifdef wxABORT_ON_CONFIG_ERROR
893 # error "wxUSE_MSGDLG must be defined, please read comment near the top of this file."
894 # else
895 # define wxUSE_MSGDLG 0
896 # endif
897 #endif /* !defined(wxUSE_MSGDLG) */
898
899 #ifndef wxUSE_NOTEBOOK
900 # ifdef wxABORT_ON_CONFIG_ERROR
901 # error "wxUSE_NOTEBOOK must be defined, please read comment near the top of this file."
902 # else
903 # define wxUSE_NOTEBOOK 0
904 # endif
905 #endif /* !defined(wxUSE_NOTEBOOK) */
906
907 #ifndef wxUSE_NOTIFICATION_MESSAGE
908 # ifdef wxABORT_ON_CONFIG_ERROR
909 # error "wxUSE_NOTIFICATION_MESSAGE must be defined, please read comment near the top of this file."
910 # else
911 # define wxUSE_NOTIFICATION_MESSAGE 0
912 # endif
913 #endif /* !defined(wxUSE_NOTIFICATION_MESSAGE) */
914
915 #ifndef wxUSE_ODCOMBOBOX
916 # ifdef wxABORT_ON_CONFIG_ERROR
917 # error "wxUSE_ODCOMBOBOX must be defined, please read comment near the top of this file."
918 # else
919 # define wxUSE_ODCOMBOBOX 0
920 # endif
921 #endif /* !defined(wxUSE_ODCOMBOBOX) */
922
923 #ifndef wxUSE_PALETTE
924 # ifdef wxABORT_ON_CONFIG_ERROR
925 # error "wxUSE_PALETTE must be defined, please read comment near the top of this file."
926 # else
927 # define wxUSE_PALETTE 0
928 # endif
929 #endif /* !defined(wxUSE_PALETTE) */
930
931 #ifndef wxUSE_POPUPWIN
932 # ifdef wxABORT_ON_CONFIG_ERROR
933 # error "wxUSE_POPUPWIN must be defined, please read comment near the top of this file."
934 # else
935 # define wxUSE_POPUPWIN 0
936 # endif
937 #endif /* !defined(wxUSE_POPUPWIN) */
938
939 #ifndef wxUSE_PREFERENCES_EDITOR
940 # ifdef wxABORT_ON_CONFIG_ERROR
941 # error "wxUSE_PREFERENCES_EDITOR must be defined, please read comment near the top of this file."
942 # else
943 # define wxUSE_PREFERENCES_EDITOR 0
944 # endif
945 #endif /* !defined(wxUSE_PREFERENCES_EDITOR) */
946
947 #ifndef wxUSE_PRINTING_ARCHITECTURE
948 # ifdef wxABORT_ON_CONFIG_ERROR
949 # error "wxUSE_PRINTING_ARCHITECTURE must be defined, please read comment near the top of this file."
950 # else
951 # define wxUSE_PRINTING_ARCHITECTURE 0
952 # endif
953 #endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
954
955 #ifndef wxUSE_RADIOBOX
956 # ifdef wxABORT_ON_CONFIG_ERROR
957 # error "wxUSE_RADIOBOX must be defined, please read comment near the top of this file."
958 # else
959 # define wxUSE_RADIOBOX 0
960 # endif
961 #endif /* !defined(wxUSE_RADIOBOX) */
962
963 #ifndef wxUSE_RADIOBTN
964 # ifdef wxABORT_ON_CONFIG_ERROR
965 # error "wxUSE_RADIOBTN must be defined, please read comment near the top of this file."
966 # else
967 # define wxUSE_RADIOBTN 0
968 # endif
969 #endif /* !defined(wxUSE_RADIOBTN) */
970
971 #ifndef wxUSE_REARRANGECTRL
972 # ifdef wxABORT_ON_CONFIG_ERROR
973 # error "wxUSE_REARRANGECTRL must be defined, please read comment near the top of this file."
974 # else
975 # define wxUSE_REARRANGECTRL 0
976 # endif
977 #endif /* !defined(wxUSE_REARRANGECTRL) */
978
979 #ifndef wxUSE_RIBBON
980 # ifdef wxABORT_ON_CONFIG_ERROR
981 # error "wxUSE_RIBBON must be defined, please read comment near the top of this file."
982 # else
983 # define wxUSE_RIBBON 0
984 # endif
985 #endif /* !defined(wxUSE_RIBBON) */
986
987 #ifndef wxUSE_RICHMSGDLG
988 # ifdef wxABORT_ON_CONFIG_ERROR
989 # error "wxUSE_RICHMSGDLG must be defined, please read comment near the top of this file."
990 # else
991 # define wxUSE_RICHMSGDLG 0
992 # endif
993 #endif /* !defined(wxUSE_RICHMSGDLG) */
994
995 #ifndef wxUSE_RICHTOOLTIP
996 # ifdef wxABORT_ON_CONFIG_ERROR
997 # error "wxUSE_RICHTOOLTIP must be defined, please read comment near the top of this file."
998 # else
999 # define wxUSE_RICHTOOLTIP 0
1000 # endif
1001 #endif /* !defined(wxUSE_RICHTOOLTIP) */
1002
1003 #ifndef wxUSE_SASH
1004 # ifdef wxABORT_ON_CONFIG_ERROR
1005 # error "wxUSE_SASH must be defined, please read comment near the top of this file."
1006 # else
1007 # define wxUSE_SASH 0
1008 # endif
1009 #endif /* !defined(wxUSE_SASH) */
1010
1011 #ifndef wxUSE_SCROLLBAR
1012 # ifdef wxABORT_ON_CONFIG_ERROR
1013 # error "wxUSE_SCROLLBAR must be defined, please read comment near the top of this file."
1014 # else
1015 # define wxUSE_SCROLLBAR 0
1016 # endif
1017 #endif /* !defined(wxUSE_SCROLLBAR) */
1018
1019 #ifndef wxUSE_SLIDER
1020 # ifdef wxABORT_ON_CONFIG_ERROR
1021 # error "wxUSE_SLIDER must be defined, please read comment near the top of this file."
1022 # else
1023 # define wxUSE_SLIDER 0
1024 # endif
1025 #endif /* !defined(wxUSE_SLIDER) */
1026
1027 #ifndef wxUSE_SOUND
1028 # ifdef wxABORT_ON_CONFIG_ERROR
1029 # error "wxUSE_SOUND must be defined, please read comment near the top of this file."
1030 # else
1031 # define wxUSE_SOUND 0
1032 # endif
1033 #endif /* !defined(wxUSE_SOUND) */
1034
1035 #ifndef wxUSE_SPINBTN
1036 # ifdef wxABORT_ON_CONFIG_ERROR
1037 # error "wxUSE_SPINBTN must be defined, please read comment near the top of this file."
1038 # else
1039 # define wxUSE_SPINBTN 0
1040 # endif
1041 #endif /* !defined(wxUSE_SPINBTN) */
1042
1043 #ifndef wxUSE_SPINCTRL
1044 # ifdef wxABORT_ON_CONFIG_ERROR
1045 # error "wxUSE_SPINCTRL must be defined, please read comment near the top of this file."
1046 # else
1047 # define wxUSE_SPINCTRL 0
1048 # endif
1049 #endif /* !defined(wxUSE_SPINCTRL) */
1050
1051 #ifndef wxUSE_SPLASH
1052 # ifdef wxABORT_ON_CONFIG_ERROR
1053 # error "wxUSE_SPLASH must be defined, please read comment near the top of this file."
1054 # else
1055 # define wxUSE_SPLASH 0
1056 # endif
1057 #endif /* !defined(wxUSE_SPLASH) */
1058
1059 #ifndef wxUSE_SPLITTER
1060 # ifdef wxABORT_ON_CONFIG_ERROR
1061 # error "wxUSE_SPLITTER must be defined, please read comment near the top of this file."
1062 # else
1063 # define wxUSE_SPLITTER 0
1064 # endif
1065 #endif /* !defined(wxUSE_SPLITTER) */
1066
1067 #ifndef wxUSE_STATBMP
1068 # ifdef wxABORT_ON_CONFIG_ERROR
1069 # error "wxUSE_STATBMP must be defined, please read comment near the top of this file."
1070 # else
1071 # define wxUSE_STATBMP 0
1072 # endif
1073 #endif /* !defined(wxUSE_STATBMP) */
1074
1075 #ifndef wxUSE_STATBOX
1076 # ifdef wxABORT_ON_CONFIG_ERROR
1077 # error "wxUSE_STATBOX must be defined, please read comment near the top of this file."
1078 # else
1079 # define wxUSE_STATBOX 0
1080 # endif
1081 #endif /* !defined(wxUSE_STATBOX) */
1082
1083 #ifndef wxUSE_STATLINE
1084 # ifdef wxABORT_ON_CONFIG_ERROR
1085 # error "wxUSE_STATLINE must be defined, please read comment near the top of this file."
1086 # else
1087 # define wxUSE_STATLINE 0
1088 # endif
1089 #endif /* !defined(wxUSE_STATLINE) */
1090
1091 #ifndef wxUSE_STATTEXT
1092 # ifdef wxABORT_ON_CONFIG_ERROR
1093 # error "wxUSE_STATTEXT must be defined, please read comment near the top of this file."
1094 # else
1095 # define wxUSE_STATTEXT 0
1096 # endif
1097 #endif /* !defined(wxUSE_STATTEXT) */
1098
1099 #ifndef wxUSE_STATUSBAR
1100 # ifdef wxABORT_ON_CONFIG_ERROR
1101 # error "wxUSE_STATUSBAR must be defined, please read comment near the top of this file."
1102 # else
1103 # define wxUSE_STATUSBAR 0
1104 # endif
1105 #endif /* !defined(wxUSE_STATUSBAR) */
1106
1107 #ifndef wxUSE_TASKBARICON
1108 # ifdef wxABORT_ON_CONFIG_ERROR
1109 # error "wxUSE_TASKBARICON must be defined, please read comment near the top of this file."
1110 # else
1111 # define wxUSE_TASKBARICON 0
1112 # endif
1113 #endif /* !defined(wxUSE_TASKBARICON) */
1114
1115 #ifndef wxUSE_TEXTCTRL
1116 # ifdef wxABORT_ON_CONFIG_ERROR
1117 # error "wxUSE_TEXTCTRL must be defined, please read comment near the top of this file."
1118 # else
1119 # define wxUSE_TEXTCTRL 0
1120 # endif
1121 #endif /* !defined(wxUSE_TEXTCTRL) */
1122
1123 #ifndef wxUSE_TIMEPICKCTRL
1124 # ifdef wxABORT_ON_CONFIG_ERROR
1125 # error "wxUSE_TIMEPICKCTRL must be defined, please read comment near the top of this file."
1126 # else
1127 # define wxUSE_TIMEPICKCTRL 0
1128 # endif
1129 #endif /* !defined(wxUSE_TIMEPICKCTRL) */
1130
1131 #ifndef wxUSE_TIPWINDOW
1132 # ifdef wxABORT_ON_CONFIG_ERROR
1133 # error "wxUSE_TIPWINDOW must be defined, please read comment near the top of this file."
1134 # else
1135 # define wxUSE_TIPWINDOW 0
1136 # endif
1137 #endif /* !defined(wxUSE_TIPWINDOW) */
1138
1139 #ifndef wxUSE_TOOLBAR
1140 # ifdef wxABORT_ON_CONFIG_ERROR
1141 # error "wxUSE_TOOLBAR must be defined, please read comment near the top of this file."
1142 # else
1143 # define wxUSE_TOOLBAR 0
1144 # endif
1145 #endif /* !defined(wxUSE_TOOLBAR) */
1146
1147 #ifndef wxUSE_TOOLTIPS
1148 # ifdef wxABORT_ON_CONFIG_ERROR
1149 # error "wxUSE_TOOLTIPS must be defined, please read comment near the top of this file."
1150 # else
1151 # define wxUSE_TOOLTIPS 0
1152 # endif
1153 #endif /* !defined(wxUSE_TOOLTIPS) */
1154
1155 #ifndef wxUSE_TREECTRL
1156 # ifdef wxABORT_ON_CONFIG_ERROR
1157 # error "wxUSE_TREECTRL must be defined, please read comment near the top of this file."
1158 # else
1159 # define wxUSE_TREECTRL 0
1160 # endif
1161 #endif /* !defined(wxUSE_TREECTRL) */
1162
1163 #ifndef wxUSE_TREELISTCTRL
1164 # ifdef wxABORT_ON_CONFIG_ERROR
1165 # error "wxUSE_TREELISTCTRL must be defined, please read comment near the top of this file."
1166 # else
1167 # define wxUSE_TREELISTCTRL 0
1168 # endif
1169 #endif /* !defined(wxUSE_TREELISTCTRL) */
1170
1171 #ifndef wxUSE_UIACTIONSIMULATOR
1172 # ifdef wxABORT_ON_CONFIG_ERROR
1173 # error "wxUSE_UIACTIONSIMULATOR must be defined, please read comment near the top of this file."
1174 # else
1175 # define wxUSE_UIACTIONSIMULATOR 0
1176 # endif
1177 #endif /* !defined(wxUSE_UIACTIONSIMULATOR) */
1178
1179 #ifndef wxUSE_VALIDATORS
1180 # ifdef wxABORT_ON_CONFIG_ERROR
1181 # error "wxUSE_VALIDATORS must be defined, please read comment near the top of this file."
1182 # else
1183 # define wxUSE_VALIDATORS 0
1184 # endif
1185 #endif /* !defined(wxUSE_VALIDATORS) */
1186
1187 #ifndef wxUSE_WEBVIEW
1188 # ifdef wxABORT_ON_CONFIG_ERROR
1189 # error "wxUSE_WEBVIEW must be defined, please read comment near the top of this file."
1190 # else
1191 # define wxUSE_WEBVIEW 0
1192 # endif
1193 #endif /* !defined(wxUSE_WEBVIEW) */
1194
1195 #ifndef wxUSE_WXHTML_HELP
1196 # ifdef wxABORT_ON_CONFIG_ERROR
1197 # error "wxUSE_WXHTML_HELP must be defined, please read comment near the top of this file."
1198 # else
1199 # define wxUSE_WXHTML_HELP 0
1200 # endif
1201 #endif /* !defined(wxUSE_WXHTML_HELP) */
1202
1203 #ifndef wxUSE_XRC
1204 # ifdef wxABORT_ON_CONFIG_ERROR
1205 # error "wxUSE_XRC must be defined, please read comment near the top of this file."
1206 # else
1207 # define wxUSE_XRC 0
1208 # endif
1209 #endif /* !defined(wxUSE_XRC) */
1210
1211 #endif /* wxUSE_GUI */
1212
1213 /*
1214 Section 2: platform-specific checks.
1215
1216 This must be done after checking that everything is defined as the platform
1217 checks use wxUSE_XXX symbols in #if tests.
1218 */
1219
1220 #if defined(__WXWINCE__)
1221 # include "wx/msw/wince/chkconf.h"
1222 #elif defined(__WINDOWS__)
1223 # include "wx/msw/chkconf.h"
1224 # if defined(__WXGTK__)
1225 # include "wx/gtk/chkconf.h"
1226 # endif
1227 #elif defined(__WXGTK__)
1228 # include "wx/gtk/chkconf.h"
1229 #elif defined(__WXCOCOA__)
1230 # include "wx/cocoa/chkconf.h"
1231 #elif defined(__WXMAC__)
1232 # include "wx/osx/chkconf.h"
1233 #elif defined(__OS2__)
1234 # include "wx/os2/chkconf.h"
1235 #elif defined(__WXDFB__)
1236 # include "wx/dfb/chkconf.h"
1237 #elif defined(__WXMOTIF__)
1238 # include "wx/motif/chkconf.h"
1239 #elif defined(__WXX11__)
1240 # include "wx/x11/chkconf.h"
1241 #elif defined(__WXANDROID__)
1242 # include "wx/android/chkconf.h"
1243 #endif
1244
1245 /*
1246 __UNIX__ is also defined under Cygwin but we shouldn't perform these checks
1247 there if we're building Windows ports.
1248 */
1249 #if defined(__UNIX__) && !defined(__WINDOWS__)
1250 # include "wx/unix/chkconf.h"
1251 #endif
1252
1253 #ifdef __WXUNIVERSAL__
1254 # include "wx/univ/chkconf.h"
1255 #endif
1256
1257 /*
1258 Section 3a: check consistency of the non-GUI settings.
1259 */
1260
1261 #if WXWIN_COMPATIBILITY_2_6
1262 # if !WXWIN_COMPATIBILITY_2_8
1263 # ifdef wxABORT_ON_CONFIG_ERROR
1264 # error "2.6.X compatibility requires 2.8.X compatibility"
1265 # else
1266 # undef WXWIN_COMPATIBILITY_2_8
1267 # define WXWIN_COMPATIBILITY_2_8 1
1268 # endif
1269 # endif
1270 #endif /* WXWIN_COMPATIBILITY_2_6 */
1271
1272 #if wxUSE_ARCHIVE_STREAMS
1273 # if !wxUSE_DATETIME
1274 # ifdef wxABORT_ON_CONFIG_ERROR
1275 # error "wxArchive requires wxUSE_DATETIME"
1276 # else
1277 # undef wxUSE_ARCHIVE_STREAMS
1278 # define wxUSE_ARCHIVE_STREAMS 0
1279 # endif
1280 # endif
1281 #endif /* wxUSE_ARCHIVE_STREAMS */
1282
1283 #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
1284 # if !wxUSE_PROTOCOL
1285 # ifdef wxABORT_ON_CONFIG_ERROR
1286 # error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
1287 # else
1288 # undef wxUSE_PROTOCOL
1289 # define wxUSE_PROTOCOL 1
1290 # endif
1291 # endif
1292 #endif /* wxUSE_PROTOCOL_XXX */
1293
1294 #if wxUSE_URL
1295 # if !wxUSE_PROTOCOL
1296 # ifdef wxABORT_ON_CONFIG_ERROR
1297 # error "wxUSE_URL requires wxUSE_PROTOCOL"
1298 # else
1299 # undef wxUSE_PROTOCOL
1300 # define wxUSE_PROTOCOL 1
1301 # endif
1302 # endif
1303 #endif /* wxUSE_URL */
1304
1305 #if wxUSE_PROTOCOL
1306 # if !wxUSE_SOCKETS
1307 # if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
1308 # ifdef wxABORT_ON_CONFIG_ERROR
1309 # error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
1310 # else
1311 # undef wxUSE_SOCKETS
1312 # define wxUSE_SOCKETS 1
1313 # endif
1314 # endif
1315 # endif
1316
1317 # if !wxUSE_STREAMS
1318 # ifdef wxABORT_ON_CONFIG_ERROR
1319 # error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
1320 # else
1321 # undef wxUSE_STREAMS
1322 # define wxUSE_STREAMS 1
1323 # endif
1324 # endif
1325 #endif /* wxUSE_PROTOCOL */
1326
1327 /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
1328 #if wxUSE_HTML
1329 # if !wxUSE_FILESYSTEM
1330 # ifdef wxABORT_ON_CONFIG_ERROR
1331 # error "wxHTML requires wxFileSystem"
1332 # else
1333 # undef wxUSE_FILESYSTEM
1334 # define wxUSE_FILESYSTEM 1
1335 # endif
1336 # endif
1337 #endif /* wxUSE_HTML */
1338
1339 #if wxUSE_FS_ARCHIVE
1340 # if !wxUSE_FILESYSTEM
1341 # ifdef wxABORT_ON_CONFIG_ERROR
1342 # error "wxArchiveFSHandler requires wxFileSystem"
1343 # else
1344 # undef wxUSE_FILESYSTEM
1345 # define wxUSE_FILESYSTEM 1
1346 # endif
1347 # endif
1348 # if !wxUSE_ARCHIVE_STREAMS
1349 # ifdef wxABORT_ON_CONFIG_ERROR
1350 # error "wxArchiveFSHandler requires wxArchive"
1351 # else
1352 # undef wxUSE_ARCHIVE_STREAMS
1353 # define wxUSE_ARCHIVE_STREAMS 1
1354 # endif
1355 # endif
1356 #endif /* wxUSE_FS_ARCHIVE */
1357
1358 #if wxUSE_FILESYSTEM
1359 # if !wxUSE_STREAMS
1360 # ifdef wxABORT_ON_CONFIG_ERROR
1361 # error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
1362 # else
1363 # undef wxUSE_STREAMS
1364 # define wxUSE_STREAMS 1
1365 # endif
1366 # endif
1367 # if !wxUSE_FILE && !wxUSE_FFILE
1368 # ifdef wxABORT_ON_CONFIG_ERROR
1369 # error "wxUSE_FILESYSTEM requires either wxUSE_FILE or wxUSE_FFILE"
1370 # else
1371 # undef wxUSE_FILE
1372 # define wxUSE_FILE 1
1373 # undef wxUSE_FFILE
1374 # define wxUSE_FFILE 1
1375 # endif
1376 # endif
1377 #endif /* wxUSE_FILESYSTEM */
1378
1379 #if wxUSE_FS_INET
1380 # if !wxUSE_PROTOCOL
1381 # ifdef wxABORT_ON_CONFIG_ERROR
1382 # error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
1383 # else
1384 # undef wxUSE_PROTOCOL
1385 # define wxUSE_PROTOCOL 1
1386 # endif
1387 # endif
1388 #endif /* wxUSE_FS_INET */
1389
1390 #if wxUSE_STOPWATCH || wxUSE_DATETIME
1391 # if !wxUSE_LONGLONG
1392 # ifdef wxABORT_ON_CONFIG_ERROR
1393 # error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
1394 # else
1395 # undef wxUSE_LONGLONG
1396 # define wxUSE_LONGLONG 1
1397 # endif
1398 # endif
1399 #endif /* wxUSE_STOPWATCH */
1400
1401 #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
1402 # ifdef wxABORT_ON_CONFIG_ERROR
1403 # error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
1404 # else
1405 # undef wxUSE_TEXTFILE
1406 # define wxUSE_TEXTFILE 1
1407 # endif
1408 #endif /* wxUSE_MIMETYPE */
1409
1410 #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
1411 # ifdef wxABORT_ON_CONFIG_ERROR
1412 # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
1413 # else
1414 # undef wxUSE_TEXTBUFFER
1415 # define wxUSE_TEXTBUFFER 1
1416 # endif
1417 #endif /* wxUSE_TEXTFILE */
1418
1419 #if wxUSE_TEXTFILE && !wxUSE_FILE
1420 # ifdef wxABORT_ON_CONFIG_ERROR
1421 # error "wxUSE_TEXTFILE requires wxUSE_FILE"
1422 # else
1423 # undef wxUSE_FILE
1424 # define wxUSE_FILE 1
1425 # endif
1426 #endif /* wxUSE_TEXTFILE */
1427
1428 #if !wxUSE_DYNLIB_CLASS
1429 # if wxUSE_DYNAMIC_LOADER
1430 # ifdef wxABORT_ON_CONFIG_ERROR
1431 # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
1432 # else
1433 # define wxUSE_DYNLIB_CLASS 1
1434 # endif
1435 # endif
1436 #endif /* wxUSE_DYNLIB_CLASS */
1437
1438 #if wxUSE_ZIPSTREAM
1439 # if !wxUSE_ZLIB
1440 # ifdef wxABORT_ON_CONFIG_ERROR
1441 # error "wxZip requires wxZlib"
1442 # else
1443 # undef wxUSE_ZLIB
1444 # define wxUSE_ZLIB 1
1445 # endif
1446 # endif
1447 # if !wxUSE_ARCHIVE_STREAMS
1448 # ifdef wxABORT_ON_CONFIG_ERROR
1449 # error "wxZip requires wxArchive"
1450 # else
1451 # undef wxUSE_ARCHIVE_STREAMS
1452 # define wxUSE_ARCHIVE_STREAMS 1
1453 # endif
1454 # endif
1455 #endif /* wxUSE_ZIPSTREAM */
1456
1457 #if wxUSE_TARSTREAM
1458 # if !wxUSE_ARCHIVE_STREAMS
1459 # ifdef wxABORT_ON_CONFIG_ERROR
1460 # error "wxTar requires wxArchive"
1461 # else
1462 # undef wxUSE_ARCHIVE_STREAMS
1463 # define wxUSE_ARCHIVE_STREAMS 1
1464 # endif
1465 # endif
1466 #endif /* wxUSE_TARSTREAM */
1467
1468 /*
1469 Section 3b: the tests for the GUI settings only.
1470 */
1471 #if wxUSE_GUI
1472
1473 #if wxUSE_ACCESSIBILITY && !defined(__WXMSW__)
1474 # ifdef wxABORT_ON_CONFIG_ERROR
1475 # error "wxUSE_ACCESSIBILITY is currently only supported under wxMSW"
1476 # else
1477 # undef wxUSE_ACCESSIBILITY
1478 # define wxUSE_ACCESSIBILITY 0
1479 # endif
1480 #endif /* wxUSE_ACCESSIBILITY */
1481
1482 #if wxUSE_BUTTON || \
1483 wxUSE_CALENDARCTRL || \
1484 wxUSE_CARET || \
1485 wxUSE_COMBOBOX || \
1486 wxUSE_BMPBUTTON || \
1487 wxUSE_CHECKBOX || \
1488 wxUSE_CHECKLISTBOX || \
1489 wxUSE_CHOICE || \
1490 wxUSE_GAUGE || \
1491 wxUSE_GRID || \
1492 wxUSE_HEADERCTRL || \
1493 wxUSE_LISTBOX || \
1494 wxUSE_LISTCTRL || \
1495 wxUSE_NOTEBOOK || \
1496 wxUSE_RADIOBOX || \
1497 wxUSE_RADIOBTN || \
1498 wxUSE_REARRANGECTRL || \
1499 wxUSE_SCROLLBAR || \
1500 wxUSE_SLIDER || \
1501 wxUSE_SPINBTN || \
1502 wxUSE_SPINCTRL || \
1503 wxUSE_STATBMP || \
1504 wxUSE_STATBOX || \
1505 wxUSE_STATLINE || \
1506 wxUSE_STATTEXT || \
1507 wxUSE_STATUSBAR || \
1508 wxUSE_TEXTCTRL || \
1509 wxUSE_TOOLBAR || \
1510 wxUSE_TREECTRL || \
1511 wxUSE_TREELISTCTRL
1512 # if !wxUSE_CONTROLS
1513 # ifdef wxABORT_ON_CONFIG_ERROR
1514 # error "wxUSE_CONTROLS unset but some controls used"
1515 # else
1516 # undef wxUSE_CONTROLS
1517 # define wxUSE_CONTROLS 1
1518 # endif
1519 # endif
1520 #endif /* controls */
1521
1522 #if wxUSE_BMPBUTTON
1523 # if !wxUSE_BUTTON
1524 # ifdef wxABORT_ON_CONFIG_ERROR
1525 # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
1526 # else
1527 # undef wxUSE_BUTTON
1528 # define wxUSE_BUTTON 1
1529 # endif
1530 # endif
1531 #endif /* wxUSE_BMPBUTTON */
1532
1533 #if wxUSE_COMMANDLINKBUTTON
1534 # if !wxUSE_BUTTON
1535 # ifdef wxABORT_ON_CONFIG_ERROR
1536 # error "wxUSE_COMMANDLINKBUTTON requires wxUSE_BUTTON"
1537 # else
1538 # undef wxUSE_BUTTON
1539 # define wxUSE_BUTTON 1
1540 # endif
1541 # endif
1542 #endif /* wxUSE_COMMANDLINKBUTTON */
1543
1544 /*
1545 wxUSE_BOOKCTRL should be only used if any of the controls deriving from it
1546 are used
1547 */
1548 #ifdef wxUSE_BOOKCTRL
1549 # ifdef wxABORT_ON_CONFIG_ERROR
1550 # error "wxUSE_BOOKCTRL is defined automatically, don't define it"
1551 # else
1552 # undef wxUSE_BOOKCTRL
1553 # endif
1554 #endif
1555
1556 #define wxUSE_BOOKCTRL (wxUSE_NOTEBOOK || \
1557 wxUSE_LISTBOOK || \
1558 wxUSE_CHOICEBOOK || \
1559 wxUSE_TOOLBOOK || \
1560 wxUSE_TREEBOOK)
1561
1562 #if wxUSE_COLLPANE
1563 # if !wxUSE_BUTTON || !wxUSE_STATLINE
1564 # ifdef wxABORT_ON_CONFIG_ERROR
1565 # error "wxUSE_COLLPANE requires wxUSE_BUTTON and wxUSE_STATLINE"
1566 # else
1567 # undef wxUSE_COLLPANE
1568 # define wxUSE_COLLPANE 0
1569 # endif
1570 # endif
1571 #endif /* wxUSE_COLLPANE */
1572
1573 #if wxUSE_LISTBOOK
1574 # if !wxUSE_LISTCTRL
1575 # ifdef wxABORT_ON_CONFIG_ERROR
1576 # error "wxListbook requires wxListCtrl"
1577 # else
1578 # undef wxUSE_LISTCTRL
1579 # define wxUSE_LISTCTRL 1
1580 # endif
1581 # endif
1582 #endif /* wxUSE_LISTBOOK */
1583
1584 #if wxUSE_CHOICEBOOK
1585 # if !wxUSE_CHOICE
1586 # ifdef wxABORT_ON_CONFIG_ERROR
1587 # error "wxChoicebook requires wxChoice"
1588 # else
1589 # undef wxUSE_CHOICE
1590 # define wxUSE_CHOICE 1
1591 # endif
1592 # endif
1593 #endif /* wxUSE_CHOICEBOOK */
1594
1595 #if wxUSE_TOOLBOOK
1596 # if !wxUSE_TOOLBAR
1597 # ifdef wxABORT_ON_CONFIG_ERROR
1598 # error "wxToolbook requires wxToolBar"
1599 # else
1600 # undef wxUSE_TOOLBAR
1601 # define wxUSE_TOOLBAR 1
1602 # endif
1603 # endif
1604 #endif /* wxUSE_TOOLBOOK */
1605
1606 #if !wxUSE_ODCOMBOBOX
1607 # if wxUSE_BITMAPCOMBOBOX
1608 # ifdef wxABORT_ON_CONFIG_ERROR
1609 # error "wxBitmapComboBox requires wxOwnerDrawnComboBox"
1610 # else
1611 # undef wxUSE_BITMAPCOMBOBOX
1612 # define wxUSE_BITMAPCOMBOBOX 0
1613 # endif
1614 # endif
1615 #endif /* !wxUSE_ODCOMBOBOX */
1616
1617 #if !wxUSE_HEADERCTRL
1618 # if wxUSE_DATAVIEWCTRL || wxUSE_GRID
1619 # ifdef wxABORT_ON_CONFIG_ERROR
1620 # error "wxDataViewCtrl and wxGrid require wxHeaderCtrl"
1621 # else
1622 # undef wxUSE_HEADERCTRL
1623 # define wxUSE_HEADERCTRL 1
1624 # endif
1625 # endif
1626 #endif /* !wxUSE_HEADERCTRL */
1627
1628 #if wxUSE_REARRANGECTRL
1629 # if !wxUSE_CHECKLISTBOX
1630 # ifdef wxABORT_ON_CONFIG_ERROR
1631 # error "wxRearrangeCtrl requires wxCheckListBox"
1632 # else
1633 # undef wxUSE_REARRANGECTRL
1634 # define wxUSE_REARRANGECTRL 0
1635 # endif
1636 # endif
1637 #endif /* wxUSE_REARRANGECTRL */
1638
1639 #if wxUSE_RICHMSGDLG
1640 # if !wxUSE_MSGDLG
1641 # ifdef wxABORT_ON_CONFIG_ERROR
1642 # error "wxUSE_RICHMSGDLG requires wxUSE_MSGDLG"
1643 # else
1644 # undef wxUSE_MSGDLG
1645 # define wxUSE_MSGDLG 1
1646 # endif
1647 # endif
1648 #endif /* wxUSE_RICHMSGDLG */
1649
1650 /* don't attempt to use native status bar on the platforms not having it */
1651 #ifndef wxUSE_NATIVE_STATUSBAR
1652 # define wxUSE_NATIVE_STATUSBAR 0
1653 #elif wxUSE_NATIVE_STATUSBAR
1654 # if defined(__WXUNIVERSAL__) || !(defined(__WXMSW__) || defined(__WXMAC__))
1655 # undef wxUSE_NATIVE_STATUSBAR
1656 # define wxUSE_NATIVE_STATUSBAR 0
1657 # endif
1658 #endif
1659
1660 #if wxUSE_GRAPHICS_CONTEXT && !wxUSE_GEOMETRY
1661 # ifdef wxABORT_ON_CONFIG_ERROR
1662 # error "wxUSE_GRAPHICS_CONTEXT requires wxUSE_GEOMETRY"
1663 # else
1664 # undef wxUSE_GRAPHICS_CONTEXT
1665 # define wxUSE_GRAPHICS_CONTEXT 0
1666 # endif
1667 #endif /* wxUSE_GRAPHICS_CONTEXT */
1668
1669
1670 /* generic controls dependencies */
1671 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1672 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1673 /* all common controls are needed by these dialogs */
1674 # if !defined(wxUSE_CHOICE) || \
1675 !defined(wxUSE_TEXTCTRL) || \
1676 !defined(wxUSE_BUTTON) || \
1677 !defined(wxUSE_CHECKBOX) || \
1678 !defined(wxUSE_STATTEXT)
1679 # ifdef wxABORT_ON_CONFIG_ERROR
1680 # error "These common controls are needed by common dialogs"
1681 # else
1682 # undef wxUSE_CHOICE
1683 # define wxUSE_CHOICE 1
1684 # undef wxUSE_TEXTCTRL
1685 # define wxUSE_TEXTCTRL 1
1686 # undef wxUSE_BUTTON
1687 # define wxUSE_BUTTON 1
1688 # undef wxUSE_CHECKBOX
1689 # define wxUSE_CHECKBOX 1
1690 # undef wxUSE_STATTEXT
1691 # define wxUSE_STATTEXT 1
1692 # endif
1693 # endif
1694 # endif
1695 #endif /* !wxMSW || wxUniv */
1696
1697 /* generic file dialog depends on (generic) file control */
1698 #if wxUSE_FILEDLG && !wxUSE_FILECTRL && \
1699 (defined(__WXUNIVERSAL__) || defined(__WXGTK__))
1700 # ifdef wxABORT_ON_CONFIG_ERROR
1701 # error "Generic wxFileDialog requires wxFileCtrl"
1702 # else
1703 # undef wxUSE_FILECTRL
1704 # define wxUSE_FILECTRL 1
1705 # endif
1706 #endif /* wxUSE_FILEDLG */
1707
1708 /* common dependencies */
1709 #if wxUSE_ARTPROVIDER_TANGO
1710 # if !(wxUSE_STREAMS && wxUSE_IMAGE && wxUSE_LIBPNG)
1711 # ifdef wxABORT_ON_CONFIG_ERROR
1712 # error "Tango art provider requires wxImage with streams and PNG support"
1713 # else
1714 # undef wxUSE_ARTPROVIDER_TANGO
1715 # define wxUSE_ARTPROVIDER_TANGO 0
1716 # endif
1717 # endif
1718 #endif /* wxUSE_ARTPROVIDER_TANGO */
1719
1720 #if wxUSE_CALENDARCTRL
1721 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1722 # ifdef wxABORT_ON_CONFIG_ERROR
1723 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1724 # else
1725 # undef wxUSE_SPINBTN
1726 # undef wxUSE_COMBOBOX
1727 # define wxUSE_SPINBTN 1
1728 # define wxUSE_COMBOBOX 1
1729 # endif
1730 # endif
1731
1732 # if !wxUSE_DATETIME
1733 # ifdef wxABORT_ON_CONFIG_ERROR
1734 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1735 # else
1736 # undef wxUSE_DATETIME
1737 # define wxUSE_DATETIME 1
1738 # endif
1739 # endif
1740 #endif /* wxUSE_CALENDARCTRL */
1741
1742 #if wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL
1743 # if !wxUSE_DATETIME
1744 # ifdef wxABORT_ON_CONFIG_ERROR
1745 # error "wxDatePickerCtrl and wxTimePickerCtrl requires wxUSE_DATETIME"
1746 # else
1747 # undef wxUSE_DATETIME
1748 # define wxUSE_DATETIME 1
1749 # endif
1750 # endif
1751 #endif /* wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL */
1752
1753 #if wxUSE_CHECKLISTBOX
1754 # if !wxUSE_LISTBOX
1755 # ifdef wxABORT_ON_CONFIG_ERROR
1756 # error "wxCheckListBox requires wxListBox"
1757 # else
1758 # undef wxUSE_LISTBOX
1759 # define wxUSE_LISTBOX 1
1760 # endif
1761 # endif
1762 #endif /* wxUSE_CHECKLISTBOX */
1763
1764 #if wxUSE_CHOICEDLG
1765 # if !wxUSE_LISTBOX
1766 # ifdef wxABORT_ON_CONFIG_ERROR
1767 # error "Choice dialogs requires wxListBox"
1768 # else
1769 # undef wxUSE_LISTBOX
1770 # define wxUSE_LISTBOX 1
1771 # endif
1772 # endif
1773 #endif /* wxUSE_CHOICEDLG */
1774
1775 #if wxUSE_FILECTRL
1776 # if !wxUSE_DATETIME
1777 # ifdef wxABORT_ON_CONFIG_ERROR
1778 # error "wxFileCtrl requires wxDateTime"
1779 # else
1780 # undef wxUSE_DATETIME
1781 # define wxUSE_DATETIME 1
1782 # endif
1783 # endif
1784 #endif /* wxUSE_FILECTRL */
1785
1786 #if wxUSE_HELP
1787 # if !wxUSE_BMPBUTTON
1788 # ifdef wxABORT_ON_CONFIG_ERROR
1789 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1790 # else
1791 # undef wxUSE_BMPBUTTON
1792 # define wxUSE_BMPBUTTON 1
1793 # endif
1794 # endif
1795
1796 # if !wxUSE_CHOICEDLG
1797 # ifdef wxABORT_ON_CONFIG_ERROR
1798 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1799 # else
1800 # undef wxUSE_CHOICEDLG
1801 # define wxUSE_CHOICEDLG 1
1802 # endif
1803 # endif
1804 #endif /* wxUSE_HELP */
1805
1806 #if wxUSE_MS_HTML_HELP
1807 /*
1808 this doesn't make sense for platforms other than MSW but we still
1809 define it in wx/setup_inc.h so don't complain if it happens to be
1810 defined under another platform but just silently fix it.
1811 */
1812 # ifndef __WXMSW__
1813 # undef wxUSE_MS_HTML_HELP
1814 # define wxUSE_MS_HTML_HELP 0
1815 # endif
1816 #endif /* wxUSE_MS_HTML_HELP */
1817
1818 #if wxUSE_WXHTML_HELP
1819 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
1820 # ifdef wxABORT_ON_CONFIG_ERROR
1821 # error "Built in help controller can't be compiled"
1822 # else
1823 # undef wxUSE_HELP
1824 # define wxUSE_HELP 1
1825 # undef wxUSE_HTML
1826 # define wxUSE_HTML 1
1827 # undef wxUSE_COMBOBOX
1828 # define wxUSE_COMBOBOX 1
1829 # undef wxUSE_NOTEBOOK
1830 # define wxUSE_NOTEBOOK 1
1831 # undef wxUSE_SPINCTRL
1832 # define wxUSE_SPINCTRL 1
1833 # endif
1834 # endif
1835 #endif /* wxUSE_WXHTML_HELP */
1836
1837 #if !wxUSE_IMAGE
1838 /*
1839 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1840 user explicitly wants this and disable all other features that require
1841 wxUSE_IMAGE.
1842 */
1843 # if wxUSE_DRAGIMAGE
1844 # ifdef wxABORT_ON_CONFIG_ERROR
1845 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1846 # else
1847 # undef wxUSE_DRAGIMAGE
1848 # define wxUSE_DRAGIMAGE 0
1849 # endif
1850 # endif
1851
1852 # if wxUSE_LIBPNG
1853 # ifdef wxABORT_ON_CONFIG_ERROR
1854 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1855 # else
1856 # undef wxUSE_LIBPNG
1857 # define wxUSE_LIBPNG 0
1858 # endif
1859 # endif
1860
1861 # if wxUSE_LIBJPEG
1862 # ifdef wxABORT_ON_CONFIG_ERROR
1863 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1864 # else
1865 # undef wxUSE_LIBJPEG
1866 # define wxUSE_LIBJPEG 0
1867 # endif
1868 # endif
1869
1870 # if wxUSE_LIBTIFF
1871 # ifdef wxABORT_ON_CONFIG_ERROR
1872 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1873 # else
1874 # undef wxUSE_LIBTIFF
1875 # define wxUSE_LIBTIFF 0
1876 # endif
1877 # endif
1878
1879 # if wxUSE_GIF
1880 # ifdef wxABORT_ON_CONFIG_ERROR
1881 # error "wxUSE_GIF requires wxUSE_IMAGE"
1882 # else
1883 # undef wxUSE_GIF
1884 # define wxUSE_GIF 0
1885 # endif
1886 # endif
1887
1888 # if wxUSE_PNM
1889 # ifdef wxABORT_ON_CONFIG_ERROR
1890 # error "wxUSE_PNM requires wxUSE_IMAGE"
1891 # else
1892 # undef wxUSE_PNM
1893 # define wxUSE_PNM 0
1894 # endif
1895 # endif
1896
1897 # if wxUSE_PCX
1898 # ifdef wxABORT_ON_CONFIG_ERROR
1899 # error "wxUSE_PCX requires wxUSE_IMAGE"
1900 # else
1901 # undef wxUSE_PCX
1902 # define wxUSE_PCX 0
1903 # endif
1904 # endif
1905
1906 # if wxUSE_IFF
1907 # ifdef wxABORT_ON_CONFIG_ERROR
1908 # error "wxUSE_IFF requires wxUSE_IMAGE"
1909 # else
1910 # undef wxUSE_IFF
1911 # define wxUSE_IFF 0
1912 # endif
1913 # endif
1914
1915 # if wxUSE_TOOLBAR
1916 # ifdef wxABORT_ON_CONFIG_ERROR
1917 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1918 # else
1919 # undef wxUSE_TOOLBAR
1920 # define wxUSE_TOOLBAR 0
1921 # endif
1922 # endif
1923
1924 # if wxUSE_XPM
1925 # ifdef wxABORT_ON_CONFIG_ERROR
1926 # error "wxUSE_XPM requires wxUSE_IMAGE"
1927 # else
1928 # undef wxUSE_XPM
1929 # define wxUSE_XPM 0
1930 # endif
1931 # endif
1932
1933 #endif /* !wxUSE_IMAGE */
1934
1935 #if wxUSE_DOC_VIEW_ARCHITECTURE
1936 # if !wxUSE_MENUS
1937 # ifdef wxABORT_ON_CONFIG_ERROR
1938 # error "DocView requires wxUSE_MENUS"
1939 # else
1940 # undef wxUSE_MENUS
1941 # define wxUSE_MENUS 1
1942 # endif
1943 # endif
1944
1945 # if !wxUSE_CHOICEDLG
1946 # ifdef wxABORT_ON_CONFIG_ERROR
1947 # error "DocView requires wxUSE_CHOICEDLG"
1948 # else
1949 # undef wxUSE_CHOICEDLG
1950 # define wxUSE_CHOICEDLG 1
1951 # endif
1952 # endif
1953
1954 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1955 # ifdef wxABORT_ON_CONFIG_ERROR
1956 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1957 # else
1958 # undef wxUSE_STREAMS
1959 # define wxUSE_STREAMS 1
1960 # endif
1961 # endif
1962
1963 # if !wxUSE_FILE_HISTORY
1964 # ifdef wxABORT_ON_CONFIG_ERROR
1965 # error "DocView requires wxUSE_FILE_HISTORY"
1966 # else
1967 # undef wxUSE_FILE_HISTORY
1968 # define wxUSE_FILE_HISTORY 1
1969 # endif
1970 # endif
1971 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1972
1973 #if wxUSE_PRINTING_ARCHITECTURE
1974 # if !wxUSE_COMBOBOX
1975 # ifdef wxABORT_ON_CONFIG_ERROR
1976 # error "Print dialog requires wxUSE_COMBOBOX"
1977 # else
1978 # undef wxUSE_COMBOBOX
1979 # define wxUSE_COMBOBOX 1
1980 # endif
1981 # endif
1982 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1983
1984 #if wxUSE_MDI_ARCHITECTURE
1985 # if !wxUSE_MDI
1986 # ifdef wxABORT_ON_CONFIG_ERROR
1987 # error "MDI requires wxUSE_MDI"
1988 # else
1989 # undef wxUSE_MDI
1990 # define wxUSE_MDI 1
1991 # endif
1992 # endif
1993
1994 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1995 # ifdef wxABORT_ON_CONFIG_ERROR
1996 # error "wxUSE_MDI_ARCHITECTURE requires wxUSE_DOC_VIEW_ARCHITECTURE"
1997 # else
1998 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1999 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
2000 # endif
2001 # endif
2002 #endif /* wxUSE_MDI_ARCHITECTURE */
2003
2004 #if !wxUSE_FILEDLG
2005 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
2006 # ifdef wxABORT_ON_CONFIG_ERROR
2007 # error "wxUSE_FILEDLG is required by wxUSE_DOC_VIEW_ARCHITECTURE and wxUSE_WXHTML_HELP!"
2008 # else
2009 # undef wxUSE_FILEDLG
2010 # define wxUSE_FILEDLG 1
2011 # endif
2012 # endif
2013 #endif /* wxUSE_FILEDLG */
2014
2015 #if !wxUSE_GAUGE || !wxUSE_BUTTON
2016 # if wxUSE_PROGRESSDLG
2017 # ifdef wxABORT_ON_CONFIG_ERROR
2018 # error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
2019 # else
2020 # undef wxUSE_GAUGE
2021 # undef wxUSE_BUTTON
2022 # define wxUSE_GAUGE 1
2023 # define wxUSE_BUTTON 1
2024 # endif
2025 # endif
2026 #endif /* !wxUSE_GAUGE */
2027
2028 #if !wxUSE_BUTTON
2029 # if wxUSE_FONTDLG || \
2030 wxUSE_FILEDLG || \
2031 wxUSE_CHOICEDLG || \
2032 wxUSE_NUMBERDLG || \
2033 wxUSE_TEXTDLG || \
2034 wxUSE_DIRDLG || \
2035 wxUSE_STARTUP_TIPS || \
2036 wxUSE_WIZARDDLG
2037 # ifdef wxABORT_ON_CONFIG_ERROR
2038 # error "Common and generic dialogs require wxUSE_BUTTON"
2039 # else
2040 # undef wxUSE_BUTTON
2041 # define wxUSE_BUTTON 1
2042 # endif
2043 # endif
2044 #endif /* !wxUSE_BUTTON */
2045
2046 #if !wxUSE_TOOLBAR
2047 # if wxUSE_TOOLBAR_NATIVE
2048 # ifdef wxABORT_ON_CONFIG_ERROR
2049 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
2050 # else
2051 # undef wxUSE_TOOLBAR_NATIVE
2052 # define wxUSE_TOOLBAR_NATIVE 0
2053 # endif
2054 # endif
2055 #endif
2056
2057 #if !wxUSE_IMAGLIST
2058 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL || wxUSE_TREELISTCTRL
2059 # ifdef wxABORT_ON_CONFIG_ERROR
2060 # error "wxImageList must be compiled as well"
2061 # else
2062 # undef wxUSE_IMAGLIST
2063 # define wxUSE_IMAGLIST 1
2064 # endif
2065 # endif
2066 #endif /* !wxUSE_IMAGLIST */
2067
2068 #if wxUSE_RADIOBOX
2069 # if !wxUSE_RADIOBTN
2070 # ifdef wxABORT_ON_CONFIG_ERROR
2071 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN"
2072 # else
2073 # undef wxUSE_RADIOBTN
2074 # define wxUSE_RADIOBTN 1
2075 # endif
2076 # endif
2077 # if !wxUSE_STATBOX
2078 # ifdef wxABORT_ON_CONFIG_ERROR
2079 # error "wxUSE_RADIOBOX requires wxUSE_STATBOX"
2080 # else
2081 # undef wxUSE_STATBOX
2082 # define wxUSE_STATBOX 1
2083 # endif
2084 # endif
2085 #endif /* wxUSE_RADIOBOX */
2086
2087 #if wxUSE_LOGWINDOW
2088 # if !wxUSE_TEXTCTRL
2089 # ifdef wxABORT_ON_CONFIG_ERROR
2090 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
2091 # else
2092 # undef wxUSE_TEXTCTRL
2093 # define wxUSE_TEXTCTRL 1
2094 # endif
2095 # endif
2096 #endif /* wxUSE_LOGWINDOW */
2097
2098 #if wxUSE_LOG_DIALOG
2099 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
2100 # ifdef wxABORT_ON_CONFIG_ERROR
2101 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
2102 # else
2103 # undef wxUSE_LISTCTRL
2104 # define wxUSE_LISTCTRL 1
2105 # undef wxUSE_BUTTON
2106 # define wxUSE_BUTTON 1
2107 # endif
2108 # endif
2109 #endif /* wxUSE_LOG_DIALOG */
2110
2111 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
2112 # ifdef wxABORT_ON_CONFIG_ERROR
2113 # error "wxClipboard requires wxDataObject"
2114 # else
2115 # undef wxUSE_DATAOBJ
2116 # define wxUSE_DATAOBJ 1
2117 # endif
2118 #endif /* wxUSE_CLIPBOARD */
2119
2120 #if wxUSE_XRC && !wxUSE_XML
2121 # ifdef wxABORT_ON_CONFIG_ERROR
2122 # error "wxUSE_XRC requires wxUSE_XML"
2123 # else
2124 # undef wxUSE_XRC
2125 # define wxUSE_XRC 0
2126 # endif
2127 #endif /* wxUSE_XRC */
2128
2129 #if wxUSE_SOCKETS && !wxUSE_STOPWATCH
2130 # ifdef wxABORT_ON_CONFIG_ERROR
2131 # error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
2132 # else
2133 # undef wxUSE_SOCKETS
2134 # define wxUSE_SOCKETS 0
2135 # endif
2136 #endif /* wxUSE_SOCKETS */
2137
2138 #if wxUSE_SVG && !wxUSE_STREAMS
2139 # ifdef wxABORT_ON_CONFIG_ERROR
2140 # error "wxUSE_SVG requires wxUSE_STREAMS"
2141 # else
2142 # undef wxUSE_SVG
2143 # define wxUSE_SVG 0
2144 # endif
2145 #endif /* wxUSE_SVG */
2146
2147 #if wxUSE_SVG && !wxUSE_IMAGE
2148 # ifdef wxABORT_ON_CONFIG_ERROR
2149 # error "wxUSE_SVG requires wxUSE_IMAGE"
2150 # else
2151 # undef wxUSE_SVG
2152 # define wxUSE_SVG 0
2153 # endif
2154 #endif /* wxUSE_SVG */
2155
2156 #if wxUSE_SVG && !wxUSE_LIBPNG
2157 # ifdef wxABORT_ON_CONFIG_ERROR
2158 # error "wxUSE_SVG requires wxUSE_LIBPNG"
2159 # else
2160 # undef wxUSE_SVG
2161 # define wxUSE_SVG 0
2162 # endif
2163 #endif /* wxUSE_SVG */
2164
2165 #if wxUSE_TASKBARICON && !wxUSE_MENUS
2166 # ifdef wxABORT_ON_CONFIG_ERROR
2167 # error "wxUSE_TASKBARICON requires wxUSE_MENUS"
2168 # else
2169 # undef wxUSE_TASKBARICON
2170 # define wxUSE_TASKBARICON 0
2171 # endif
2172 #endif /* wxUSE_TASKBARICON */
2173
2174 #if !wxUSE_VARIANT
2175 # if wxUSE_DATAVIEWCTRL
2176 # ifdef wxABORT_ON_CONFIG_ERROR
2177 # error "wxDataViewCtrl requires wxVariant"
2178 # else
2179 # undef wxUSE_DATAVIEWCTRL
2180 # define wxUSE_DATAVIEWCTRL 0
2181 # endif
2182 # endif
2183 #endif /* wxUSE_VARIANT */
2184
2185 #if wxUSE_TREELISTCTRL && !wxUSE_DATAVIEWCTRL
2186 # ifdef wxABORT_ON_CONFIG_ERROR
2187 # error "wxUSE_TREELISTCTRL requires wxDataViewCtrl"
2188 # else
2189 # undef wxUSE_TREELISTCTRL
2190 # define wxUSE_TREELISTCTRL 0
2191 # endif
2192 #endif /* wxUSE_TREELISTCTRL */
2193
2194 #if wxUSE_WEBVIEW && !(wxUSE_WEBVIEW_WEBKIT || wxUSE_WEBVIEW_IE)
2195 # ifdef wxABORT_ON_CONFIG_ERROR
2196 # error "wxUSE_WEBVIEW requires at least one backend"
2197 # else
2198 # undef wxUSE_WEBVIEW
2199 # define wxUSE_WEBVIEW 0
2200 # endif
2201 #endif /* wxUSE_WEBVIEW && !any web view backend */
2202
2203 #if wxUSE_PREFERENCES_EDITOR
2204 /*
2205 We can use either a generic implementation, using wxNotebook, or a
2206 native one under wxOSX/Cocoa but then we must be using the native
2207 toolbar.
2208 */
2209 # if !wxUSE_NOTEBOOK
2210 # ifdef __WXOSX_COCOA__
2211 # if !wxUSE_TOOLBAR || !wxOSX_USE_NATIVE_TOOLBAR
2212 # if wxABORT_ON_CONFIG_ERROR
2213 # error "wxUSE_PREFERENCES_EDITOR requires native toolbar in wxOSX"
2214 # else
2215 # undef wxUSE_PREFERENCES_EDITOR
2216 # define wxUSE_PREFERENCES_EDITOR 0
2217 # endif
2218 # endif
2219 # else
2220 # if wxABORT_ON_CONFIG_ERROR
2221 # error "wxUSE_PREFERENCES_EDITOR requires wxNotebook"
2222 # else
2223 # undef wxUSE_PREFERENCES_EDITOR
2224 # define wxUSE_PREFERENCES_EDITOR 0
2225 # endif
2226 # endif
2227 # endif
2228 #endif /* wxUSE_PREFERENCES_EDITOR */
2229
2230 #endif /* wxUSE_GUI */
2231
2232 #endif /* _WX_CHKCONF_H_ */