]> git.saurik.com Git - wxWidgets.git/blob - include/wx/chkconf.h
Bug #1040683: Remove assert when deleting menu entry.
[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 || !wxUSE_SPINCTRL
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 # undef wxUSE_SPINCTRL
1289 # define wxUSE_SPINCTRL 1
1290 # endif
1291 # endif
1292 #endif /* wxUSE_WXHTML_HELP */
1293
1294 #if !wxUSE_IMAGE
1295 /*
1296 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1297 user explicitly wants this and disable all other features that require
1298 wxUSE_IMAGE.
1299 */
1300 # if wxUSE_DRAGIMAGE
1301 # ifdef wxABORT_ON_CONFIG_ERROR
1302 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1303 # else
1304 # undef wxUSE_DRAGIMAGE
1305 # define wxUSE_DRAGIMAGE 0
1306 # endif
1307 # endif
1308
1309 # if wxUSE_LIBPNG
1310 # ifdef wxABORT_ON_CONFIG_ERROR
1311 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1312 # else
1313 # undef wxUSE_LIBPNG
1314 # define wxUSE_LIBPNG 0
1315 # endif
1316 # endif
1317
1318 # if wxUSE_LIBJPEG
1319 # ifdef wxABORT_ON_CONFIG_ERROR
1320 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1321 # else
1322 # undef wxUSE_LIBJPEG
1323 # define wxUSE_LIBJPEG 0
1324 # endif
1325 # endif
1326
1327 # if wxUSE_LIBTIFF
1328 # ifdef wxABORT_ON_CONFIG_ERROR
1329 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1330 # else
1331 # undef wxUSE_LIBTIFF
1332 # define wxUSE_LIBTIFF 0
1333 # endif
1334 # endif
1335
1336 # if wxUSE_GIF
1337 # ifdef wxABORT_ON_CONFIG_ERROR
1338 # error "wxUSE_GIF requires wxUSE_IMAGE"
1339 # else
1340 # undef wxUSE_GIF
1341 # define wxUSE_GIF 0
1342 # endif
1343 # endif
1344
1345 # if wxUSE_PNM
1346 # ifdef wxABORT_ON_CONFIG_ERROR
1347 # error "wxUSE_PNM requires wxUSE_IMAGE"
1348 # else
1349 # undef wxUSE_PNM
1350 # define wxUSE_PNM 0
1351 # endif
1352 # endif
1353
1354 # if wxUSE_PCX
1355 # ifdef wxABORT_ON_CONFIG_ERROR
1356 # error "wxUSE_PCX requires wxUSE_IMAGE"
1357 # else
1358 # undef wxUSE_PCX
1359 # define wxUSE_PCX 0
1360 # endif
1361 # endif
1362
1363 # if wxUSE_IFF
1364 # ifdef wxABORT_ON_CONFIG_ERROR
1365 # error "wxUSE_IFF requires wxUSE_IMAGE"
1366 # else
1367 # undef wxUSE_IFF
1368 # define wxUSE_IFF 0
1369 # endif
1370 # endif
1371
1372 # if wxUSE_TOOLBAR
1373 # ifdef wxABORT_ON_CONFIG_ERROR
1374 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1375 # else
1376 # undef wxUSE_TOOLBAR
1377 # define wxUSE_TOOLBAR 0
1378 # endif
1379 # endif
1380
1381 # if wxUSE_XPM
1382 # ifdef wxABORT_ON_CONFIG_ERROR
1383 # error "wxUSE_XPM requires wxUSE_IMAGE"
1384 # else
1385 # undef wxUSE_XPM
1386 # define wxUSE_XPM 0
1387 # endif
1388 # endif
1389
1390 #endif /* !wxUSE_IMAGE */
1391
1392 #if wxUSE_DOC_VIEW_ARCHITECTURE
1393 # if !wxUSE_MENUS
1394 # ifdef wxABORT_ON_CONFIG_ERROR
1395 # error "DocView requires wxUSE_MENUS"
1396 # else
1397 # undef wxUSE_MENUS
1398 # define wxUSE_MENUS 1
1399 # endif
1400 # endif
1401
1402 # if !wxUSE_CHOICEDLG
1403 # ifdef wxABORT_ON_CONFIG_ERROR
1404 # error "DocView requires wxUSE_CHOICEDLG"
1405 # else
1406 # undef wxUSE_CHOICEDLG
1407 # define wxUSE_CHOICEDLG 1
1408 # endif
1409 # endif
1410
1411 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1412 # ifdef wxABORT_ON_CONFIG_ERROR
1413 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1414 # else
1415 # undef wxUSE_STREAMS
1416 # define wxUSE_STREAMS 1
1417 # endif
1418 # endif
1419 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1420
1421 #if wxUSE_PRINTING_ARCHITECTURE
1422 # if !wxUSE_COMBOBOX
1423 # ifdef wxABORT_ON_CONFIG_ERROR
1424 # error "Print dialog requires wxUSE_COMBOBOX"
1425 # else
1426 # undef wxUSE_COMBOBOX
1427 # define wxUSE_COMBOBOX 1
1428 # endif
1429 # endif
1430 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1431
1432 #if wxUSE_MDI_ARCHITECTURE
1433 # if !wxUSE_MDI
1434 # ifdef wxABORT_ON_CONFIG_ERROR
1435 # error "MDI requires wxUSE_MDI"
1436 # else
1437 # undef wxUSE_MDI
1438 # define wxUSE_MDI 1
1439 # endif
1440 # endif
1441
1442 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1443 # ifdef wxABORT_ON_CONFIG_ERROR
1444 # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1445 # else
1446 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1447 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1448 # endif
1449 # endif
1450 #endif /* wxUSE_MDI_ARCHITECTURE */
1451
1452 #if !wxUSE_FILEDLG
1453 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1454 # ifdef wxABORT_ON_CONFIG_ERROR
1455 # error "wxFileDialog must be compiled as well"
1456 # else
1457 # undef wxUSE_FILEDLG
1458 # define wxUSE_FILEDLG 1
1459 # endif
1460 # endif
1461 #endif /* wxUSE_FILEDLG */
1462
1463 #if !wxUSE_GAUGE
1464 # if wxUSE_PROGRESSDLG
1465 # ifdef wxABORT_ON_CONFIG_ERROR
1466 # error "Progress dialog require wxUSE_GAUGE"
1467 # else
1468 # undef wxUSE_GAUGE
1469 # define wxUSE_GAUGE 1
1470 # endif
1471 # endif
1472 #endif /* !wxUSE_GAUGE */
1473
1474 #if !wxUSE_BUTTON
1475 # if wxUSE_PROGRESSDLG || \
1476 wxUSE_FONTDLG || \
1477 wxUSE_FILEDLG || \
1478 wxUSE_CHOICEDLG || \
1479 wxUSE_NUMBERDLG || \
1480 wxUSE_TEXTDLG || \
1481 wxUSE_DIRDLG || \
1482 wxUSE_STARTUP_TIPS || \
1483 wxUSE_WIZARDDLG
1484 # ifdef wxABORT_ON_CONFIG_ERROR
1485 # error "Common and generic dialogs require wxUSE_BUTTON"
1486 # else
1487 # undef wxUSE_BUTTON
1488 # define wxUSE_BUTTON 1
1489 # endif
1490 # endif
1491 #endif /* !wxUSE_BUTTON */
1492
1493 #if !wxUSE_TOOLBAR
1494 # if wxUSE_TOOLBAR_NATIVE
1495 # ifdef wxABORT_ON_CONFIG_ERROR
1496 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1497 # else
1498 # undef wxUSE_TOOLBAR_NATIVE
1499 # define wxUSE_TOOLBAR_NATIVE 0
1500 # endif
1501 # endif
1502
1503 # if wxUSE_TOOLBAR_SIMPLE
1504 # ifdef wxABORT_ON_CONFIG_ERROR
1505 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1506 # else
1507 # undef wxUSE_TOOLBAR_SIMPLE
1508 # define wxUSE_TOOLBAR_SIMPLE 0
1509 # endif
1510 # endif
1511 #endif
1512
1513 #if !wxUSE_IMAGLIST
1514 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1515 # ifdef wxABORT_ON_CONFIG_ERROR
1516 # error "wxImageList must be compiled as well"
1517 # else
1518 # undef wxUSE_IMAGLIST
1519 # define wxUSE_IMAGLIST 1
1520 # endif
1521 # endif
1522 #endif /* !wxUSE_IMAGLIST */
1523
1524 #if !wxUSE_MSGDLG
1525 # ifdef wxABORT_ON_CONFIG_ERROR
1526 /* FIXME: should compile without it, of course, but doesn't */
1527 # error "wxMessageBox is always needed"
1528 # else
1529 # undef wxUSE_MSGDLG
1530 # define wxUSE_MSGDLG 1
1531 # endif
1532 #endif
1533
1534 #if wxUSE_RADIOBOX
1535 # if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1536 # ifdef wxABORT_ON_CONFIG_ERROR
1537 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1538 # else
1539 # undef wxUSE_RADIOBTN
1540 # undef wxUSE_STATBOX
1541 # define wxUSE_RADIOBTN 1
1542 # define wxUSE_STATBOX 1
1543 # endif
1544 # endif
1545 #endif /* wxUSE_RADIOBOX */
1546
1547 #if wxUSE_LOGWINDOW
1548 # if !wxUSE_TEXTCTRL
1549 # ifdef wxABORT_ON_CONFIG_ERROR
1550 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1551 # else
1552 # undef wxUSE_TEXTCTRL
1553 # define wxUSE_TEXTCTRL 1
1554 # endif
1555 # endif
1556 #endif /* wxUSE_LOGWINDOW */
1557
1558 #if wxUSE_LOG_DIALOG
1559 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1560 # ifdef wxABORT_ON_CONFIG_ERROR
1561 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1562 # else
1563 # undef wxUSE_LISTCTRL
1564 # define wxUSE_LISTCTRL 1
1565 # undef wxUSE_BUTTON
1566 # define wxUSE_BUTTON 1
1567 # endif
1568 # endif
1569 #endif /* wxUSE_LOG_DIALOG */
1570
1571 /* I wonder if we shouldn't just remove all occurrences of
1572 wxUSE_DYNAMIC_CLASSES from the sources? */
1573 #if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
1574 # ifdef wxABORT_ON_CONFIG_ERROR
1575 # error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1576 # else
1577 # undef wxUSE_DYNAMIC_CLASSES
1578 # define wxUSE_DYNAMIC_CLASSES 1
1579 # endif
1580 #endif /* wxUSE_DYNAMIC_CLASSES */
1581
1582 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1583 # ifdef wxABORT_ON_CONFIG_ERROR
1584 # error "wxClipboard requires wxDataObject"
1585 # else
1586 # undef wxUSE_DATAOBJ
1587 # define wxUSE_DATAOBJ 1
1588 # endif
1589 #endif /* wxUSE_CLIPBOARD */
1590
1591 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1592 # ifdef wxABORT_ON_CONFIG_ERROR
1593 # error "wxr resources require PrologIO"
1594 # else
1595 # undef wxUSE_PROLOGIO
1596 # define wxUSE_PROLOGIO 1
1597 # endif
1598 #endif /* wxUSE_WX_RESOURCES */
1599
1600 #if wxUSE_XRC && !wxUSE_XML
1601 # ifdef wxABORT_ON_CONFIG_ERROR
1602 # error "wxUSE_XRC requires wxUSE_XML"
1603 # else
1604 # undef wxUSE_XRC
1605 # define wxUSE_XRC 0
1606 # endif
1607 #endif /* wxUSE_XRC */
1608
1609 #endif /* wxUSE_GUI */
1610