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