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