]> git.saurik.com Git - wxWidgets.git/blob - include/wx/chkconf.h
Make list consistent with tree in terms of Vetoed changes closing the inline edit...
[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 /* the rest of the tests is for the GUI settings only */
928 #if wxUSE_GUI
929
930 #if wxUSE_BUTTON || \
931 wxUSE_CALENDARCTRL || \
932 wxUSE_CARET || \
933 wxUSE_COMBOBOX || \
934 wxUSE_BMPBUTTON || \
935 wxUSE_CHECKBOX || \
936 wxUSE_CHECKLISTBOX || \
937 wxUSE_CHOICE || \
938 wxUSE_GAUGE || \
939 wxUSE_GRID || \
940 wxUSE_LISTBOX || \
941 wxUSE_LISTCTRL || \
942 wxUSE_NOTEBOOK || \
943 wxUSE_RADIOBOX || \
944 wxUSE_RADIOBTN || \
945 wxUSE_SCROLLBAR || \
946 wxUSE_SLIDER || \
947 wxUSE_SPINBTN || \
948 wxUSE_SPINCTRL || \
949 wxUSE_STATBMP || \
950 wxUSE_STATBOX || \
951 wxUSE_STATLINE || \
952 wxUSE_STATTEXT || \
953 wxUSE_STATUSBAR || \
954 wxUSE_TEXTCTRL || \
955 wxUSE_TOOLBAR || \
956 wxUSE_TREECTRL
957 # if !wxUSE_CONTROLS
958 # ifdef wxABORT_ON_CONFIG_ERROR
959 # error "wxUSE_CONTROLS unset but some controls used"
960 # else
961 # undef wxUSE_CONTROLS
962 # define wxUSE_CONTROLS 1
963 # endif
964 # endif
965 #endif /* controls */
966
967 #if wxUSE_BMPBUTTON
968 # if !wxUSE_BUTTON
969 # ifdef wxABORT_ON_CONFIG_ERROR
970 # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
971 # else
972 # undef wxUSE_BUTTON
973 # define wxUSE_BUTTON 1
974 # endif
975 # endif
976 #endif /* wxUSE_BMPBUTTON */
977
978 #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
979 # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
980 # ifdef wxABORT_ON_CONFIG_ERROR
981 # error "wxUSE_BOOKCTRL must be set."
982 # else
983 # undef wxUSE_BOOKCTRL
984 # endif
985 # endif
986
987 # ifndef wxUSE_BOOKCTRL
988 # define wxUSE_BOOKCTRL 1
989 # endif
990 #endif /* wxUSE_NOTEBOOK */
991
992 #if wxUSE_LISTBOOK
993 # if !wxUSE_LISTCTRL
994 # ifdef wxABORT_ON_CONFIG_ERROR
995 # error "wxListbook requires wxListCtrl"
996 # else
997 # undef wxUSE_LISTCTRL
998 # define wxUSE_LISTCTRL 1
999 # endif
1000 # endif
1001 #endif /* wxUSE_LISTBOOK */
1002
1003 #if wxUSE_CHOICEBOOK
1004 # if !wxUSE_CHOICE
1005 # ifdef wxABORT_ON_CONFIG_ERROR
1006 # error "wxChoicebook requires wxChoice"
1007 # else
1008 # undef wxUSE_CHOICE
1009 # define wxUSE_CHOICE 1
1010 # endif
1011 # endif
1012 #endif /* wxUSE_CHOICEBOOK */
1013
1014 /* don't attempt to use native status bar on the platforms not having it */
1015 #ifndef wxUSE_NATIVE_STATUSBAR
1016 # define wxUSE_NATIVE_STATUSBAR 0
1017 #elif wxUSE_NATIVE_STATUSBAR
1018 # if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \
1019 defined(__WXMAC__) || \
1020 defined(__WXPALMOS__) )
1021 # undef wxUSE_NATIVE_STATUSBAR
1022 # define wxUSE_NATIVE_STATUSBAR 0
1023 # endif
1024 #endif
1025
1026 /* wxUniv-specific dependencies */
1027 #if defined(__WXUNIVERSAL__)
1028 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1029 # ifdef wxABORT_ON_CONFIG_ERROR
1030 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1031 # else
1032 # undef wxUSE_POPUPWIN
1033 # define wxUSE_POPUPWIN 1
1034 # endif
1035 # endif
1036
1037 # if wxUSE_COMBOBOX
1038 # if !wxUSE_LISTBOX
1039 # ifdef wxABORT_ON_CONFIG_ERROR
1040 # error "wxComboBox requires wxListBox in wxUniversal"
1041 # else
1042 # undef wxUSE_LISTBOX
1043 # define wxUSE_LISTBOX 1
1044 # endif
1045 # endif
1046 # endif /* wxUSE_COMBOBOX */
1047
1048 # if wxUSE_RADIOBTN
1049 # if !wxUSE_CHECKBOX
1050 # ifdef wxABORT_ON_CONFIG_ERROR
1051 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1052 # else
1053 # undef wxUSE_CHECKBOX
1054 # define wxUSE_CHECKBOX 1
1055 # endif
1056 # endif
1057 # endif /* wxUSE_RADIOBTN */
1058
1059 # if wxUSE_TEXTCTRL
1060 # if !wxUSE_CARET
1061 # ifdef wxABORT_ON_CONFIG_ERROR
1062 # error "wxTextCtrl requires wxCaret in wxUniversal"
1063 # else
1064 # undef wxUSE_CARET
1065 # define wxUSE_CARET 1
1066 # endif
1067 # endif /* wxUSE_CARET */
1068
1069 # if !wxUSE_SCROLLBAR
1070 # ifdef wxABORT_ON_CONFIG_ERROR
1071 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
1072 # else
1073 # undef wxUSE_SCROLLBAR
1074 # define wxUSE_SCROLLBAR 1
1075 # endif
1076 # endif /* wxUSE_SCROLLBAR */
1077 # endif /* wxUSE_TEXTCTRL */
1078 #endif /* __WXUNIVERSAL__ */
1079
1080 /* wxGTK-specific dependencies */
1081 #ifdef __WXGTK__
1082 # ifndef __WXUNIVERSAL__
1083 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1084 # ifdef wxABORT_ON_CONFIG_ERROR
1085 # error "MDI requires wxUSE_MENUS in wxGTK"
1086 # else
1087 # undef wxUSE_MENUS
1088 # define wxUSE_MENUS 1
1089 # endif
1090 # endif
1091 # endif /* !__WXUNIVERSAL__ */
1092
1093 # if wxUSE_JOYSTICK
1094 # if !wxUSE_THREADS
1095 # ifdef wxABORT_ON_CONFIG_ERROR
1096 # error "wxJoystick requires threads in wxGTK"
1097 # else
1098 # undef wxUSE_JOYSTICK
1099 # define wxUSE_JOYSTICK 0
1100 # endif
1101 # endif
1102 # endif
1103 #endif /* wxGTK && !wxUniv */
1104
1105 /* wxMSW-specific dependencies */
1106 #ifdef __WXMSW__
1107 # ifndef wxUSE_UNICODE_MSLU
1108 # ifdef wxABORT_ON_CONFIG_ERROR
1109 # error "wxUSE_UNICODE_MSLU must be defined."
1110 # else
1111 # define wxUSE_UNICODE_MSLU 0
1112 # endif
1113 # endif /* wxUSE_UNICODE_MSLU */
1114 # ifndef wxUSE_UXTHEME
1115 # ifdef wxABORT_ON_CONFIG_ERROR
1116 # error "wxUSE_UXTHEME must be defined."
1117 # else
1118 # define wxUSE_UXTHEME 0
1119 # endif
1120 # endif /* wxUSE_UXTHEME */
1121 # ifndef wxUSE_UXTHEME_AUTO
1122 # ifdef wxABORT_ON_CONFIG_ERROR
1123 # error "wxUSE_UXTHEME_AUTO must be defined."
1124 # else
1125 # define wxUSE_UXTHEME_AUTO 0
1126 # endif
1127 # endif /* wxUSE_UXTHEME_AUTO */
1128 # ifndef wxUSE_MS_HTML_HELP
1129 # ifdef wxABORT_ON_CONFIG_ERROR
1130 # error "wxUSE_MS_HTML_HELP must be defined."
1131 # else
1132 # define wxUSE_MS_HTML_HELP 0
1133 # endif
1134 # endif /* !defined(wxUSE_MS_HTML_HELP) */
1135 # ifndef wxUSE_DIALUP_MANAGER
1136 # ifdef wxABORT_ON_CONFIG_ERROR
1137 # error "wxUSE_DIALUP_MANAGER must be defined."
1138 # else
1139 # define wxUSE_DIALUP_MANAGER 0
1140 # endif
1141 # endif /* !defined(wxUSE_DIALUP_MANAGER) */
1142
1143 # if !wxUSE_DYNAMIC_LOADER
1144 # if wxUSE_MS_HTML_HELP
1145 # ifdef wxABORT_ON_CONFIG_ERROR
1146 # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1147 # else
1148 # define wxUSE_DYNAMIC_LOADER 1
1149 # endif
1150 # endif
1151 # if wxUSE_DIALUP_MANAGER
1152 # ifdef wxABORT_ON_CONFIG_ERROR
1153 # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1154 # else
1155 # define wxUSE_DYNAMIC_LOADER 1
1156 # endif
1157 # endif
1158 # endif /* wxUSE_DYNAMIC_LOADER */
1159
1160 #endif /* wxMSW */
1161
1162 /* wxMAC-specific dependencies */
1163 #ifdef __WXMAC__
1164 # if wxUSE_UNICODE
1165 # if !TARGET_CARBON
1166 # ifdef wxABORT_ON_CONFIG_ERROR
1167 # error "wxUSE_UNICODE is only supported for Carbon Targets."
1168 # else
1169 # define wxUSE_UNICODE 0
1170 # endif
1171 # endif
1172 # endif
1173 #endif /* wxMAC */
1174 /* wxMotif-specific dependencies */
1175 #if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1176 # undef wxUSE_TAB_DIALOG
1177 # define wxUSE_TAB_DIALOG 1
1178 #endif
1179
1180 /* wxMGL-specific dependencies */
1181 #ifdef __WXMGL__
1182 # if !wxUSE_PALETTE
1183 # error "wxMGL requires wxUSE_PALETTE=1"
1184 # endif
1185 #endif /* wxMGL */
1186
1187 /* Hopefully we can emulate these dialogs in due course */
1188 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
1189 # ifdef wxUSE_COLOURDLG
1190 # undef wxUSE_COLOURDLG
1191 # define wxUSE_COLOURDLG 0
1192 # endif
1193 #endif /* __SMARTPHONE__ && __WXWINCE__ */
1194
1195
1196 /* generic controls dependencies */
1197 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1198 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1199 /* all common controls are needed by these dialogs */
1200 # if !defined(wxUSE_CHOICE) || \
1201 !defined(wxUSE_TEXTCTRL) || \
1202 !defined(wxUSE_BUTTON) || \
1203 !defined(wxUSE_CHECKBOX) || \
1204 !defined(wxUSE_STATTEXT)
1205 # ifdef wxABORT_ON_CONFIG_ERROR
1206 # error "These common controls are needed by common dialogs"
1207 # else
1208 # undef wxUSE_CHOICE
1209 # define wxUSE_CHOICE 1
1210 # undef wxUSE_TEXTCTRL
1211 # define wxUSE_TEXTCTRL 1
1212 # undef wxUSE_BUTTON
1213 # define wxUSE_BUTTON 1
1214 # undef wxUSE_CHECKBOX
1215 # define wxUSE_CHECKBOX 1
1216 # undef wxUSE_STATTEXT
1217 # define wxUSE_STATTEXT 1
1218 # endif
1219 # endif
1220 # endif
1221 #endif /* !wxMSW || wxUniv */
1222
1223 /* common dependencies */
1224 #if wxUSE_CALENDARCTRL
1225 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1226 # ifdef wxABORT_ON_CONFIG_ERROR
1227 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1228 # else
1229 # undef wxUSE_SPINBTN
1230 # undef wxUSE_COMBOBOX
1231 # define wxUSE_SPINBTN 1
1232 # define wxUSE_COMBOBOX 1
1233 # endif
1234 # endif
1235
1236 # if !wxUSE_DATETIME
1237 # ifdef wxABORT_ON_CONFIG_ERROR
1238 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1239 # else
1240 # undef wxUSE_DATETIME
1241 # define wxUSE_DATETIME 1
1242 # endif
1243 # endif
1244 #endif /* wxUSE_CALENDARCTRL */
1245
1246 #if wxUSE_CHECKLISTBOX
1247 # if !wxUSE_LISTBOX
1248 # ifdef wxABORT_ON_CONFIG_ERROR
1249 # error "wxCheckListBox requires wxListBox"
1250 # else
1251 # undef wxUSE_LISTBOX
1252 # define wxUSE_LISTBOX 1
1253 # endif
1254 # endif
1255 #endif /* wxUSE_CHECKLISTBOX */
1256
1257 #if wxUSE_CHOICEDLG
1258 # if !wxUSE_LISTBOX
1259 # ifdef wxABORT_ON_CONFIG_ERROR
1260 # error "Choice dialogs requires wxListBox"
1261 # else
1262 # undef wxUSE_LISTBOX
1263 # define wxUSE_LISTBOX 1
1264 # endif
1265 # endif
1266 #endif /* wxUSE_CHOICEDLG */
1267
1268 #if wxUSE_HELP
1269 # if !wxUSE_BMPBUTTON
1270 # ifdef wxABORT_ON_CONFIG_ERROR
1271 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1272 # else
1273 # undef wxUSE_BMPBUTTON
1274 # define wxUSE_BMPBUTTON 1
1275 # endif
1276 # endif
1277
1278 # if !wxUSE_CHOICEDLG
1279 # ifdef wxABORT_ON_CONFIG_ERROR
1280 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1281 # else
1282 # undef wxUSE_CHOICEDLG
1283 # define wxUSE_CHOICEDLG 1
1284 # endif
1285 # endif
1286 #endif /* wxUSE_HELP */
1287
1288 #if wxUSE_WXHTML_HELP
1289 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
1290 # ifdef wxABORT_ON_CONFIG_ERROR
1291 # error "Built in help controller can't be compiled"
1292 # else
1293 # undef wxUSE_HELP
1294 # define wxUSE_HELP 1
1295 # undef wxUSE_HTML
1296 # define wxUSE_HTML 1
1297 # undef wxUSE_COMBOBOX
1298 # define wxUSE_COMBOBOX 1
1299 # undef wxUSE_NOTEBOOK
1300 # define wxUSE_NOTEBOOK 1
1301 # undef wxUSE_SPINCTRL
1302 # define wxUSE_SPINCTRL 1
1303 # endif
1304 # endif
1305 #endif /* wxUSE_WXHTML_HELP */
1306
1307 #if !wxUSE_IMAGE
1308 /*
1309 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1310 user explicitly wants this and disable all other features that require
1311 wxUSE_IMAGE.
1312 */
1313 # if wxUSE_DRAGIMAGE
1314 # ifdef wxABORT_ON_CONFIG_ERROR
1315 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1316 # else
1317 # undef wxUSE_DRAGIMAGE
1318 # define wxUSE_DRAGIMAGE 0
1319 # endif
1320 # endif
1321
1322 # if wxUSE_LIBPNG
1323 # ifdef wxABORT_ON_CONFIG_ERROR
1324 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1325 # else
1326 # undef wxUSE_LIBPNG
1327 # define wxUSE_LIBPNG 0
1328 # endif
1329 # endif
1330
1331 # if wxUSE_LIBJPEG
1332 # ifdef wxABORT_ON_CONFIG_ERROR
1333 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1334 # else
1335 # undef wxUSE_LIBJPEG
1336 # define wxUSE_LIBJPEG 0
1337 # endif
1338 # endif
1339
1340 # if wxUSE_LIBTIFF
1341 # ifdef wxABORT_ON_CONFIG_ERROR
1342 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1343 # else
1344 # undef wxUSE_LIBTIFF
1345 # define wxUSE_LIBTIFF 0
1346 # endif
1347 # endif
1348
1349 # if wxUSE_GIF
1350 # ifdef wxABORT_ON_CONFIG_ERROR
1351 # error "wxUSE_GIF requires wxUSE_IMAGE"
1352 # else
1353 # undef wxUSE_GIF
1354 # define wxUSE_GIF 0
1355 # endif
1356 # endif
1357
1358 # if wxUSE_PNM
1359 # ifdef wxABORT_ON_CONFIG_ERROR
1360 # error "wxUSE_PNM requires wxUSE_IMAGE"
1361 # else
1362 # undef wxUSE_PNM
1363 # define wxUSE_PNM 0
1364 # endif
1365 # endif
1366
1367 # if wxUSE_PCX
1368 # ifdef wxABORT_ON_CONFIG_ERROR
1369 # error "wxUSE_PCX requires wxUSE_IMAGE"
1370 # else
1371 # undef wxUSE_PCX
1372 # define wxUSE_PCX 0
1373 # endif
1374 # endif
1375
1376 # if wxUSE_IFF
1377 # ifdef wxABORT_ON_CONFIG_ERROR
1378 # error "wxUSE_IFF requires wxUSE_IMAGE"
1379 # else
1380 # undef wxUSE_IFF
1381 # define wxUSE_IFF 0
1382 # endif
1383 # endif
1384
1385 # if wxUSE_TOOLBAR
1386 # ifdef wxABORT_ON_CONFIG_ERROR
1387 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1388 # else
1389 # undef wxUSE_TOOLBAR
1390 # define wxUSE_TOOLBAR 0
1391 # endif
1392 # endif
1393
1394 # if wxUSE_XPM
1395 # ifdef wxABORT_ON_CONFIG_ERROR
1396 # error "wxUSE_XPM requires wxUSE_IMAGE"
1397 # else
1398 # undef wxUSE_XPM
1399 # define wxUSE_XPM 0
1400 # endif
1401 # endif
1402
1403 #endif /* !wxUSE_IMAGE */
1404
1405 #if wxUSE_DOC_VIEW_ARCHITECTURE
1406 # if !wxUSE_MENUS
1407 # ifdef wxABORT_ON_CONFIG_ERROR
1408 # error "DocView requires wxUSE_MENUS"
1409 # else
1410 # undef wxUSE_MENUS
1411 # define wxUSE_MENUS 1
1412 # endif
1413 # endif
1414
1415 # if !wxUSE_CHOICEDLG
1416 # ifdef wxABORT_ON_CONFIG_ERROR
1417 # error "DocView requires wxUSE_CHOICEDLG"
1418 # else
1419 # undef wxUSE_CHOICEDLG
1420 # define wxUSE_CHOICEDLG 1
1421 # endif
1422 # endif
1423
1424 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1425 # ifdef wxABORT_ON_CONFIG_ERROR
1426 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1427 # else
1428 # undef wxUSE_STREAMS
1429 # define wxUSE_STREAMS 1
1430 # endif
1431 # endif
1432 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1433
1434 #if wxUSE_PRINTING_ARCHITECTURE
1435 # if !wxUSE_COMBOBOX
1436 # ifdef wxABORT_ON_CONFIG_ERROR
1437 # error "Print dialog requires wxUSE_COMBOBOX"
1438 # else
1439 # undef wxUSE_COMBOBOX
1440 # define wxUSE_COMBOBOX 1
1441 # endif
1442 # endif
1443 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1444
1445 #if wxUSE_MDI_ARCHITECTURE
1446 # if !wxUSE_MDI
1447 # ifdef wxABORT_ON_CONFIG_ERROR
1448 # error "MDI requires wxUSE_MDI"
1449 # else
1450 # undef wxUSE_MDI
1451 # define wxUSE_MDI 1
1452 # endif
1453 # endif
1454
1455 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1456 # ifdef wxABORT_ON_CONFIG_ERROR
1457 # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1458 # else
1459 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1460 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1461 # endif
1462 # endif
1463 #endif /* wxUSE_MDI_ARCHITECTURE */
1464
1465 #if !wxUSE_FILEDLG
1466 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1467 # ifdef wxABORT_ON_CONFIG_ERROR
1468 # error "wxFileDialog must be compiled as well"
1469 # else
1470 # undef wxUSE_FILEDLG
1471 # define wxUSE_FILEDLG 1
1472 # endif
1473 # endif
1474 #endif /* wxUSE_FILEDLG */
1475
1476 #if !wxUSE_GAUGE || !wxUSE_BUTTON
1477 # if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__)
1478 # ifdef wxABORT_ON_CONFIG_ERROR
1479 # error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
1480 # else
1481 # undef wxUSE_GAUGE
1482 # undef wxUSE_BUTTON
1483 # define wxUSE_GAUGE 1
1484 # define wxUSE_BUTTON 1
1485 # endif
1486 # endif
1487 #endif /* !wxUSE_GAUGE */
1488
1489 #if !wxUSE_BUTTON
1490 # if wxUSE_FONTDLG || \
1491 wxUSE_FILEDLG || \
1492 wxUSE_CHOICEDLG || \
1493 wxUSE_NUMBERDLG || \
1494 wxUSE_TEXTDLG || \
1495 wxUSE_DIRDLG || \
1496 wxUSE_STARTUP_TIPS || \
1497 wxUSE_WIZARDDLG
1498 # ifdef wxABORT_ON_CONFIG_ERROR
1499 # error "Common and generic dialogs require wxUSE_BUTTON"
1500 # else
1501 # undef wxUSE_BUTTON
1502 # define wxUSE_BUTTON 1
1503 # endif
1504 # endif
1505 #endif /* !wxUSE_BUTTON */
1506
1507 #if !wxUSE_TOOLBAR
1508 # if wxUSE_TOOLBAR_NATIVE
1509 # ifdef wxABORT_ON_CONFIG_ERROR
1510 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1511 # else
1512 # undef wxUSE_TOOLBAR_NATIVE
1513 # define wxUSE_TOOLBAR_NATIVE 0
1514 # endif
1515 # endif
1516
1517 # if wxUSE_TOOLBAR_SIMPLE
1518 # ifdef wxABORT_ON_CONFIG_ERROR
1519 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1520 # else
1521 # undef wxUSE_TOOLBAR_SIMPLE
1522 # define wxUSE_TOOLBAR_SIMPLE 0
1523 # endif
1524 # endif
1525 #endif
1526
1527 #if !wxUSE_IMAGLIST
1528 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1529 # ifdef wxABORT_ON_CONFIG_ERROR
1530 # error "wxImageList must be compiled as well"
1531 # else
1532 # undef wxUSE_IMAGLIST
1533 # define wxUSE_IMAGLIST 1
1534 # endif
1535 # endif
1536 #endif /* !wxUSE_IMAGLIST */
1537
1538 #if !wxUSE_MSGDLG
1539 # ifdef wxABORT_ON_CONFIG_ERROR
1540 /* FIXME: should compile without it, of course, but doesn't */
1541 # error "wxMessageBox is always needed"
1542 # else
1543 # undef wxUSE_MSGDLG
1544 # define wxUSE_MSGDLG 1
1545 # endif
1546 #endif
1547
1548 #if wxUSE_RADIOBOX
1549 # if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1550 # ifdef wxABORT_ON_CONFIG_ERROR
1551 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1552 # else
1553 # undef wxUSE_RADIOBTN
1554 # undef wxUSE_STATBOX
1555 # define wxUSE_RADIOBTN 1
1556 # define wxUSE_STATBOX 1
1557 # endif
1558 # endif
1559 #endif /* wxUSE_RADIOBOX */
1560
1561 #if wxUSE_LOGWINDOW
1562 # if !wxUSE_TEXTCTRL
1563 # ifdef wxABORT_ON_CONFIG_ERROR
1564 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1565 # else
1566 # undef wxUSE_TEXTCTRL
1567 # define wxUSE_TEXTCTRL 1
1568 # endif
1569 # endif
1570 #endif /* wxUSE_LOGWINDOW */
1571
1572 #if wxUSE_LOG_DIALOG
1573 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1574 # ifdef wxABORT_ON_CONFIG_ERROR
1575 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1576 # else
1577 # undef wxUSE_LISTCTRL
1578 # define wxUSE_LISTCTRL 1
1579 # undef wxUSE_BUTTON
1580 # define wxUSE_BUTTON 1
1581 # endif
1582 # endif
1583 #endif /* wxUSE_LOG_DIALOG */
1584
1585 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1586 # ifdef wxABORT_ON_CONFIG_ERROR
1587 # error "wxClipboard requires wxDataObject"
1588 # else
1589 # undef wxUSE_DATAOBJ
1590 # define wxUSE_DATAOBJ 1
1591 # endif
1592 #endif /* wxUSE_CLIPBOARD */
1593
1594 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1595 # ifdef wxABORT_ON_CONFIG_ERROR
1596 # error "wxr resources require PrologIO"
1597 # else
1598 # undef wxUSE_PROLOGIO
1599 # define wxUSE_PROLOGIO 1
1600 # endif
1601 #endif /* wxUSE_WX_RESOURCES */
1602
1603 #if wxUSE_XRC && !wxUSE_XML
1604 # ifdef wxABORT_ON_CONFIG_ERROR
1605 # error "wxUSE_XRC requires wxUSE_XML"
1606 # else
1607 # undef wxUSE_XRC
1608 # define wxUSE_XRC 0
1609 # endif
1610 #endif /* wxUSE_XRC */
1611
1612 /* The generic date picker uses a popup window */
1613 #if !wxUSE_POPUPWIN
1614 # undef wxUSE_DATEPICKCTRL
1615 # define wxUSE_DATEPICKCTRL 0
1616 #endif /* !wxUSE_POPUPWIN */
1617
1618 #endif /* wxUSE_GUI */
1619