Support for automatic setup.h in OS/2 with OW builds. __WXOS2__ final removal. Source...
[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
14 /*
15 Platform-specific checking.
16 */
17
18 #if defined(__WXPALMOS__)
19 # include "wx/palmos/chkconf.h"
20 #elif defined(__WXWINCE__)
21 # include "wx/msw/wince/chkconf.h"
22 #elif defined(__WXMSW__)
23 # include "wx/msw/chkconf.h"
24 #elif defined(__WXMAC__)
25 # include "wx/mac/chkconf.h"
26 #elif defined(__OS2__)
27 # include "wx/os2/chkconf.h"
28 #elif defined(__WXMOTIF__)
29 # include "wx/motif/chkconf.h"
30 #endif
31
32 /*
33 this global setting determines what should we do if the setting FOO
34 requires BAR and BAR is not set: we can either silently unset FOO as well
35 (do this if you're trying to build the smallest possible library) or give an
36 error and abort (default as leads to least surprizing behaviour)
37 */
38 #define wxABORT_ON_CONFIG_ERROR
39
40 /*
41 global features
42 */
43
44 /* GUI build by default */
45 #if !defined(wxUSE_GUI)
46 # define wxUSE_GUI 1
47 #endif /* !defined(wxUSE_GUI) */
48
49 /*
50 If we're compiling without support for threads/exceptions we have to
51 disable the corresponding features.
52 */
53 #ifdef wxNO_THREADS
54 # undef wxUSE_THREADS
55 # define wxUSE_THREADS 0
56 #endif /* wxNO_THREADS */
57
58 #ifdef wxNO_EXCEPTIONS
59 # undef wxUSE_EXCEPTIONS
60 # define wxUSE_EXCEPTIONS 0
61 #endif /* wxNO_EXCEPTIONS */
62
63 /* we also must disable exceptions if compiler doesn't support them */
64 #if defined(_MSC_VER) && !defined(_CPPUNWIND)
65 # undef wxUSE_EXCEPTIONS
66 # define wxUSE_EXCEPTIONS 0
67 #endif /* VC++ without exceptions support */
68
69
70 /*
71 tests for non GUI features
72 */
73
74 #ifndef wxUSE_CRASHREPORT
75 /* this one is special: as currently it is Windows-only, don't force it
76 to be defined on other platforms */
77 # if defined(wxABORT_ON_CONFIG_ERROR) && defined(__WXMSW__)
78 # error "wxUSE_CRASHREPORT must be defined."
79 # else
80 # define wxUSE_CRASHREPORT 0
81 # endif
82 #endif /* !defined(wxUSE_CRASHREPORT) */
83
84 #ifndef wxUSE_DYNLIB_CLASS
85 # ifdef wxABORT_ON_CONFIG_ERROR
86 # error "wxUSE_DYNLIB_CLASS must be defined."
87 # else
88 # define wxUSE_DYNLIB_CLASS 0
89 # endif
90 #endif /* !defined(wxUSE_DYNLIB_CLASS) */
91
92 #ifndef wxUSE_EXCEPTIONS
93 # ifdef wxABORT_ON_CONFIG_ERROR
94 # error "wxUSE_EXCEPTIONS must be defined."
95 # else
96 # define wxUSE_EXCEPTIONS 0
97 # endif
98 #endif /* !defined(wxUSE_EXCEPTIONS) */
99
100 #ifndef wxUSE_FILESYSTEM
101 # ifdef wxABORT_ON_CONFIG_ERROR
102 # error "wxUSE_FILESYSTEM must be defined."
103 # else
104 # define wxUSE_FILESYSTEM 0
105 # endif
106 #endif /* !defined(wxUSE_FILESYSTEM) */
107
108 /* don't give an error about this one yet, it's not fully implemented */
109 #ifndef wxUSE_FSVOLUME
110 # define wxUSE_FSVOLUME 0
111 #endif /* !defined(wxUSE_FSVOLUME) */
112
113 #ifndef wxUSE_DYNAMIC_LOADER
114 # ifdef wxABORT_ON_CONFIG_ERROR
115 # error "wxUSE_DYNAMIC_LOADER must be defined."
116 # else
117 # define wxUSE_DYNAMIC_LOADER 0
118 # endif
119 #endif /* !defined(wxUSE_DYNAMIC_LOADER) */
120
121 #ifndef wxUSE_LOG
122 # ifdef wxABORT_ON_CONFIG_ERROR
123 # error "wxUSE_LOG must be defined."
124 # else
125 # define wxUSE_LOG 0
126 # endif
127 #endif /* !defined(wxUSE_LOG) */
128
129 #ifndef wxUSE_LONGLONG
130 # ifdef wxABORT_ON_CONFIG_ERROR
131 # error "wxUSE_LONGLONG must be defined."
132 # else
133 # define wxUSE_LONGLONG 0
134 # endif
135 #endif /* !defined(wxUSE_LONGLONG) */
136
137 #ifndef wxUSE_MIMETYPE
138 # ifdef wxABORT_ON_CONFIG_ERROR
139 # error "wxUSE_MIMETYPE must be defined."
140 # else
141 # define wxUSE_MIMETYPE 0
142 # endif
143 #endif /* !defined(wxUSE_MIMETYPE) */
144
145 #ifndef wxUSE_ON_FATAL_EXCEPTION
146 # ifdef wxABORT_ON_CONFIG_ERROR
147 # error "wxUSE_ON_FATAL_EXCEPTION must be defined."
148 # else
149 # define wxUSE_ON_FATAL_EXCEPTION 0
150 # endif
151 #endif /* !defined(wxUSE_ON_FATAL_EXCEPTION) */
152
153 #ifndef wxUSE_PROTOCOL
154 # ifdef wxABORT_ON_CONFIG_ERROR
155 # error "wxUSE_PROTOCOL must be defined."
156 # else
157 # define wxUSE_PROTOCOL 0
158 # endif
159 #endif /* !defined(wxUSE_PROTOCOL) */
160
161 /* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
162 #if !wxUSE_PROTOCOL
163 # undef wxUSE_PROTOCOL_HTTP
164 # undef wxUSE_PROTOCOL_FTP
165 # undef wxUSE_PROTOCOL_FILE
166 # define wxUSE_PROTOCOL_HTTP 0
167 # define wxUSE_PROTOCOL_FTP 0
168 # define wxUSE_PROTOCOL_FILE 0
169 #endif /* wxUSE_PROTOCOL */
170
171 #ifndef wxUSE_PROTOCOL_HTTP
172 # ifdef wxABORT_ON_CONFIG_ERROR
173 # error "wxUSE_PROTOCOL_HTTP must be defined."
174 # else
175 # define wxUSE_PROTOCOL_HTTP 0
176 # endif
177 #endif /* !defined(wxUSE_PROTOCOL_HTTP) */
178
179 #ifndef wxUSE_PROTOCOL_FTP
180 # ifdef wxABORT_ON_CONFIG_ERROR
181 # error "wxUSE_PROTOCOL_FTP must be defined."
182 # else
183 # define wxUSE_PROTOCOL_FTP 0
184 # endif
185 #endif /* !defined(wxUSE_PROTOCOL_FTP) */
186
187 #ifndef wxUSE_PROTOCOL_FILE
188 # ifdef wxABORT_ON_CONFIG_ERROR
189 # error "wxUSE_PROTOCOL_FILE must be defined."
190 # else
191 # define wxUSE_PROTOCOL_FILE 0
192 # endif
193 #endif /* !defined(wxUSE_PROTOCOL_FILE) */
194
195 #ifndef wxUSE_REGEX
196 # ifdef wxABORT_ON_CONFIG_ERROR
197 # error "wxUSE_REGEX must be defined."
198 # else
199 # define wxUSE_REGEX 0
200 # endif
201 #endif /* !defined(wxUSE_REGEX) */
202
203 #ifndef wxUSE_STDPATHS
204 # ifdef wxABORT_ON_CONFIG_ERROR
205 # error "wxUSE_STDPATHS must be defined."
206 # else
207 # define wxUSE_STDPATHS 1
208 # endif
209 #endif /* !defined(wxUSE_STDPATHS) */
210
211 #ifndef wxUSE_XML
212 # ifdef wxABORT_ON_CONFIG_ERROR
213 # error "wxUSE_XML must be defined."
214 # else
215 # define wxUSE_XML 0
216 # endif
217 #endif /* !defined(wxUSE_XML) */
218
219 #ifndef wxUSE_SOCKETS
220 # ifdef wxABORT_ON_CONFIG_ERROR
221 # error "wxUSE_SOCKETS must be defined."
222 # else
223 # define wxUSE_SOCKETS 0
224 # endif
225 #endif /* !defined(wxUSE_SOCKETS) */
226
227 #ifndef wxUSE_STREAMS
228 # ifdef wxABORT_ON_CONFIG_ERROR
229 # error "wxUSE_STREAMS must be defined."
230 # else
231 # define wxUSE_STREAMS 0
232 # endif
233 #endif /* !defined(wxUSE_STREAMS) */
234
235 #ifndef wxUSE_STOPWATCH
236 # ifdef wxABORT_ON_CONFIG_ERROR
237 # error "wxUSE_STOPWATCH must be defined."
238 # else
239 # define wxUSE_STOPWATCH 0
240 # endif
241 #endif /* !defined(wxUSE_STOPWATCH) */
242
243 #ifndef wxUSE_TEXTBUFFER
244 # ifdef wxABORT_ON_CONFIG_ERROR
245 # error "wxUSE_TEXTBUFFER must be defined."
246 # else
247 # define wxUSE_TEXTBUFFER 0
248 # endif
249 #endif /* !defined(wxUSE_TEXTBUFFER) */
250
251 #ifndef wxUSE_TEXTFILE
252 # ifdef wxABORT_ON_CONFIG_ERROR
253 # error "wxUSE_TEXTFILE must be defined."
254 # else
255 # define wxUSE_TEXTFILE 0
256 # endif
257 #endif /* !defined(wxUSE_TEXTFILE) */
258
259 #ifndef wxUSE_UNICODE
260 # ifdef wxABORT_ON_CONFIG_ERROR
261 # error "wxUSE_UNICODE must be defined."
262 # else
263 # define wxUSE_UNICODE 0
264 # endif
265 #endif /* !defined(wxUSE_UNICODE) */
266
267 #ifndef wxUSE_URL
268 # ifdef wxABORT_ON_CONFIG_ERROR
269 # error "wxUSE_URL must be defined."
270 # else
271 # define wxUSE_URL 0
272 # endif
273 #endif /* !defined(wxUSE_URL) */
274
275 /*
276 all these tests are for GUI only
277 */
278 #if wxUSE_GUI
279
280 /*
281 all of the settings tested below must be defined or we'd get an error from
282 preprocessor about invalid integer expression
283 */
284
285 #ifndef wxUSE_ACCEL
286 # ifdef wxABORT_ON_CONFIG_ERROR
287 # error "wxUSE_ACCEL must be defined."
288 # else
289 # define wxUSE_ACCEL 0
290 # endif
291 #endif /* !defined(wxUSE_ACCEL) */
292
293 #ifndef wxUSE_BMPBUTTON
294 # ifdef wxABORT_ON_CONFIG_ERROR
295 # error "wxUSE_BMPBUTTON must be defined."
296 # else
297 # define wxUSE_BMPBUTTON 0
298 # endif
299 #endif /* !defined(wxUSE_BMPBUTTON) */
300
301 #ifndef wxUSE_BUTTON
302 # ifdef wxABORT_ON_CONFIG_ERROR
303 # error "wxUSE_BUTTON must be defined."
304 # else
305 # define wxUSE_BUTTON 0
306 # endif
307 #endif /* !defined(wxUSE_BUTTON) */
308
309 #ifndef wxUSE_CALENDARCTRL
310 # ifdef wxABORT_ON_CONFIG_ERROR
311 # error "wxUSE_CALENDARCTRL must be defined."
312 # else
313 # define wxUSE_CALENDARCTRL 0
314 # endif
315 #endif /* !defined(wxUSE_CALENDARCTRL) */
316
317 #ifndef wxUSE_CARET
318 # ifdef wxABORT_ON_CONFIG_ERROR
319 # error "wxUSE_CARET must be defined."
320 # else
321 # define wxUSE_CARET 0
322 # endif
323 #endif /* !defined(wxUSE_CARET) */
324
325 #ifndef wxUSE_CHECKBOX
326 # ifdef wxABORT_ON_CONFIG_ERROR
327 # error "wxUSE_CHECKBOX must be defined."
328 # else
329 # define wxUSE_CHECKBOX 0
330 # endif
331 #endif /* !defined(wxUSE_CHECKBOX) */
332
333 #ifndef wxUSE_CHECKLISTBOX
334 # ifdef wxABORT_ON_CONFIG_ERROR
335 # error "wxUSE_CHECKLISTBOX must be defined."
336 # else
337 # define wxUSE_CHECKLISTBOX 0
338 # endif
339 #endif /* !defined(wxUSE_CHECKLISTBOX) */
340
341 #ifndef wxUSE_CHOICE
342 # ifdef wxABORT_ON_CONFIG_ERROR
343 # error "wxUSE_CHOICE must be defined."
344 # else
345 # define wxUSE_CHOICE 0
346 # endif
347 #endif /* !defined(wxUSE_CHOICE) */
348
349 #ifndef wxUSE_CHOICEBOOK
350 # ifdef wxABORT_ON_CONFIG_ERROR
351 # error "wxUSE_CHOICEBOOK must be defined."
352 # else
353 # define wxUSE_CHOICEBOOK 0
354 # endif
355 #endif /* !defined(wxUSE_CHOICEBOOK) */
356
357 #ifndef wxUSE_CHOICEDLG
358 # ifdef wxABORT_ON_CONFIG_ERROR
359 # error "wxUSE_CHOICEDLG must be defined."
360 # else
361 # define wxUSE_CHOICEDLG 0
362 # endif
363 #endif /* !defined(wxUSE_CHOICEDLG) */
364
365 #ifndef wxUSE_CLIPBOARD
366 # ifdef wxABORT_ON_CONFIG_ERROR
367 # error "wxUSE_CLIPBOARD must be defined."
368 # else
369 # define wxUSE_CLIPBOARD 0
370 # endif
371 #endif /* !defined(wxUSE_CLIPBOARD) */
372
373 #ifndef wxUSE_COLOURDLG
374 # ifdef wxABORT_ON_CONFIG_ERROR
375 # error "wxUSE_COLOURDLG must be defined."
376 # else
377 # define wxUSE_COLOURDLG 0
378 # endif
379 #endif /* !defined(wxUSE_COLOURDLG) */
380
381 #ifndef wxUSE_COMBOBOX
382 # ifdef wxABORT_ON_CONFIG_ERROR
383 # error "wxUSE_COMBOBOX must be defined."
384 # else
385 # define wxUSE_COMBOBOX 0
386 # endif
387 #endif /* !defined(wxUSE_COMBOBOX) */
388
389 #ifndef wxUSE_DATAOBJ
390 # ifdef wxABORT_ON_CONFIG_ERROR
391 # error "wxUSE_DATAOBJ must be defined."
392 # else
393 # define wxUSE_DATAOBJ 0
394 # endif
395 #endif /* !defined(wxUSE_DATAOBJ) */
396
397 #ifndef wxUSE_DATEPICKCTRL
398 # ifdef wxABORT_ON_CONFIG_ERROR
399 # error "wxUSE_DATEPICKCTRL must be defined."
400 # else
401 # define wxUSE_DATEPICKCTRL 0
402 # endif
403 #endif /* !defined(wxUSE_DATEPICKCTRL) */
404
405 #ifndef wxUSE_DISPLAY
406 # ifdef wxABORT_ON_CONFIG_ERROR
407 # error "wxUSE_DISPLAY must be defined."
408 # else
409 # define wxUSE_DISPLAY 0
410 # endif
411 #endif /* !defined(wxUSE_DISPLAY) */
412
413 #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
414 # ifdef wxABORT_ON_CONFIG_ERROR
415 # error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
416 # else
417 # define wxUSE_DOC_VIEW_ARCHITECTURE 0
418 # endif
419 #endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
420
421 #ifndef wxUSE_FILEDLG
422 # ifdef wxABORT_ON_CONFIG_ERROR
423 # error "wxUSE_FILEDLG must be defined."
424 # else
425 # define wxUSE_FILEDLG 0
426 # endif
427 #endif /* !defined(wxUSE_FILEDLG) */
428
429 #ifndef wxUSE_FONTDLG
430 # ifdef wxABORT_ON_CONFIG_ERROR
431 # error "wxUSE_FONTDLG must be defined."
432 # else
433 # define wxUSE_FONTDLG 0
434 # endif
435 #endif /* !defined(wxUSE_FONTDLG) */
436
437 #ifndef wxUSE_FONTMAP
438 # ifdef wxABORT_ON_CONFIG_ERROR
439 # error "wxUSE_FONTMAP must be defined."
440 # else
441 # define wxUSE_FONTMAP 0
442 # endif
443 #endif /* !defined(wxUSE_FONTMAP) */
444
445 #ifndef wxUSE_GAUGE
446 # ifdef wxABORT_ON_CONFIG_ERROR
447 # error "wxUSE_GAUGE must be defined."
448 # else
449 # define wxUSE_GAUGE 0
450 # endif
451 #endif /* !defined(wxUSE_GAUGE) */
452
453 #ifndef wxUSE_GRID
454 # ifdef wxABORT_ON_CONFIG_ERROR
455 # error "wxUSE_GRID must be defined."
456 # else
457 # define wxUSE_GRID 0
458 # endif
459 #endif /* !defined(wxUSE_GRID) */
460
461 #ifndef wxUSE_HELP
462 # ifdef wxABORT_ON_CONFIG_ERROR
463 # error "wxUSE_HELP must be defined."
464 # else
465 # define wxUSE_HELP 0
466 # endif
467 #endif /* !defined(wxUSE_HELP) */
468
469 #ifndef wxUSE_HTML
470 # ifdef wxABORT_ON_CONFIG_ERROR
471 # error "wxUSE_HTML must be defined."
472 # else
473 # define wxUSE_HTML 0
474 # endif
475 #endif /* !defined(wxUSE_HTML) */
476
477 #ifndef wxUSE_XRC
478 # ifdef wxABORT_ON_CONFIG_ERROR
479 # error "wxUSE_XRC must be defined."
480 # else
481 # define wxUSE_XRC 0
482 # endif
483 #endif /* !defined(wxUSE_XRC) */
484
485 #ifndef wxUSE_LIBMSPACK
486 # ifndef __UNIX__
487 /* set to 0 on platforms that don't have libmspack */
488 # define wxUSE_LIBMSPACK 0
489 # else
490 # ifdef wxABORT_ON_CONFIG_ERROR
491 # error "wxUSE_LIBMSPACK must be defined."
492 # else
493 # define wxUSE_LIBMSPACK 0
494 # endif
495 # endif
496 #endif /* !defined(wxUSE_LIBMSPACK) */
497
498 #ifndef wxUSE_ICO_CUR
499 # ifdef wxABORT_ON_CONFIG_ERROR
500 # error "wxUSE_ICO_CUR must be defined."
501 # else
502 # define wxUSE_ICO_CUR 0
503 # endif
504 #endif /* !defined(wxUSE_ICO_CUR) */
505
506 #ifndef wxUSE_IFF
507 # ifdef wxABORT_ON_CONFIG_ERROR
508 # error "wxUSE_IFF must be defined."
509 # else
510 # define wxUSE_IFF 0
511 # endif
512 #endif /* !defined(wxUSE_IFF) */
513
514 #ifndef wxUSE_IMAGLIST
515 # ifdef wxABORT_ON_CONFIG_ERROR
516 # error "wxUSE_IMAGLIST must be defined."
517 # else
518 # define wxUSE_IMAGLIST 0
519 # endif
520 #endif /* !defined(wxUSE_IMAGLIST) */
521
522 #ifndef wxUSE_JOYSTICK
523 # ifdef wxABORT_ON_CONFIG_ERROR
524 # error "wxUSE_JOYSTICK must be defined."
525 # else
526 # define wxUSE_JOYSTICK 0
527 # endif
528 #endif /* !defined(wxUSE_JOYSTICK) */
529
530 #ifndef wxUSE_LISTBOOK
531 # ifdef wxABORT_ON_CONFIG_ERROR
532 # error "wxUSE_LISTBOOK must be defined."
533 # else
534 # define wxUSE_LISTBOOK 0
535 # endif
536 #endif /* !defined(wxUSE_LISTBOOK) */
537
538 #ifndef wxUSE_LISTBOX
539 # ifdef wxABORT_ON_CONFIG_ERROR
540 # error "wxUSE_LISTBOX must be defined."
541 # else
542 # define wxUSE_LISTBOX 0
543 # endif
544 #endif /* !defined(wxUSE_LISTBOX) */
545
546 #ifndef wxUSE_LISTCTRL
547 # ifdef wxABORT_ON_CONFIG_ERROR
548 # error "wxUSE_LISTCTRL must be defined."
549 # else
550 # define wxUSE_LISTCTRL 0
551 # endif
552 #endif /* !defined(wxUSE_LISTCTRL) */
553
554 #ifndef wxUSE_LOGGUI
555 # ifdef wxABORT_ON_CONFIG_ERROR
556 # error "wxUSE_LOGGUI must be defined."
557 # else
558 # define wxUSE_LOGGUI 0
559 # endif
560 #endif /* !defined(wxUSE_LOGGUI) */
561
562 #ifndef wxUSE_LOGWINDOW
563 # ifdef wxABORT_ON_CONFIG_ERROR
564 # error "wxUSE_LOGWINDOW must be defined."
565 # else
566 # define wxUSE_LOGWINDOW 0
567 # endif
568 #endif /* !defined(wxUSE_LOGWINDOW) */
569
570 #ifndef wxUSE_LOG_DIALOG
571 # ifdef wxABORT_ON_CONFIG_ERROR
572 # error "wxUSE_LOG_DIALOG must be defined."
573 # else
574 # define wxUSE_LOG_DIALOG 0
575 # endif
576 #endif /* !defined(wxUSE_LOG_DIALOG) */
577
578 #ifndef wxUSE_MDI
579 # ifdef wxABORT_ON_CONFIG_ERROR
580 # error "wxUSE_MDI must be defined."
581 # else
582 # define wxUSE_MDI 0
583 # endif
584 #endif /* !defined(wxUSE_MDI) */
585
586 #ifndef wxUSE_MDI_ARCHITECTURE
587 # ifdef wxABORT_ON_CONFIG_ERROR
588 # error "wxUSE_MDI_ARCHITECTURE must be defined."
589 # else
590 # define wxUSE_MDI_ARCHITECTURE 0
591 # endif
592 #endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
593
594 #ifndef wxUSE_MENUS
595 # ifdef wxABORT_ON_CONFIG_ERROR
596 # error "wxUSE_MENUS must be defined."
597 # else
598 # define wxUSE_MENUS 0
599 # endif
600 #endif /* !defined(wxUSE_MENUS) */
601
602 #ifndef wxUSE_MSGDLG
603 # ifdef wxABORT_ON_CONFIG_ERROR
604 # error "wxUSE_MSGDLG must be defined."
605 # else
606 # define wxUSE_MSGDLG 0
607 # endif
608 #endif /* !defined(wxUSE_MSGDLG) */
609
610 #ifndef wxUSE_NOTEBOOK
611 # ifdef wxABORT_ON_CONFIG_ERROR
612 # error "wxUSE_NOTEBOOK must be defined."
613 # else
614 # define wxUSE_NOTEBOOK 0
615 # endif
616 #endif /* !defined(wxUSE_NOTEBOOK) */
617
618 #ifndef wxUSE_PALETTE
619 # ifdef wxABORT_ON_CONFIG_ERROR
620 # error "wxUSE_PALETTE must be defined."
621 # else
622 # define wxUSE_PALETTE 0
623 # endif
624 #endif /* !defined(wxUSE_PALETTE) */
625
626 #ifndef wxUSE_POPUPWIN
627 # ifdef wxABORT_ON_CONFIG_ERROR
628 # error "wxUSE_POPUPWIN must be defined."
629 # else
630 # define wxUSE_POPUPWIN 0
631 # endif
632 #endif /* !defined(wxUSE_POPUPWIN) */
633
634 #ifndef wxUSE_PRINTING_ARCHITECTURE
635 # ifdef wxABORT_ON_CONFIG_ERROR
636 # error "wxUSE_PRINTING_ARCHITECTURE must be defined."
637 # else
638 # define wxUSE_PRINTING_ARCHITECTURE 0
639 # endif
640 #endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
641
642 #ifndef wxUSE_RADIOBOX
643 # ifdef wxABORT_ON_CONFIG_ERROR
644 # error "wxUSE_RADIOBOX must be defined."
645 # else
646 # define wxUSE_RADIOBOX 0
647 # endif
648 #endif /* !defined(wxUSE_RADIOBOX) */
649
650 #ifndef wxUSE_RADIOBTN
651 # ifdef wxABORT_ON_CONFIG_ERROR
652 # error "wxUSE_RADIOBTN must be defined."
653 # else
654 # define wxUSE_RADIOBTN 0
655 # endif
656 #endif /* !defined(wxUSE_RADIOBTN) */
657
658 #ifndef wxUSE_SASH
659 # ifdef wxABORT_ON_CONFIG_ERROR
660 # error "wxUSE_SASH must be defined."
661 # else
662 # define wxUSE_SASH 0
663 # endif
664 #endif /* !defined(wxUSE_SASH) */
665
666 #ifndef wxUSE_SCROLLBAR
667 # ifdef wxABORT_ON_CONFIG_ERROR
668 # error "wxUSE_SCROLLBAR must be defined."
669 # else
670 # define wxUSE_SCROLLBAR 0
671 # endif
672 #endif /* !defined(wxUSE_SCROLLBAR) */
673
674 #ifndef wxUSE_SLIDER
675 # ifdef wxABORT_ON_CONFIG_ERROR
676 # error "wxUSE_SLIDER must be defined."
677 # else
678 # define wxUSE_SLIDER 0
679 # endif
680 #endif /* !defined(wxUSE_SLIDER) */
681
682 #ifndef wxUSE_SOUND
683 # ifdef wxABORT_ON_CONFIG_ERROR
684 # error "wxUSE_SOUND must be defined."
685 # else
686 # define wxUSE_SOUND 0
687 # endif
688 #endif /* !defined(wxUSE_SOUND) */
689
690 #ifndef wxUSE_SPINBTN
691 # ifdef wxABORT_ON_CONFIG_ERROR
692 # error "wxUSE_SPINBTN must be defined."
693 # else
694 # define wxUSE_SPINBTN 0
695 # endif
696 #endif /* !defined(wxUSE_SPINBTN) */
697
698 #ifndef wxUSE_SPINCTRL
699 # ifdef wxABORT_ON_CONFIG_ERROR
700 # error "wxUSE_SPINCTRL must be defined."
701 # else
702 # define wxUSE_SPINCTRL 0
703 # endif
704 #endif /* !defined(wxUSE_SPINCTRL) */
705
706 #ifndef wxUSE_SPLASH
707 # ifdef wxABORT_ON_CONFIG_ERROR
708 # error "wxUSE_SPLASH must be defined."
709 # else
710 # define wxUSE_SPLASH 0
711 # endif
712 #endif /* !defined(wxUSE_SPLASH) */
713
714 #ifndef wxUSE_SPLITTER
715 # ifdef wxABORT_ON_CONFIG_ERROR
716 # error "wxUSE_SPLITTER must be defined."
717 # else
718 # define wxUSE_SPLITTER 0
719 # endif
720 #endif /* !defined(wxUSE_SPLITTER) */
721
722 #ifndef wxUSE_STATBMP
723 # ifdef wxABORT_ON_CONFIG_ERROR
724 # error "wxUSE_STATBMP must be defined."
725 # else
726 # define wxUSE_STATBMP 0
727 # endif
728 #endif /* !defined(wxUSE_STATBMP) */
729
730 #ifndef wxUSE_STATBOX
731 # ifdef wxABORT_ON_CONFIG_ERROR
732 # error "wxUSE_STATBOX must be defined."
733 # else
734 # define wxUSE_STATBOX 0
735 # endif
736 #endif /* !defined(wxUSE_STATBOX) */
737
738 #ifndef wxUSE_STATLINE
739 # ifdef wxABORT_ON_CONFIG_ERROR
740 # error "wxUSE_STATLINE must be defined."
741 # else
742 # define wxUSE_STATLINE 0
743 # endif
744 #endif /* !defined(wxUSE_STATLINE) */
745
746 #ifndef wxUSE_STATTEXT
747 # ifdef wxABORT_ON_CONFIG_ERROR
748 # error "wxUSE_STATTEXT must be defined."
749 # else
750 # define wxUSE_STATTEXT 0
751 # endif
752 #endif /* !defined(wxUSE_STATTEXT) */
753
754 #ifndef wxUSE_STATUSBAR
755 # ifdef wxABORT_ON_CONFIG_ERROR
756 # error "wxUSE_STATUSBAR must be defined."
757 # else
758 # define wxUSE_STATUSBAR 0
759 # endif
760 #endif /* !defined(wxUSE_STATUSBAR) */
761
762 #ifndef wxUSE_TAB_DIALOG
763 # ifdef wxABORT_ON_CONFIG_ERROR
764 # error "wxUSE_TAB_DIALOG must be defined."
765 # else
766 # define wxUSE_TAB_DIALOG 0
767 # endif
768 #endif /* !defined(wxUSE_TAB_DIALOG) */
769
770 #ifndef wxUSE_TEXTCTRL
771 # ifdef wxABORT_ON_CONFIG_ERROR
772 # error "wxUSE_TEXTCTRL must be defined."
773 # else
774 # define wxUSE_TEXTCTRL 0
775 # endif
776 #endif /* !defined(wxUSE_TEXTCTRL) */
777
778 #ifndef wxUSE_TIPWINDOW
779 # ifdef wxABORT_ON_CONFIG_ERROR
780 # error "wxUSE_TIPWINDOW must be defined."
781 # else
782 # define wxUSE_TIPWINDOW 0
783 # endif
784 #endif /* !defined(wxUSE_TIPWINDOW) */
785
786 #ifndef wxUSE_TOOLBAR
787 # ifdef wxABORT_ON_CONFIG_ERROR
788 # error "wxUSE_TOOLBAR must be defined."
789 # else
790 # define wxUSE_TOOLBAR 0
791 # endif
792 #endif /* !defined(wxUSE_TOOLBAR) */
793
794 #ifndef wxUSE_TOOLTIPS
795 # ifdef wxABORT_ON_CONFIG_ERROR
796 # error "wxUSE_TOOLTIPS must be defined."
797 # else
798 # define wxUSE_TOOLTIPS 0
799 # endif
800 #endif /* !defined(wxUSE_TOOLTIPS) */
801
802 #ifndef wxUSE_TREECTRL
803 # ifdef wxABORT_ON_CONFIG_ERROR
804 # error "wxUSE_TREECTRL must be defined."
805 # else
806 # define wxUSE_TREECTRL 0
807 # endif
808 #endif /* !defined(wxUSE_TREECTRL) */
809
810 #ifndef wxUSE_VALIDATORS
811 # ifdef wxABORT_ON_CONFIG_ERROR
812 # error "wxUSE_VALIDATORS must be defined."
813 # else
814 # define wxUSE_VALIDATORS 0
815 # endif
816 #endif /* !defined(wxUSE_VALIDATORS) */
817
818 #ifndef wxUSE_WXHTML_HELP
819 # ifdef wxABORT_ON_CONFIG_ERROR
820 # error "wxUSE_WXHTML_HELP must be defined."
821 # else
822 # define wxUSE_WXHTML_HELP 0
823 # endif
824 #endif /* !defined(wxUSE_WXHTML_HELP) */
825
826 #endif /* wxUSE_GUI */
827
828 /*
829 check consistency of the settings
830 */
831
832 #if wxUSE_CRASHREPORT && !wxUSE_ON_FATAL_EXCEPTION
833 # ifdef wxABORT_ON_CONFIG_ERROR
834 # error "wxUSE_CRASHREPORT requires wxUSE_ON_FATAL_EXCEPTION"
835 # else
836 # undef wxUSE_CRASHREPORT
837 # define wxUSE_CRASHREPORT 0
838 # endif
839 #endif /* wxUSE_CRASHREPORT */
840
841 #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
842 # if !wxUSE_PROTOCOL
843 # ifdef wxABORT_ON_CONFIG_ERROR
844 # error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
845 # else
846 # undef wxUSE_PROTOCOL
847 # define wxUSE_PROTOCOL 1
848 # endif
849 # endif
850 #endif /* wxUSE_PROTOCOL_XXX */
851
852 #if wxUSE_URL
853 # if !wxUSE_PROTOCOL
854 # ifdef wxABORT_ON_CONFIG_ERROR
855 # error "wxUSE_URL requires wxUSE_PROTOCOL"
856 # else
857 # undef wxUSE_PROTOCOL
858 # define wxUSE_PROTOCOL 1
859 # endif
860 # endif
861 #endif /* wxUSE_URL */
862
863 #if wxUSE_PROTOCOL
864 # if !wxUSE_SOCKETS
865 # if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
866 # ifdef wxABORT_ON_CONFIG_ERROR
867 # error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
868 # else
869 # undef wxUSE_SOCKETS
870 # define wxUSE_SOCKETS 1
871 # endif
872 # endif
873 # endif
874
875 # if !wxUSE_STREAMS
876 # ifdef wxABORT_ON_CONFIG_ERROR
877 # error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
878 # else
879 # undef wxUSE_STREAMS
880 # define wxUSE_STREAMS 1
881 # endif
882 # endif
883 #endif /* wxUSE_PROTOCOL */
884
885 /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
886 #if wxUSE_HTML
887 # if !wxUSE_FILESYSTEM
888 # ifdef wxABORT_ON_CONFIG_ERROR
889 # error "wxHTML requires wxFileSystem"
890 # else
891 # undef wxUSE_FILESYSTEM
892 # define wxUSE_FILESYSTEM 1
893 # endif
894 # endif
895 #endif /* wxUSE_HTML */
896
897 #if wxUSE_FILESYSTEM
898 # if !wxUSE_STREAMS
899 # ifdef wxABORT_ON_CONFIG_ERROR
900 # error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
901 # else
902 # undef wxUSE_STREAMS
903 # define wxUSE_STREAMS 1
904 # endif
905 # endif
906 #endif /* wxUSE_FILESYSTEM */
907
908 #if wxUSE_FS_INET
909 # if !wxUSE_PROTOCOL
910 # ifdef wxABORT_ON_CONFIG_ERROR
911 # error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
912 # else
913 # undef wxUSE_PROTOCOL
914 # define wxUSE_PROTOCOL 1
915 # endif
916 # endif
917 #endif /* wxUSE_FS_INET */
918
919 #if wxUSE_STOPWATCH || wxUSE_DATETIME
920 # if !wxUSE_LONGLONG
921 # ifdef wxABORT_ON_CONFIG_ERROR
922 # error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
923 # else
924 # undef wxUSE_LONGLONG
925 # define wxUSE_LONGLONG 1
926 # endif
927 # endif
928 #endif /* wxUSE_STOPWATCH */
929
930 #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
931 # ifdef wxABORT_ON_CONFIG_ERROR
932 # error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
933 # else
934 # undef wxUSE_TEXTFILE
935 # define wxUSE_TEXTFILE 1
936 # endif
937 #endif /* wxUSE_MIMETYPE */
938
939 #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
940 # ifdef wxABORT_ON_CONFIG_ERROR
941 # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
942 # else
943 # undef wxUSE_TEXTBUFFER
944 # define wxUSE_TEXTBUFFER 1
945 # endif
946 #endif /* wxUSE_TEXTFILE */
947
948 #if wxUSE_TEXTFILE && !wxUSE_FILE
949 # ifdef wxABORT_ON_CONFIG_ERROR
950 # error "wxUSE_TEXTFILE requires wxUSE_FILE"
951 # else
952 # undef wxUSE_FILE
953 # define wxUSE_FILE 1
954 # endif
955 #endif /* wxUSE_TEXTFILE */
956
957 #if wxUSE_XML && !wxUSE_WCHAR_T
958 # ifdef wxABORT_ON_CONFIG_ERROR
959 # error "wxUSE_XML requires wxUSE_WCHAR_T"
960 # else
961 # undef wxUSE_XML
962 # define wxUSE_XML 0
963 # endif
964 #endif /* wxUSE_XML */
965
966 #if !wxUSE_DYNLIB_CLASS
967 # if wxUSE_DYNAMIC_LOADER
968 # ifdef wxABORT_ON_CONFIG_ERROR
969 # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
970 # else
971 # define wxUSE_DYNLIB_CLASS 1
972 # endif
973 # endif
974 #endif /* wxUSE_DYNLIB_CLASS */
975
976 #if wxUSE_ZIPSTREAM
977 # if !wxUSE_ZLIB
978 # ifdef wxABORT_ON_CONFIG_ERROR
979 # error "wxZip requires wxZlib"
980 # else
981 # undef wxUSE_ZLIB
982 # define wxUSE_ZLIB 1
983 # endif
984 # endif
985 # if !wxUSE_ARCHIVE_STREAMS
986 # ifdef wxABORT_ON_CONFIG_ERROR
987 # error "wxZip requires wxArchive"
988 # else
989 # undef wxUSE_ARCHIVE_STREAMS
990 # define wxUSE_ARCHIVE_STREAMS 1
991 # endif
992 # endif
993 #endif /* wxUSE_ZIPSTREAM */
994
995 /* the rest of the tests is for the GUI settings only */
996 #if wxUSE_GUI
997
998 #if wxUSE_BUTTON || \
999 wxUSE_CALENDARCTRL || \
1000 wxUSE_CARET || \
1001 wxUSE_COMBOBOX || \
1002 wxUSE_BMPBUTTON || \
1003 wxUSE_CHECKBOX || \
1004 wxUSE_CHECKLISTBOX || \
1005 wxUSE_CHOICE || \
1006 wxUSE_GAUGE || \
1007 wxUSE_GRID || \
1008 wxUSE_LISTBOX || \
1009 wxUSE_LISTCTRL || \
1010 wxUSE_NOTEBOOK || \
1011 wxUSE_RADIOBOX || \
1012 wxUSE_RADIOBTN || \
1013 wxUSE_SCROLLBAR || \
1014 wxUSE_SLIDER || \
1015 wxUSE_SPINBTN || \
1016 wxUSE_SPINCTRL || \
1017 wxUSE_STATBMP || \
1018 wxUSE_STATBOX || \
1019 wxUSE_STATLINE || \
1020 wxUSE_STATTEXT || \
1021 wxUSE_STATUSBAR || \
1022 wxUSE_TEXTCTRL || \
1023 wxUSE_TOOLBAR || \
1024 wxUSE_TREECTRL
1025 # if !wxUSE_CONTROLS
1026 # ifdef wxABORT_ON_CONFIG_ERROR
1027 # error "wxUSE_CONTROLS unset but some controls used"
1028 # else
1029 # undef wxUSE_CONTROLS
1030 # define wxUSE_CONTROLS 1
1031 # endif
1032 # endif
1033 #endif /* controls */
1034
1035 #if wxUSE_BMPBUTTON
1036 # if !wxUSE_BUTTON
1037 # ifdef wxABORT_ON_CONFIG_ERROR
1038 # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
1039 # else
1040 # undef wxUSE_BUTTON
1041 # define wxUSE_BUTTON 1
1042 # endif
1043 # endif
1044 #endif /* wxUSE_BMPBUTTON */
1045
1046 #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
1047 # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
1048 # ifdef wxABORT_ON_CONFIG_ERROR
1049 # error "wxUSE_BOOKCTRL must be set."
1050 # else
1051 # undef wxUSE_BOOKCTRL
1052 # endif
1053 # endif
1054
1055 # ifndef wxUSE_BOOKCTRL
1056 # define wxUSE_BOOKCTRL 1
1057 # endif
1058 #endif /* wxUSE_NOTEBOOK */
1059
1060 #if wxUSE_LISTBOOK
1061 # if !wxUSE_LISTCTRL
1062 # ifdef wxABORT_ON_CONFIG_ERROR
1063 # error "wxListbook requires wxListCtrl"
1064 # else
1065 # undef wxUSE_LISTCTRL
1066 # define wxUSE_LISTCTRL 1
1067 # endif
1068 # endif
1069 #endif /* wxUSE_LISTBOOK */
1070
1071 #if wxUSE_CHOICEBOOK
1072 # if !wxUSE_CHOICE
1073 # ifdef wxABORT_ON_CONFIG_ERROR
1074 # error "wxChoicebook requires wxChoice"
1075 # else
1076 # undef wxUSE_CHOICE
1077 # define wxUSE_CHOICE 1
1078 # endif
1079 # endif
1080 #endif /* wxUSE_CHOICEBOOK */
1081
1082 /* don't attempt to use native status bar on the platforms not having it */
1083 #ifndef wxUSE_NATIVE_STATUSBAR
1084 # define wxUSE_NATIVE_STATUSBAR 0
1085 #elif wxUSE_NATIVE_STATUSBAR
1086 # if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \
1087 defined(__WXMAC__) || \
1088 defined(__WXPALMOS__) )
1089 # undef wxUSE_NATIVE_STATUSBAR
1090 # define wxUSE_NATIVE_STATUSBAR 0
1091 # endif
1092 #endif
1093
1094 /* wxUniv-specific dependencies */
1095 #if defined(__WXUNIVERSAL__)
1096 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1097 # ifdef wxABORT_ON_CONFIG_ERROR
1098 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1099 # else
1100 # undef wxUSE_POPUPWIN
1101 # define wxUSE_POPUPWIN 1
1102 # endif
1103 # endif
1104
1105 # if wxUSE_COMBOBOX
1106 # if !wxUSE_LISTBOX
1107 # ifdef wxABORT_ON_CONFIG_ERROR
1108 # error "wxComboBox requires wxListBox in wxUniversal"
1109 # else
1110 # undef wxUSE_LISTBOX
1111 # define wxUSE_LISTBOX 1
1112 # endif
1113 # endif
1114 # endif /* wxUSE_COMBOBOX */
1115
1116 # if wxUSE_RADIOBTN
1117 # if !wxUSE_CHECKBOX
1118 # ifdef wxABORT_ON_CONFIG_ERROR
1119 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1120 # else
1121 # undef wxUSE_CHECKBOX
1122 # define wxUSE_CHECKBOX 1
1123 # endif
1124 # endif
1125 # endif /* wxUSE_RADIOBTN */
1126
1127 # if wxUSE_TEXTCTRL
1128 # if !wxUSE_CARET
1129 # ifdef wxABORT_ON_CONFIG_ERROR
1130 # error "wxTextCtrl requires wxCaret in wxUniversal"
1131 # else
1132 # undef wxUSE_CARET
1133 # define wxUSE_CARET 1
1134 # endif
1135 # endif /* wxUSE_CARET */
1136
1137 # if !wxUSE_SCROLLBAR
1138 # ifdef wxABORT_ON_CONFIG_ERROR
1139 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
1140 # else
1141 # undef wxUSE_SCROLLBAR
1142 # define wxUSE_SCROLLBAR 1
1143 # endif
1144 # endif /* wxUSE_SCROLLBAR */
1145 # endif /* wxUSE_TEXTCTRL */
1146 #endif /* __WXUNIVERSAL__ */
1147
1148 /* wxGTK-specific dependencies */
1149 #ifdef __WXGTK__
1150 # ifndef __WXUNIVERSAL__
1151 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1152 # ifdef wxABORT_ON_CONFIG_ERROR
1153 # error "MDI requires wxUSE_MENUS in wxGTK"
1154 # else
1155 # undef wxUSE_MENUS
1156 # define wxUSE_MENUS 1
1157 # endif
1158 # endif
1159 # endif /* !__WXUNIVERSAL__ */
1160
1161 # if wxUSE_JOYSTICK
1162 # if !wxUSE_THREADS
1163 # ifdef wxABORT_ON_CONFIG_ERROR
1164 # error "wxJoystick requires threads in wxGTK"
1165 # else
1166 # undef wxUSE_JOYSTICK
1167 # define wxUSE_JOYSTICK 0
1168 # endif
1169 # endif
1170 # endif
1171 #endif /* wxGTK && !wxUniv */
1172
1173 /* wxMGL-specific dependencies */
1174 #ifdef __WXMGL__
1175 # if !wxUSE_PALETTE
1176 # error "wxMGL requires wxUSE_PALETTE=1"
1177 # endif
1178 #endif /* wxMGL */
1179
1180 /* Hopefully we can emulate these dialogs in due course */
1181 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
1182 # ifdef wxUSE_COLOURDLG
1183 # undef wxUSE_COLOURDLG
1184 # define wxUSE_COLOURDLG 0
1185 # endif
1186 #endif /* __SMARTPHONE__ && __WXWINCE__ */
1187
1188
1189 /* generic controls dependencies */
1190 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1191 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1192 /* all common controls are needed by these dialogs */
1193 # if !defined(wxUSE_CHOICE) || \
1194 !defined(wxUSE_TEXTCTRL) || \
1195 !defined(wxUSE_BUTTON) || \
1196 !defined(wxUSE_CHECKBOX) || \
1197 !defined(wxUSE_STATTEXT)
1198 # ifdef wxABORT_ON_CONFIG_ERROR
1199 # error "These common controls are needed by common dialogs"
1200 # else
1201 # undef wxUSE_CHOICE
1202 # define wxUSE_CHOICE 1
1203 # undef wxUSE_TEXTCTRL
1204 # define wxUSE_TEXTCTRL 1
1205 # undef wxUSE_BUTTON
1206 # define wxUSE_BUTTON 1
1207 # undef wxUSE_CHECKBOX
1208 # define wxUSE_CHECKBOX 1
1209 # undef wxUSE_STATTEXT
1210 # define wxUSE_STATTEXT 1
1211 # endif
1212 # endif
1213 # endif
1214 #endif /* !wxMSW || wxUniv */
1215
1216 /* common dependencies */
1217 #if wxUSE_CALENDARCTRL
1218 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1219 # ifdef wxABORT_ON_CONFIG_ERROR
1220 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1221 # else
1222 # undef wxUSE_SPINBTN
1223 # undef wxUSE_COMBOBOX
1224 # define wxUSE_SPINBTN 1
1225 # define wxUSE_COMBOBOX 1
1226 # endif
1227 # endif
1228
1229 # if !wxUSE_DATETIME
1230 # ifdef wxABORT_ON_CONFIG_ERROR
1231 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1232 # else
1233 # undef wxUSE_DATETIME
1234 # define wxUSE_DATETIME 1
1235 # endif
1236 # endif
1237 #endif /* wxUSE_CALENDARCTRL */
1238
1239 #if wxUSE_DATEPICKCTRL
1240 # if !wxUSE_DATETIME
1241 # ifdef wxABORT_ON_CONFIG_ERROR
1242 # error "wxDatePickerCtrl requires wxUSE_DATETIME"
1243 # else
1244 # undef wxUSE_DATETIME
1245 # define wxUSE_DATETIME 1
1246 # endif
1247 # endif
1248 #endif /* wxUSE_DATEPICKCTRL */
1249
1250 #if wxUSE_CHECKLISTBOX
1251 # if !wxUSE_LISTBOX
1252 # ifdef wxABORT_ON_CONFIG_ERROR
1253 # error "wxCheckListBox requires wxListBox"
1254 # else
1255 # undef wxUSE_LISTBOX
1256 # define wxUSE_LISTBOX 1
1257 # endif
1258 # endif
1259 #endif /* wxUSE_CHECKLISTBOX */
1260
1261 #if wxUSE_CHOICEDLG
1262 # if !wxUSE_LISTBOX
1263 # ifdef wxABORT_ON_CONFIG_ERROR
1264 # error "Choice dialogs requires wxListBox"
1265 # else
1266 # undef wxUSE_LISTBOX
1267 # define wxUSE_LISTBOX 1
1268 # endif
1269 # endif
1270 #endif /* wxUSE_CHOICEDLG */
1271
1272 #if wxUSE_HELP
1273 # if !wxUSE_BMPBUTTON
1274 # ifdef wxABORT_ON_CONFIG_ERROR
1275 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1276 # else
1277 # undef wxUSE_BMPBUTTON
1278 # define wxUSE_BMPBUTTON 1
1279 # endif
1280 # endif
1281
1282 # if !wxUSE_CHOICEDLG
1283 # ifdef wxABORT_ON_CONFIG_ERROR
1284 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1285 # else
1286 # undef wxUSE_CHOICEDLG
1287 # define wxUSE_CHOICEDLG 1
1288 # endif
1289 # endif
1290 #endif /* wxUSE_HELP */
1291
1292 #if wxUSE_WXHTML_HELP
1293 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
1294 # ifdef wxABORT_ON_CONFIG_ERROR
1295 # error "Built in help controller can't be compiled"
1296 # else
1297 # undef wxUSE_HELP
1298 # define wxUSE_HELP 1
1299 # undef wxUSE_HTML
1300 # define wxUSE_HTML 1
1301 # undef wxUSE_COMBOBOX
1302 # define wxUSE_COMBOBOX 1
1303 # undef wxUSE_NOTEBOOK
1304 # define wxUSE_NOTEBOOK 1
1305 # undef wxUSE_SPINCTRL
1306 # define wxUSE_SPINCTRL 1
1307 # endif
1308 # endif
1309 #endif /* wxUSE_WXHTML_HELP */
1310
1311 #if !wxUSE_IMAGE
1312 /*
1313 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1314 user explicitly wants this and disable all other features that require
1315 wxUSE_IMAGE.
1316 */
1317 # if wxUSE_DRAGIMAGE
1318 # ifdef wxABORT_ON_CONFIG_ERROR
1319 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1320 # else
1321 # undef wxUSE_DRAGIMAGE
1322 # define wxUSE_DRAGIMAGE 0
1323 # endif
1324 # endif
1325
1326 # if wxUSE_LIBPNG
1327 # ifdef wxABORT_ON_CONFIG_ERROR
1328 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1329 # else
1330 # undef wxUSE_LIBPNG
1331 # define wxUSE_LIBPNG 0
1332 # endif
1333 # endif
1334
1335 # if wxUSE_LIBJPEG
1336 # ifdef wxABORT_ON_CONFIG_ERROR
1337 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1338 # else
1339 # undef wxUSE_LIBJPEG
1340 # define wxUSE_LIBJPEG 0
1341 # endif
1342 # endif
1343
1344 # if wxUSE_LIBTIFF
1345 # ifdef wxABORT_ON_CONFIG_ERROR
1346 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1347 # else
1348 # undef wxUSE_LIBTIFF
1349 # define wxUSE_LIBTIFF 0
1350 # endif
1351 # endif
1352
1353 # if wxUSE_GIF
1354 # ifdef wxABORT_ON_CONFIG_ERROR
1355 # error "wxUSE_GIF requires wxUSE_IMAGE"
1356 # else
1357 # undef wxUSE_GIF
1358 # define wxUSE_GIF 0
1359 # endif
1360 # endif
1361
1362 # if wxUSE_PNM
1363 # ifdef wxABORT_ON_CONFIG_ERROR
1364 # error "wxUSE_PNM requires wxUSE_IMAGE"
1365 # else
1366 # undef wxUSE_PNM
1367 # define wxUSE_PNM 0
1368 # endif
1369 # endif
1370
1371 # if wxUSE_PCX
1372 # ifdef wxABORT_ON_CONFIG_ERROR
1373 # error "wxUSE_PCX requires wxUSE_IMAGE"
1374 # else
1375 # undef wxUSE_PCX
1376 # define wxUSE_PCX 0
1377 # endif
1378 # endif
1379
1380 # if wxUSE_IFF
1381 # ifdef wxABORT_ON_CONFIG_ERROR
1382 # error "wxUSE_IFF requires wxUSE_IMAGE"
1383 # else
1384 # undef wxUSE_IFF
1385 # define wxUSE_IFF 0
1386 # endif
1387 # endif
1388
1389 # if wxUSE_TOOLBAR
1390 # ifdef wxABORT_ON_CONFIG_ERROR
1391 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1392 # else
1393 # undef wxUSE_TOOLBAR
1394 # define wxUSE_TOOLBAR 0
1395 # endif
1396 # endif
1397
1398 # if wxUSE_XPM
1399 # ifdef wxABORT_ON_CONFIG_ERROR
1400 # error "wxUSE_XPM requires wxUSE_IMAGE"
1401 # else
1402 # undef wxUSE_XPM
1403 # define wxUSE_XPM 0
1404 # endif
1405 # endif
1406
1407 #endif /* !wxUSE_IMAGE */
1408
1409 #if wxUSE_DOC_VIEW_ARCHITECTURE
1410 # if !wxUSE_MENUS
1411 # ifdef wxABORT_ON_CONFIG_ERROR
1412 # error "DocView requires wxUSE_MENUS"
1413 # else
1414 # undef wxUSE_MENUS
1415 # define wxUSE_MENUS 1
1416 # endif
1417 # endif
1418
1419 # if !wxUSE_CHOICEDLG
1420 # ifdef wxABORT_ON_CONFIG_ERROR
1421 # error "DocView requires wxUSE_CHOICEDLG"
1422 # else
1423 # undef wxUSE_CHOICEDLG
1424 # define wxUSE_CHOICEDLG 1
1425 # endif
1426 # endif
1427
1428 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1429 # ifdef wxABORT_ON_CONFIG_ERROR
1430 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1431 # else
1432 # undef wxUSE_STREAMS
1433 # define wxUSE_STREAMS 1
1434 # endif
1435 # endif
1436 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1437
1438 #if wxUSE_PRINTING_ARCHITECTURE
1439 # if !wxUSE_COMBOBOX
1440 # ifdef wxABORT_ON_CONFIG_ERROR
1441 # error "Print dialog requires wxUSE_COMBOBOX"
1442 # else
1443 # undef wxUSE_COMBOBOX
1444 # define wxUSE_COMBOBOX 1
1445 # endif
1446 # endif
1447 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1448
1449 #if wxUSE_MDI_ARCHITECTURE
1450 # if !wxUSE_MDI
1451 # ifdef wxABORT_ON_CONFIG_ERROR
1452 # error "MDI requires wxUSE_MDI"
1453 # else
1454 # undef wxUSE_MDI
1455 # define wxUSE_MDI 1
1456 # endif
1457 # endif
1458
1459 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1460 # ifdef wxABORT_ON_CONFIG_ERROR
1461 # error "wxUSE_MDI_ARCHITECTURE requires wxUSE_DOC_VIEW_ARCHITECTURE"
1462 # else
1463 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1464 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1465 # endif
1466 # endif
1467 #endif /* wxUSE_MDI_ARCHITECTURE */
1468
1469 #if !wxUSE_FILEDLG
1470 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1471 # ifdef wxABORT_ON_CONFIG_ERROR
1472 # error "wxUSE_FILEDLG is required by wxUSE_DOC_VIEW_ARCHITECTURE and wxUSE_WXHTML_HELP!"
1473 # else
1474 # undef wxUSE_FILEDLG
1475 # define wxUSE_FILEDLG 1
1476 # endif
1477 # endif
1478 #endif /* wxUSE_FILEDLG */
1479
1480 #if !wxUSE_GAUGE || !wxUSE_BUTTON
1481 # if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__)
1482 # ifdef wxABORT_ON_CONFIG_ERROR
1483 # error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
1484 # else
1485 # undef wxUSE_GAUGE
1486 # undef wxUSE_BUTTON
1487 # define wxUSE_GAUGE 1
1488 # define wxUSE_BUTTON 1
1489 # endif
1490 # endif
1491 #endif /* !wxUSE_GAUGE */
1492
1493 #if !wxUSE_BUTTON
1494 # if wxUSE_FONTDLG || \
1495 wxUSE_FILEDLG || \
1496 wxUSE_CHOICEDLG || \
1497 wxUSE_NUMBERDLG || \
1498 wxUSE_TEXTDLG || \
1499 wxUSE_DIRDLG || \
1500 wxUSE_STARTUP_TIPS || \
1501 wxUSE_WIZARDDLG
1502 # ifdef wxABORT_ON_CONFIG_ERROR
1503 # error "Common and generic dialogs require wxUSE_BUTTON"
1504 # else
1505 # undef wxUSE_BUTTON
1506 # define wxUSE_BUTTON 1
1507 # endif
1508 # endif
1509 #endif /* !wxUSE_BUTTON */
1510
1511 #if !wxUSE_TOOLBAR
1512 # if wxUSE_TOOLBAR_NATIVE
1513 # ifdef wxABORT_ON_CONFIG_ERROR
1514 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1515 # else
1516 # undef wxUSE_TOOLBAR_NATIVE
1517 # define wxUSE_TOOLBAR_NATIVE 0
1518 # endif
1519 # endif
1520
1521 # if wxUSE_TOOLBAR_SIMPLE
1522 # ifdef wxABORT_ON_CONFIG_ERROR
1523 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1524 # else
1525 # undef wxUSE_TOOLBAR_SIMPLE
1526 # define wxUSE_TOOLBAR_SIMPLE 0
1527 # endif
1528 # endif
1529 #endif
1530
1531 #if !wxUSE_IMAGLIST
1532 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1533 # ifdef wxABORT_ON_CONFIG_ERROR
1534 # error "wxImageList must be compiled as well"
1535 # else
1536 # undef wxUSE_IMAGLIST
1537 # define wxUSE_IMAGLIST 1
1538 # endif
1539 # endif
1540 #endif /* !wxUSE_IMAGLIST */
1541
1542 #if !wxUSE_MSGDLG
1543 # ifdef wxABORT_ON_CONFIG_ERROR
1544 /* FIXME: should compile without it, of course, but doesn't */
1545 # error "wxMessageBox is always needed"
1546 # else
1547 # undef wxUSE_MSGDLG
1548 # define wxUSE_MSGDLG 1
1549 # endif
1550 #endif
1551
1552 #if wxUSE_RADIOBOX
1553 # if !wxUSE_RADIOBTN
1554 # ifdef wxABORT_ON_CONFIG_ERROR
1555 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN"
1556 # else
1557 # undef wxUSE_RADIOBTN
1558 # define wxUSE_RADIOBTN 1
1559 # endif
1560 # endif
1561 # if !wxUSE_STATBOX && !defined(__WXPALMOS__)
1562 # ifdef wxABORT_ON_CONFIG_ERROR
1563 # error "wxUSE_RADIOBOX requires wxUSE_STATBOX"
1564 # else
1565 # undef wxUSE_STATBOX
1566 # define wxUSE_STATBOX 1
1567 # endif
1568 # endif
1569 #endif /* wxUSE_RADIOBOX */
1570
1571 #if wxUSE_LOGWINDOW
1572 # if !wxUSE_TEXTCTRL
1573 # ifdef wxABORT_ON_CONFIG_ERROR
1574 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1575 # else
1576 # undef wxUSE_TEXTCTRL
1577 # define wxUSE_TEXTCTRL 1
1578 # endif
1579 # endif
1580 #endif /* wxUSE_LOGWINDOW */
1581
1582 #if wxUSE_LOG_DIALOG
1583 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1584 # ifdef wxABORT_ON_CONFIG_ERROR
1585 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1586 # else
1587 # undef wxUSE_LISTCTRL
1588 # define wxUSE_LISTCTRL 1
1589 # undef wxUSE_BUTTON
1590 # define wxUSE_BUTTON 1
1591 # endif
1592 # endif
1593 #endif /* wxUSE_LOG_DIALOG */
1594
1595 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1596 # ifdef wxABORT_ON_CONFIG_ERROR
1597 # error "wxClipboard requires wxDataObject"
1598 # else
1599 # undef wxUSE_DATAOBJ
1600 # define wxUSE_DATAOBJ 1
1601 # endif
1602 #endif /* wxUSE_CLIPBOARD */
1603
1604 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1605 # ifdef wxABORT_ON_CONFIG_ERROR
1606 # error "wxr resources require PrologIO"
1607 # else
1608 # undef wxUSE_PROLOGIO
1609 # define wxUSE_PROLOGIO 1
1610 # endif
1611 #endif /* wxUSE_WX_RESOURCES */
1612
1613 #if wxUSE_XRC && !wxUSE_XML
1614 # ifdef wxABORT_ON_CONFIG_ERROR
1615 # error "wxUSE_XRC requires wxUSE_XML"
1616 # else
1617 # undef wxUSE_XRC
1618 # define wxUSE_XRC 0
1619 # endif
1620 #endif /* wxUSE_XRC */
1621
1622 #if wxUSE_SOCKETS && !wxUSE_STOPWATCH
1623 # ifdef wxABORT_ON_CONFIG_ERROR
1624 # error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
1625 # else
1626 # undef wxUSE_SOCKETS
1627 # define wxUSE_SOCKETS 0
1628 # endif
1629 #endif /* wxUSE_SOCKETS */
1630
1631 #endif /* wxUSE_GUI */