ckconf
[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_MEDIACTRL
630 # ifdef wxABORT_ON_CONFIG_ERROR
631 # error "wxUSE_MEDIACTRL must be defined."
632 # else
633 # define wxUSE_MEDIACTRL 0
634 # endif
635 #endif /* !defined(wxUSE_MEDIACTRL) */
636
637 #ifndef wxUSE_SPINBTN
638 # ifdef wxABORT_ON_CONFIG_ERROR
639 # error "wxUSE_SPINBTN must be defined."
640 # else
641 # define wxUSE_SPINBTN 0
642 # endif
643 #endif /* !defined(wxUSE_SPINBTN) */
644
645 #ifndef wxUSE_SPINCTRL
646 # ifdef wxABORT_ON_CONFIG_ERROR
647 # error "wxUSE_SPINCTRL must be defined."
648 # else
649 # define wxUSE_SPINCTRL 0
650 # endif
651 #endif /* !defined(wxUSE_SPINCTRL) */
652
653 #ifndef wxUSE_SPLASH
654 # ifdef wxABORT_ON_CONFIG_ERROR
655 # error "wxUSE_SPLASH must be defined."
656 # else
657 # define wxUSE_SPLASH 0
658 # endif
659 #endif /* !defined(wxUSE_SPLASH) */
660
661 #ifndef wxUSE_SPLITTER
662 # ifdef wxABORT_ON_CONFIG_ERROR
663 # error "wxUSE_SPLITTER must be defined."
664 # else
665 # define wxUSE_SPLITTER 0
666 # endif
667 #endif /* !defined(wxUSE_SPLITTER) */
668
669 #ifndef wxUSE_STATBMP
670 # ifdef wxABORT_ON_CONFIG_ERROR
671 # error "wxUSE_STATBMP must be defined."
672 # else
673 # define wxUSE_STATBMP 0
674 # endif
675 #endif /* !defined(wxUSE_STATBMP) */
676
677 #ifndef wxUSE_STATBOX
678 # ifdef wxABORT_ON_CONFIG_ERROR
679 # error "wxUSE_STATBOX must be defined."
680 # else
681 # define wxUSE_STATBOX 0
682 # endif
683 #endif /* !defined(wxUSE_STATBOX) */
684
685 #ifndef wxUSE_STATLINE
686 # ifdef wxABORT_ON_CONFIG_ERROR
687 # error "wxUSE_STATLINE must be defined."
688 # else
689 # define wxUSE_STATLINE 0
690 # endif
691 #endif /* !defined(wxUSE_STATLINE) */
692
693 #ifndef wxUSE_STATTEXT
694 # ifdef wxABORT_ON_CONFIG_ERROR
695 # error "wxUSE_STATTEXT must be defined."
696 # else
697 # define wxUSE_STATTEXT 0
698 # endif
699 #endif /* !defined(wxUSE_STATTEXT) */
700
701 #ifndef wxUSE_STATUSBAR
702 # ifdef wxABORT_ON_CONFIG_ERROR
703 # error "wxUSE_STATUSBAR must be defined."
704 # else
705 # define wxUSE_STATUSBAR 0
706 # endif
707 #endif /* !defined(wxUSE_STATUSBAR) */
708
709 #ifndef wxUSE_TAB_DIALOG
710 # ifdef wxABORT_ON_CONFIG_ERROR
711 # error "wxUSE_TAB_DIALOG must be defined."
712 # else
713 # define wxUSE_TAB_DIALOG 0
714 # endif
715 #endif /* !defined(wxUSE_TAB_DIALOG) */
716
717 #ifndef wxUSE_TEXTCTRL
718 # ifdef wxABORT_ON_CONFIG_ERROR
719 # error "wxUSE_TEXTCTRL must be defined."
720 # else
721 # define wxUSE_TEXTCTRL 0
722 # endif
723 #endif /* !defined(wxUSE_TEXTCTRL) */
724
725 #ifndef wxUSE_TIPWINDOW
726 # ifdef wxABORT_ON_CONFIG_ERROR
727 # error "wxUSE_TIPWINDOW must be defined."
728 # else
729 # define wxUSE_TIPWINDOW 0
730 # endif
731 #endif /* !defined(wxUSE_TIPWINDOW) */
732
733 #ifndef wxUSE_TOOLBAR
734 # ifdef wxABORT_ON_CONFIG_ERROR
735 # error "wxUSE_TOOLBAR must be defined."
736 # else
737 # define wxUSE_TOOLBAR 0
738 # endif
739 #endif /* !defined(wxUSE_TOOLBAR) */
740
741 #ifndef wxUSE_TOOLTIPS
742 # ifdef wxABORT_ON_CONFIG_ERROR
743 # error "wxUSE_TOOLTIPS must be defined."
744 # else
745 # define wxUSE_TOOLTIPS 0
746 # endif
747 #endif /* !defined(wxUSE_TOOLTIPS) */
748
749 #ifndef wxUSE_TREECTRL
750 # ifdef wxABORT_ON_CONFIG_ERROR
751 # error "wxUSE_TREECTRL must be defined."
752 # else
753 # define wxUSE_TREECTRL 0
754 # endif
755 #endif /* !defined(wxUSE_TREECTRL) */
756
757 #ifndef wxUSE_VALIDATORS
758 # ifdef wxABORT_ON_CONFIG_ERROR
759 # error "wxUSE_VALIDATORS must be defined."
760 # else
761 # define wxUSE_VALIDATORS 0
762 # endif
763 #endif /* !defined(wxUSE_VALIDATORS) */
764
765 #ifndef wxUSE_WXHTML_HELP
766 # ifdef wxABORT_ON_CONFIG_ERROR
767 # error "wxUSE_WXHTML_HELP must be defined."
768 # else
769 # define wxUSE_WXHTML_HELP 0
770 # endif
771 #endif /* !defined(wxUSE_WXHTML_HELP) */
772
773 #endif /* wxUSE_GUI */
774
775 /*
776 check consistency of the settings
777 */
778
779 #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
780 # if !wxUSE_PROTOCOL
781 # ifdef wxABORT_ON_CONFIG_ERROR
782 # error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
783 # else
784 # undef wxUSE_PROTOCOL
785 # define wxUSE_PROTOCOL 1
786 # endif
787 # endif
788 #endif /* wxUSE_PROTOCOL_XXX */
789
790 #if wxUSE_URL
791 # if !wxUSE_PROTOCOL
792 # ifdef wxABORT_ON_CONFIG_ERROR
793 # error "wxUSE_URL requires wxUSE_PROTOCOL"
794 # else
795 # undef wxUSE_PROTOCOL
796 # define wxUSE_PROTOCOL 1
797 # endif
798 # endif
799 #endif /* wxUSE_URL */
800
801 #if wxUSE_PROTOCOL
802 # if !wxUSE_SOCKETS
803 # if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
804 # ifdef wxABORT_ON_CONFIG_ERROR
805 # error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
806 # else
807 # undef wxUSE_SOCKETS
808 # define wxUSE_SOCKETS 1
809 # endif
810 # endif
811 # endif
812
813 # if !wxUSE_STREAMS
814 # ifdef wxABORT_ON_CONFIG_ERROR
815 # error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
816 # else
817 # undef wxUSE_STREAMS
818 # define wxUSE_STREAMS 1
819 # endif
820 # endif
821 #endif /* wxUSE_PROTOCOL */
822
823 /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
824 #if wxUSE_HTML
825 # if !wxUSE_FILESYSTEM
826 # ifdef wxABORT_ON_CONFIG_ERROR
827 # error "wxHTML requires wxFileSystem"
828 # else
829 # undef wxUSE_FILESYSTEM
830 # define wxUSE_FILESYSTEM 1
831 # endif
832 # endif
833 #endif /* wxUSE_HTML */
834
835 #if wxUSE_FILESYSTEM
836 # if !wxUSE_STREAMS
837 # ifdef wxABORT_ON_CONFIG_ERROR
838 # error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
839 # else
840 # undef wxUSE_STREAMS
841 # define wxUSE_STREAMS 1
842 # endif
843 # endif
844 #endif /* wxUSE_FILESYSTEM */
845
846 #if wxUSE_FS_INET
847 # if !wxUSE_PROTOCOL
848 # ifdef wxABORT_ON_CONFIG_ERROR
849 # error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
850 # else
851 # undef wxUSE_PROTOCOL
852 # define wxUSE_PROTOCOL 1
853 # endif
854 # endif
855 #endif /* wxUSE_FS_INET */
856
857 #if wxUSE_STOPWATCH || wxUSE_DATETIME
858 # if !wxUSE_LONGLONG
859 # ifdef wxABORT_ON_CONFIG_ERROR
860 # error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
861 # else
862 # undef wxUSE_LONGLONG
863 # define wxUSE_LONGLONG 1
864 # endif
865 # endif
866 #endif /* wxUSE_STOPWATCH */
867
868 #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
869 # ifdef wxABORT_ON_CONFIG_ERROR
870 # error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
871 # else
872 # undef wxUSE_TEXTFILE
873 # define wxUSE_TEXTFILE 1
874 # endif
875 #endif /* wxUSE_MIMETYPE */
876
877 #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
878 # ifdef wxABORT_ON_CONFIG_ERROR
879 # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
880 # else
881 # undef wxUSE_TEXTBUFFER
882 # define wxUSE_TEXTBUFFER 1
883 # endif
884 #endif /* wxUSE_TEXTFILE */
885
886 #if wxUSE_TEXTFILE && !wxUSE_FILE
887 # ifdef wxABORT_ON_CONFIG_ERROR
888 # error "wxUSE_TEXTFILE requires wxUSE_FILE"
889 # else
890 # undef wxUSE_FILE
891 # define wxUSE_FILE 1
892 # endif
893 #endif /* wxUSE_TEXTFILE */
894
895 #if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
896 # ifdef wxABORT_ON_CONFIG_ERROR
897 # error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
898 # else
899 # undef wxUSE_UNICODE
900 # define wxUSE_UNICODE 1
901 # endif
902 #endif /* wxUSE_UNICODE_MSLU */
903
904 /* ODBC and Unicode are now compatible */
905
906 #if 0 /* wxUSE_ODBC && wxUSE_UNICODE */
907 # ifdef wxABORT_ON_CONFIG_ERROR
908 /* (ODBC classes aren't Unicode-compatible yet) */
909 # error "wxUSE_ODBC can't be used with wxUSE_UNICODE"
910 # else
911 # undef wxUSE_ODBC
912 # define wxUSE_ODBC 0
913 # endif
914 #endif /* wxUSE_ODBC */
915
916 #if wxUSE_XML && !wxUSE_WCHAR_T
917 # ifdef wxABORT_ON_CONFIG_ERROR
918 # error "wxUSE_XML requires wxUSE_WCHAR_T"
919 # else
920 # undef wxUSE_XML
921 # define wxUSE_XML 0
922 # endif
923 #endif /* wxUSE_UNICODE_MSLU */
924
925 #if !wxUSE_DYNLIB_CLASS
926 # if wxUSE_DYNAMIC_LOADER
927 # ifdef wxABORT_ON_CONFIG_ERROR
928 # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
929 # else
930 # define wxUSE_DYNLIB_CLASS 1
931 # endif
932 # endif
933 #endif /* wxUSE_DYNLIB_CLASS */
934
935 /* the rest of the tests is for the GUI settings only */
936 #if wxUSE_GUI
937
938 #if wxUSE_BUTTON || \
939 wxUSE_CALENDARCTRL || \
940 wxUSE_CARET || \
941 wxUSE_COMBOBOX || \
942 wxUSE_BMPBUTTON || \
943 wxUSE_CHECKBOX || \
944 wxUSE_CHECKLISTBOX || \
945 wxUSE_CHOICE || \
946 wxUSE_GAUGE || \
947 wxUSE_GRID || \
948 wxUSE_LISTBOX || \
949 wxUSE_LISTCTRL || \
950 wxUSE_NOTEBOOK || \
951 wxUSE_RADIOBOX || \
952 wxUSE_RADIOBTN || \
953 wxUSE_SCROLLBAR || \
954 wxUSE_SLIDER || \
955 wxUSE_SPINBTN || \
956 wxUSE_SPINCTRL || \
957 wxUSE_STATBMP || \
958 wxUSE_STATBOX || \
959 wxUSE_STATLINE || \
960 wxUSE_STATTEXT || \
961 wxUSE_STATUSBAR || \
962 wxUSE_TEXTCTRL || \
963 wxUSE_TOOLBAR || \
964 wxUSE_TREECTRL
965 # if !wxUSE_CONTROLS
966 # ifdef wxABORT_ON_CONFIG_ERROR
967 # error "wxUSE_CONTROLS unset but some controls used"
968 # else
969 # undef wxUSE_CONTROLS
970 # define wxUSE_CONTROLS 1
971 # endif
972 # endif
973 #endif /* controls */
974
975 #if wxUSE_BMPBUTTON
976 # if !wxUSE_BUTTON
977 # ifdef wxABORT_ON_CONFIG_ERROR
978 # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
979 # else
980 # undef wxUSE_BUTTON
981 # define wxUSE_BUTTON 1
982 # endif
983 # endif
984 #endif /* wxUSE_BMPBUTTON */
985
986 #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
987 # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
988 # ifdef wxABORT_ON_CONFIG_ERROR
989 # error "wxUSE_BOOKCTRL must be set."
990 # else
991 # undef wxUSE_BOOKCTRL
992 # endif
993 # endif
994
995 # ifndef wxUSE_BOOKCTRL
996 # define wxUSE_BOOKCTRL 1
997 # endif
998 #endif /* wxUSE_NOTEBOOK */
999
1000 #if wxUSE_LISTBOOK
1001 # if !wxUSE_LISTCTRL
1002 # ifdef wxABORT_ON_CONFIG_ERROR
1003 # error "wxListbook requires wxListCtrl"
1004 # else
1005 # undef wxUSE_LISTCTRL
1006 # define wxUSE_LISTCTRL 1
1007 # endif
1008 # endif
1009 #endif /* wxUSE_LISTBOOK */
1010
1011 #if wxUSE_CHOICEBOOK
1012 # if !wxUSE_CHOICE
1013 # ifdef wxABORT_ON_CONFIG_ERROR
1014 # error "wxChoicebook requires wxChoice"
1015 # else
1016 # undef wxUSE_CHOICE
1017 # define wxUSE_CHOICE 1
1018 # endif
1019 # endif
1020 #endif /* wxUSE_CHOICEBOOK */
1021
1022 /* wxUniv-specific dependencies */
1023 #if defined(__WXUNIVERSAL__)
1024 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1025 # ifdef wxABORT_ON_CONFIG_ERROR
1026 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1027 # else
1028 # undef wxUSE_POPUPWIN
1029 # define wxUSE_POPUPWIN 1
1030 # endif
1031 # endif
1032
1033 # if wxUSE_COMBOBOX
1034 # if !wxUSE_LISTBOX
1035 # ifdef wxABORT_ON_CONFIG_ERROR
1036 # error "wxComboBox requires wxListBox in wxUniversal"
1037 # else
1038 # undef wxUSE_LISTBOX
1039 # define wxUSE_LISTBOX 1
1040 # endif
1041 # endif
1042 # endif /* wxUSE_COMBOBOX */
1043
1044 # if wxUSE_RADIOBTN
1045 # if !wxUSE_CHECKBOX
1046 # ifdef wxABORT_ON_CONFIG_ERROR
1047 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1048 # else
1049 # undef wxUSE_CHECKBOX
1050 # define wxUSE_CHECKBOX 1
1051 # endif
1052 # endif
1053 # endif /* wxUSE_RADIOBTN */
1054
1055 # if wxUSE_TEXTCTRL
1056 # if !wxUSE_CARET
1057 # ifdef wxABORT_ON_CONFIG_ERROR
1058 # error "wxTextCtrl requires wxCaret in wxUniversal"
1059 # else
1060 # undef wxUSE_CARET
1061 # define wxUSE_CARET 1
1062 # endif
1063 # endif /* wxUSE_CARET */
1064
1065 # if !wxUSE_SCROLLBAR
1066 # ifdef wxABORT_ON_CONFIG_ERROR
1067 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
1068 # else
1069 # undef wxUSE_SCROLLBAR
1070 # define wxUSE_SCROLLBAR 1
1071 # endif
1072 # endif /* wxUSE_SCROLLBAR */
1073 # endif /* wxUSE_TEXTCTRL */
1074 #endif /* __WXUNIVERSAL__ */
1075
1076 /* wxGTK-specific dependencies */
1077 #ifdef __WXGTK__
1078 # ifndef __WXUNIVERSAL__
1079 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1080 # ifdef wxABORT_ON_CONFIG_ERROR
1081 # error "MDI requires wxUSE_MENUS in wxGTK"
1082 # else
1083 # undef wxUSE_MENUS
1084 # define wxUSE_MENUS 1
1085 # endif
1086 # endif
1087 # endif /* !__WXUNIVERSAL__ */
1088
1089 # if wxUSE_JOYSTICK
1090 # if !wxUSE_THREADS
1091 # ifdef wxABORT_ON_CONFIG_ERROR
1092 # error "wxJoystick requires threads in wxGTK"
1093 # else
1094 # undef wxUSE_JOYSTICK
1095 # define wxUSE_JOYSTICK 0
1096 # endif
1097 # endif
1098 # endif
1099 #endif /* wxGTK && !wxUniv */
1100
1101 /* wxMSW-specific dependencies */
1102 #ifdef __WXMSW__
1103 # ifndef wxUSE_UNICODE_MSLU
1104 # ifdef wxABORT_ON_CONFIG_ERROR
1105 # error "wxUSE_UNICODE_MSLU must be defined."
1106 # else
1107 # define wxUSE_UNICODE_MSLU 0
1108 # endif
1109 # endif /* wxUSE_UNICODE_MSLU */
1110 # ifndef wxUSE_UXTHEME
1111 # ifdef wxABORT_ON_CONFIG_ERROR
1112 # error "wxUSE_UXTHEME must be defined."
1113 # else
1114 # define wxUSE_UXTHEME 0
1115 # endif
1116 # endif /* wxUSE_UXTHEME */
1117 # ifndef wxUSE_UXTHEME_AUTO
1118 # ifdef wxABORT_ON_CONFIG_ERROR
1119 # error "wxUSE_UXTHEME_AUTO must be defined."
1120 # else
1121 # define wxUSE_UXTHEME_AUTO 0
1122 # endif
1123 # endif /* wxUSE_UXTHEME_AUTO */
1124 # ifndef wxUSE_MS_HTML_HELP
1125 # ifdef wxABORT_ON_CONFIG_ERROR
1126 # error "wxUSE_MS_HTML_HELP must be defined."
1127 # else
1128 # define wxUSE_MS_HTML_HELP 0
1129 # endif
1130 # endif /* !defined(wxUSE_MS_HTML_HELP) */
1131 # ifndef wxUSE_DIALUP_MANAGER
1132 # ifdef wxABORT_ON_CONFIG_ERROR
1133 # error "wxUSE_DIALUP_MANAGER must be defined."
1134 # else
1135 # define wxUSE_DIALUP_MANAGER 0
1136 # endif
1137 # endif /* !defined(wxUSE_DIALUP_MANAGER) */
1138
1139 # if !wxUSE_DYNAMIC_LOADER
1140 # if wxUSE_MS_HTML_HELP
1141 # ifdef wxABORT_ON_CONFIG_ERROR
1142 # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1143 # else
1144 # define wxUSE_DYNAMIC_LOADER 1
1145 # endif
1146 # endif
1147 # if wxUSE_DIALUP_MANAGER
1148 # ifdef wxABORT_ON_CONFIG_ERROR
1149 # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1150 # else
1151 # define wxUSE_DYNAMIC_LOADER 1
1152 # endif
1153 # endif
1154 # endif /* wxUSE_DYNAMIC_LOADER */
1155 #endif /* wxMSW */
1156
1157 /* wxMAC-specific dependencies */
1158 #ifdef __WXMAC__
1159 # if wxUSE_UNICODE
1160 # if !TARGET_CARBON
1161 # ifdef wxABORT_ON_CONFIG_ERROR
1162 # error "wxUSE_UNICODE is only supported for Carbon Targets."
1163 # else
1164 # define wxUSE_UNICODE 0
1165 # endif
1166 # endif
1167 # endif
1168 #endif /* wxMAC */
1169 /* wxMotif-specific dependencies */
1170 #if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1171 # undef wxUSE_TAB_DIALOG
1172 # define wxUSE_TAB_DIALOG 1
1173 #endif
1174
1175 /* wxMGL-specific dependencies */
1176 #ifdef __WXMGL__
1177 # if !wxUSE_PALETTE
1178 # error "wxMGL requires wxUSE_PALETTE=1"
1179 # endif
1180 #endif /* wxMGL */
1181
1182 /* Hopefully we can emulate these dialogs in due course */
1183 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
1184 # ifdef wxUSE_COLOURDLG
1185 # undef wxUSE_COLOURDLG
1186 # define wxUSE_COLOURDLG 0
1187 # endif
1188 #endif /* __SMARTPHONE__ && __WXWINCE__ */
1189
1190
1191 /* generic controls dependencies */
1192 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1193 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1194 /* all common controls are needed by these dialogs */
1195 # if !defined(wxUSE_CHOICE) || \
1196 !defined(wxUSE_TEXTCTRL) || \
1197 !defined(wxUSE_BUTTON) || \
1198 !defined(wxUSE_CHECKBOX) || \
1199 !defined(wxUSE_STATTEXT)
1200 # ifdef wxABORT_ON_CONFIG_ERROR
1201 # error "These common controls are needed by common dialogs"
1202 # else
1203 # undef wxUSE_CHOICE
1204 # define wxUSE_CHOICE 1
1205 # undef wxUSE_TEXTCTRL
1206 # define wxUSE_TEXTCTRL 1
1207 # undef wxUSE_BUTTON
1208 # define wxUSE_BUTTON 1
1209 # undef wxUSE_CHECKBOX
1210 # define wxUSE_CHECKBOX 1
1211 # undef wxUSE_STATTEXT
1212 # define wxUSE_STATTEXT 1
1213 # endif
1214 # endif
1215 # endif
1216 #endif /* !wxMSW || wxUniv */
1217
1218 /* common dependencies */
1219 #if wxUSE_CALENDARCTRL
1220 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1221 # ifdef wxABORT_ON_CONFIG_ERROR
1222 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1223 # else
1224 # undef wxUSE_SPINBTN
1225 # undef wxUSE_COMBOBOX
1226 # define wxUSE_SPINBTN 1
1227 # define wxUSE_COMBOBOX 1
1228 # endif
1229 # endif
1230
1231 # if !wxUSE_DATETIME
1232 # ifdef wxABORT_ON_CONFIG_ERROR
1233 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1234 # else
1235 # undef wxUSE_DATETIME
1236 # define wxUSE_DATETIME 1
1237 # endif
1238 # endif
1239 #endif /* wxUSE_CALENDARCTRL */
1240
1241 #if wxUSE_CHECKLISTBOX
1242 # if !wxUSE_LISTBOX
1243 # ifdef wxABORT_ON_CONFIG_ERROR
1244 # error "wxCheckListBox requires wxListBox"
1245 # else
1246 # undef wxUSE_LISTBOX
1247 # define wxUSE_LISTBOX 1
1248 # endif
1249 # endif
1250 #endif /* wxUSE_CHECKLISTBOX */
1251
1252 #if wxUSE_CHOICEDLG
1253 # if !wxUSE_LISTBOX
1254 # ifdef wxABORT_ON_CONFIG_ERROR
1255 # error "Choice dialogs requires wxListBox"
1256 # else
1257 # undef wxUSE_LISTBOX
1258 # define wxUSE_LISTBOX 1
1259 # endif
1260 # endif
1261 #endif /* wxUSE_CHOICEDLG */
1262
1263 #if wxUSE_HELP
1264 # if !wxUSE_BMPBUTTON
1265 # ifdef wxABORT_ON_CONFIG_ERROR
1266 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1267 # else
1268 # undef wxUSE_BMPBUTTON
1269 # define wxUSE_BMPBUTTON 1
1270 # endif
1271 # endif
1272
1273 # if !wxUSE_CHOICEDLG
1274 # ifdef wxABORT_ON_CONFIG_ERROR
1275 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1276 # else
1277 # undef wxUSE_CHOICEDLG
1278 # define wxUSE_CHOICEDLG 1
1279 # endif
1280 # endif
1281 #endif /* wxUSE_HELP */
1282
1283 #if wxUSE_WXHTML_HELP
1284 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
1285 # ifdef wxABORT_ON_CONFIG_ERROR
1286 # error "Built in help controller can't be compiled"
1287 # else
1288 # undef wxUSE_HELP
1289 # define wxUSE_HELP 1
1290 # undef wxUSE_HTML
1291 # define wxUSE_HTML 1
1292 # undef wxUSE_COMBOBOX
1293 # define wxUSE_COMBOBOX 1
1294 # undef wxUSE_NOTEBOOK
1295 # define wxUSE_NOTEBOOK 1
1296 # endif
1297 # endif
1298 #endif /* wxUSE_WXHTML_HELP */
1299
1300 #if !wxUSE_IMAGE
1301 /*
1302 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1303 user explicitly wants this and disable all other features that require
1304 wxUSE_IMAGE.
1305 */
1306 # if wxUSE_DRAGIMAGE
1307 # ifdef wxABORT_ON_CONFIG_ERROR
1308 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1309 # else
1310 # undef wxUSE_DRAGIMAGE
1311 # define wxUSE_DRAGIMAGE 0
1312 # endif
1313 # endif
1314
1315 # if wxUSE_LIBPNG
1316 # ifdef wxABORT_ON_CONFIG_ERROR
1317 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1318 # else
1319 # undef wxUSE_LIBPNG
1320 # define wxUSE_LIBPNG 0
1321 # endif
1322 # endif
1323
1324 # if wxUSE_LIBJPEG
1325 # ifdef wxABORT_ON_CONFIG_ERROR
1326 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1327 # else
1328 # undef wxUSE_LIBJPEG
1329 # define wxUSE_LIBJPEG 0
1330 # endif
1331 # endif
1332
1333 # if wxUSE_LIBTIFF
1334 # ifdef wxABORT_ON_CONFIG_ERROR
1335 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1336 # else
1337 # undef wxUSE_LIBTIFF
1338 # define wxUSE_LIBTIFF 0
1339 # endif
1340 # endif
1341
1342 # if wxUSE_GIF
1343 # ifdef wxABORT_ON_CONFIG_ERROR
1344 # error "wxUSE_GIF requires wxUSE_IMAGE"
1345 # else
1346 # undef wxUSE_GIF
1347 # define wxUSE_GIF 0
1348 # endif
1349 # endif
1350
1351 # if wxUSE_PNM
1352 # ifdef wxABORT_ON_CONFIG_ERROR
1353 # error "wxUSE_PNM requires wxUSE_IMAGE"
1354 # else
1355 # undef wxUSE_PNM
1356 # define wxUSE_PNM 0
1357 # endif
1358 # endif
1359
1360 # if wxUSE_PCX
1361 # ifdef wxABORT_ON_CONFIG_ERROR
1362 # error "wxUSE_PCX requires wxUSE_IMAGE"
1363 # else
1364 # undef wxUSE_PCX
1365 # define wxUSE_PCX 0
1366 # endif
1367 # endif
1368
1369 # if wxUSE_IFF
1370 # ifdef wxABORT_ON_CONFIG_ERROR
1371 # error "wxUSE_IFF requires wxUSE_IMAGE"
1372 # else
1373 # undef wxUSE_IFF
1374 # define wxUSE_IFF 0
1375 # endif
1376 # endif
1377
1378 # if wxUSE_TOOLBAR
1379 # ifdef wxABORT_ON_CONFIG_ERROR
1380 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1381 # else
1382 # undef wxUSE_TOOLBAR
1383 # define wxUSE_TOOLBAR 0
1384 # endif
1385 # endif
1386
1387 # if wxUSE_XPM
1388 # ifdef wxABORT_ON_CONFIG_ERROR
1389 # error "wxUSE_XPM requires wxUSE_IMAGE"
1390 # else
1391 # undef wxUSE_XPM
1392 # define wxUSE_XPM 0
1393 # endif
1394 # endif
1395
1396 #endif /* !wxUSE_IMAGE */
1397
1398 #if wxUSE_DOC_VIEW_ARCHITECTURE
1399 # if !wxUSE_MENUS
1400 # ifdef wxABORT_ON_CONFIG_ERROR
1401 # error "DocView requires wxUSE_MENUS"
1402 # else
1403 # undef wxUSE_MENUS
1404 # define wxUSE_MENUS 1
1405 # endif
1406 # endif
1407
1408 # if !wxUSE_CHOICEDLG
1409 # ifdef wxABORT_ON_CONFIG_ERROR
1410 # error "DocView requires wxUSE_CHOICEDLG"
1411 # else
1412 # undef wxUSE_CHOICEDLG
1413 # define wxUSE_CHOICEDLG 1
1414 # endif
1415 # endif
1416
1417 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1418 # ifdef wxABORT_ON_CONFIG_ERROR
1419 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1420 # else
1421 # undef wxUSE_STREAMS
1422 # define wxUSE_STREAMS 1
1423 # endif
1424 # endif
1425 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1426
1427 #if wxUSE_PRINTING_ARCHITECTURE
1428 # if !wxUSE_COMBOBOX
1429 # ifdef wxABORT_ON_CONFIG_ERROR
1430 # error "Print dialog requires wxUSE_COMBOBOX"
1431 # else
1432 # undef wxUSE_COMBOBOX
1433 # define wxUSE_COMBOBOX 1
1434 # endif
1435 # endif
1436 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1437
1438 #if wxUSE_MDI_ARCHITECTURE
1439 # if !wxUSE_MDI
1440 # ifdef wxABORT_ON_CONFIG_ERROR
1441 # error "MDI requires wxUSE_MDI"
1442 # else
1443 # undef wxUSE_MDI
1444 # define wxUSE_MDI 1
1445 # endif
1446 # endif
1447
1448 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1449 # ifdef wxABORT_ON_CONFIG_ERROR
1450 # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1451 # else
1452 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1453 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1454 # endif
1455 # endif
1456 #endif /* wxUSE_MDI_ARCHITECTURE */
1457
1458 #if !wxUSE_FILEDLG
1459 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1460 # ifdef wxABORT_ON_CONFIG_ERROR
1461 # error "wxFileDialog must be compiled as well"
1462 # else
1463 # undef wxUSE_FILEDLG
1464 # define wxUSE_FILEDLG 1
1465 # endif
1466 # endif
1467 #endif /* wxUSE_FILEDLG */
1468
1469 #if !wxUSE_BUTTON
1470 # if wxUSE_PROGRESSDLG || \
1471 wxUSE_FONTDLG || \
1472 wxUSE_FILEDLG || \
1473 wxUSE_CHOICEDLG || \
1474 wxUSE_NUMBERDLG || \
1475 wxUSE_TEXTDLG || \
1476 wxUSE_DIRDLG || \
1477 wxUSE_STARTUP_TIPS || \
1478 wxUSE_WIZARDDLG
1479 # ifdef wxABORT_ON_CONFIG_ERROR
1480 # error "Common and generic dialogs require wxUSE_BUTTON"
1481 # else
1482 # undef wxUSE_BUTTON
1483 # define wxUSE_BUTTON 1
1484 # endif
1485 # endif
1486 #endif /* wxUSE_PROGRESSDLG */
1487
1488 #if !wxUSE_TOOLBAR
1489 # if wxUSE_TOOLBAR_NATIVE
1490 # ifdef wxABORT_ON_CONFIG_ERROR
1491 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1492 # else
1493 # undef wxUSE_TOOLBAR_NATIVE
1494 # define wxUSE_TOOLBAR_NATIVE 0
1495 # endif
1496 # endif
1497
1498 # if wxUSE_TOOLBAR_SIMPLE
1499 # ifdef wxABORT_ON_CONFIG_ERROR
1500 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1501 # else
1502 # undef wxUSE_TOOLBAR_SIMPLE
1503 # define wxUSE_TOOLBAR_SIMPLE 0
1504 # endif
1505 # endif
1506 #endif
1507
1508 #if !wxUSE_IMAGLIST
1509 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1510 # ifdef wxABORT_ON_CONFIG_ERROR
1511 # error "wxImageList must be compiled as well"
1512 # else
1513 # undef wxUSE_IMAGLIST
1514 # define wxUSE_IMAGLIST 1
1515 # endif
1516 # endif
1517 #endif /* !wxUSE_IMAGLIST */
1518
1519 #if !wxUSE_MSGDLG
1520 # ifdef wxABORT_ON_CONFIG_ERROR
1521 /* FIXME: should compile without it, of course, but doesn't */
1522 # error "wxMessageBox is always needed"
1523 # else
1524 # undef wxUSE_MSGDLG
1525 # define wxUSE_MSGDLG 1
1526 # endif
1527 #endif
1528
1529 #if wxUSE_RADIOBOX
1530 # if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1531 # ifdef wxABORT_ON_CONFIG_ERROR
1532 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1533 # else
1534 # undef wxUSE_RADIOBTN
1535 # undef wxUSE_STATBOX
1536 # define wxUSE_RADIOBTN 1
1537 # define wxUSE_STATBOX 1
1538 # endif
1539 # endif
1540 #endif /* wxUSE_RADIOBOX */
1541
1542 #if wxUSE_LOGWINDOW
1543 # if !wxUSE_TEXTCTRL
1544 # ifdef wxABORT_ON_CONFIG_ERROR
1545 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1546 # else
1547 # undef wxUSE_TEXTCTRL
1548 # define wxUSE_TEXTCTRL 1
1549 # endif
1550 # endif
1551 #endif /* wxUSE_LOGWINDOW */
1552
1553 #if wxUSE_LOG_DIALOG
1554 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1555 # ifdef wxABORT_ON_CONFIG_ERROR
1556 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1557 # else
1558 # undef wxUSE_LISTCTRL
1559 # define wxUSE_LISTCTRL 1
1560 # undef wxUSE_BUTTON
1561 # define wxUSE_BUTTON 1
1562 # endif
1563 # endif
1564 #endif /* wxUSE_LOG_DIALOG */
1565
1566 /* I wonder if we shouldn't just remove all occurrences of
1567 wxUSE_DYNAMIC_CLASSES from the sources? */
1568 #if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
1569 # ifdef wxABORT_ON_CONFIG_ERROR
1570 # error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1571 # else
1572 # undef wxUSE_DYNAMIC_CLASSES
1573 # define wxUSE_DYNAMIC_CLASSES 1
1574 # endif
1575 #endif /* wxUSE_DYNAMIC_CLASSES */
1576
1577 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1578 # ifdef wxABORT_ON_CONFIG_ERROR
1579 # error "wxClipboard requires wxDataObject"
1580 # else
1581 # undef wxUSE_DATAOBJ
1582 # define wxUSE_DATAOBJ 1
1583 # endif
1584 #endif /* wxUSE_CLIPBOARD */
1585
1586 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1587 # ifdef wxABORT_ON_CONFIG_ERROR
1588 # error "wxr resources require PrologIO"
1589 # else
1590 # undef wxUSE_PROLOGIO
1591 # define wxUSE_PROLOGIO 1
1592 # endif
1593 #endif /* wxUSE_WX_RESOURCES */
1594
1595 #if wxUSE_XRC && !wxUSE_XML
1596 # ifdef wxABORT_ON_CONFIG_ERROR
1597 # error "wxUSE_XRC requires wxUSE_XML"
1598 # else
1599 # undef wxUSE_XRC
1600 # define wxUSE_XRC 0
1601 # endif
1602 #endif /* wxUSE_XRC */
1603
1604 #endif /* wxUSE_GUI */
1605