removed duplicated code from dynlib.h and dynload.h
[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@wxwindows.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(__WXMSW__)
19 # include "wx/msw/chkconf.h"
20 #elif defined(__WXMAC__)
21 # include "wx/mac/chkconf.h"
22 #endif
23
24 /*
25 this global setting determines what should we do if the setting FOO
26 requires BAR and BAR is not set: we can either silently define BAR
27 (default, recommended) or give an error and abort (mainly useful for
28 developers only)
29 */
30 #define wxABORT_ON_CONFIG_ERROR
31
32 /*
33 global features
34 */
35
36 /* GUI build by default */
37 #if !defined(wxUSE_GUI)
38 # define wxUSE_GUI 1
39 #endif /* !defined(wxUSE_GUI) */
40
41 /* wxBase doesn't need compatibility settings as it's a new port */
42 #if !wxUSE_GUI
43 # undef WXWIN_COMPATIBILITY
44 # undef WXWIN_COMPATIBILITY_2
45 # undef WXWIN_COMPATIBILITY_2_2
46 # define WXWIN_COMPATIBILITY 0
47 # define WXWIN_COMPATIBILITY_2 0
48 # define WXWIN_COMPATIBILITY_2_2 0
49 #endif /* !wxUSE_GUI */
50
51 /*
52 tests for non GUI features
53 */
54
55 #ifndef wxUSE_DYNLIB_CLASS
56 # ifdef wxABORT_ON_CONFIG_ERROR
57 # error "wxUSE_DYNLIB_CLASS must be defined."
58 # else
59 # define wxUSE_DYNLIB_CLASS 0
60 # endif
61 #endif /* !defined(wxUSE_DYNLIB_CLASS) */
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_CHOICEDLG
297 # ifdef wxABORT_ON_CONFIG_ERROR
298 # error "wxUSE_CHOICEDLG must be defined."
299 # else
300 # define wxUSE_CHOICEDLG 0
301 # endif
302 #endif /* !defined(wxUSE_CHOICEDLG) */
303
304 #ifndef wxUSE_CLIPBOARD
305 # ifdef wxABORT_ON_CONFIG_ERROR
306 # error "wxUSE_CLIPBOARD must be defined."
307 # else
308 # define wxUSE_CLIPBOARD 0
309 # endif
310 #endif /* !defined(wxUSE_CLIPBOARD) */
311
312 #ifndef wxUSE_COLOURDLG
313 # ifdef wxABORT_ON_CONFIG_ERROR
314 # error "wxUSE_COLOURDLG must be defined."
315 # else
316 # define wxUSE_COLOURDLG 0
317 # endif
318 #endif /* !defined(wxUSE_COLOURDLG) */
319
320 #ifndef wxUSE_COMBOBOX
321 # ifdef wxABORT_ON_CONFIG_ERROR
322 # error "wxUSE_COMBOBOX must be defined."
323 # else
324 # define wxUSE_COMBOBOX 0
325 # endif
326 #endif /* !defined(wxUSE_COMBOBOX) */
327
328 #ifndef wxUSE_DATAOBJ
329 # ifdef wxABORT_ON_CONFIG_ERROR
330 # error "wxUSE_DATAOBJ must be defined."
331 # else
332 # define wxUSE_DATAOBJ 0
333 # endif
334 #endif /* !defined(wxUSE_DATAOBJ) */
335
336 #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
337 # ifdef wxABORT_ON_CONFIG_ERROR
338 # error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
339 # else
340 # define wxUSE_DOC_VIEW_ARCHITECTURE 0
341 # endif
342 #endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
343
344 #ifndef wxUSE_FILEDLG
345 # ifdef wxABORT_ON_CONFIG_ERROR
346 # error "wxUSE_FILEDLG must be defined."
347 # else
348 # define wxUSE_FILEDLG 0
349 # endif
350 #endif /* !defined(wxUSE_FILEDLG) */
351
352 #ifndef wxUSE_FONTDLG
353 # ifdef wxABORT_ON_CONFIG_ERROR
354 # error "wxUSE_FONTDLG must be defined."
355 # else
356 # define wxUSE_FONTDLG 0
357 # endif
358 #endif /* !defined(wxUSE_FONTDLG) */
359
360 #ifndef wxUSE_FONTMAP
361 # ifdef wxABORT_ON_CONFIG_ERROR
362 # error "wxUSE_FONTMAP must be defined."
363 # else
364 # define wxUSE_FONTMAP 0
365 # endif
366 #endif /* !defined(wxUSE_FONTMAP) */
367
368 #ifndef wxUSE_GAUGE
369 # ifdef wxABORT_ON_CONFIG_ERROR
370 # error "wxUSE_GAUGE must be defined."
371 # else
372 # define wxUSE_GAUGE 0
373 # endif
374 #endif /* !defined(wxUSE_GAUGE) */
375
376 #ifndef wxUSE_GRID
377 # ifdef wxABORT_ON_CONFIG_ERROR
378 # error "wxUSE_GRID must be defined."
379 # else
380 # define wxUSE_GRID 0
381 # endif
382 #endif /* !defined(wxUSE_GRID) */
383
384 #ifndef wxUSE_HELP
385 # ifdef wxABORT_ON_CONFIG_ERROR
386 # error "wxUSE_HELP must be defined."
387 # else
388 # define wxUSE_HELP 0
389 # endif
390 #endif /* !defined(wxUSE_HELP) */
391
392 #ifndef wxUSE_HTML
393 # ifdef wxABORT_ON_CONFIG_ERROR
394 # error "wxUSE_HTML must be defined."
395 # else
396 # define wxUSE_HTML 0
397 # endif
398 #endif /* !defined(wxUSE_HTML) */
399
400 #ifndef wxUSE_ICO_CUR
401 # ifdef wxABORT_ON_CONFIG_ERROR
402 # error "wxUSE_ICO_CUR must be defined."
403 # else
404 # define wxUSE_ICO_CUR 0
405 # endif
406 #endif /* !defined(wxUSE_ICO_CUR) */
407
408 #ifndef wxUSE_IFF
409 # ifdef wxABORT_ON_CONFIG_ERROR
410 # error "wxUSE_IFF must be defined."
411 # else
412 # define wxUSE_IFF 0
413 # endif
414 #endif /* !defined(wxUSE_IFF) */
415
416 #ifndef wxUSE_IMAGLIST
417 # ifdef wxABORT_ON_CONFIG_ERROR
418 # error "wxUSE_IMAGLIST must be defined."
419 # else
420 # define wxUSE_IMAGLIST 0
421 # endif
422 #endif /* !defined(wxUSE_IMAGLIST) */
423
424 #ifndef wxUSE_JOYSTICK
425 # ifdef wxABORT_ON_CONFIG_ERROR
426 # error "wxUSE_JOYSTICK must be defined."
427 # else
428 # define wxUSE_JOYSTICK 0
429 # endif
430 #endif /* !defined(wxUSE_JOYSTICK) */
431
432 #ifndef wxUSE_LISTBOX
433 # ifdef wxABORT_ON_CONFIG_ERROR
434 # error "wxUSE_LISTBOX must be defined."
435 # else
436 # define wxUSE_LISTBOX 0
437 # endif
438 #endif /* !defined(wxUSE_LISTBOX) */
439
440 #ifndef wxUSE_LISTCTRL
441 # ifdef wxABORT_ON_CONFIG_ERROR
442 # error "wxUSE_LISTCTRL must be defined."
443 # else
444 # define wxUSE_LISTCTRL 0
445 # endif
446 #endif /* !defined(wxUSE_LISTCTRL) */
447
448 #ifndef wxUSE_LOGGUI
449 # ifdef wxABORT_ON_CONFIG_ERROR
450 # error "wxUSE_LOGGUI must be defined."
451 # else
452 # define wxUSE_LOGGUI 0
453 # endif
454 #endif /* !defined(wxUSE_LOGGUI) */
455
456 #ifndef wxUSE_LOGWINDOW
457 # ifdef wxABORT_ON_CONFIG_ERROR
458 # error "wxUSE_LOGWINDOW must be defined."
459 # else
460 # define wxUSE_LOGWINDOW 0
461 # endif
462 #endif /* !defined(wxUSE_LOGWINDOW) */
463
464 #ifndef wxUSE_LOG_DIALOG
465 # ifdef wxABORT_ON_CONFIG_ERROR
466 # error "wxUSE_LOG_DIALOG must be defined."
467 # else
468 # define wxUSE_LOG_DIALOG 0
469 # endif
470 #endif /* !defined(wxUSE_LOG_DIALOG) */
471
472 #ifndef wxUSE_MDI_ARCHITECTURE
473 # ifdef wxABORT_ON_CONFIG_ERROR
474 # error "wxUSE_MDI_ARCHITECTURE must be defined."
475 # else
476 # define wxUSE_MDI_ARCHITECTURE 0
477 # endif
478 #endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
479
480 #ifndef wxUSE_MENUS
481 # ifdef wxABORT_ON_CONFIG_ERROR
482 # error "wxUSE_MENUS must be defined."
483 # else
484 # define wxUSE_MENUS 0
485 # endif
486 #endif /* !defined(wxUSE_MENUS) */
487
488 #ifndef wxUSE_MSGDLG
489 # ifdef wxABORT_ON_CONFIG_ERROR
490 # error "wxUSE_MSGDLG must be defined."
491 # else
492 # define wxUSE_MSGDLG 0
493 # endif
494 #endif /* !defined(wxUSE_MSGDLG) */
495
496 #ifndef wxUSE_NOTEBOOK
497 # ifdef wxABORT_ON_CONFIG_ERROR
498 # error "wxUSE_NOTEBOOK must be defined."
499 # else
500 # define wxUSE_NOTEBOOK 0
501 # endif
502 #endif /* !defined(wxUSE_NOTEBOOK) */
503
504 #ifndef wxUSE_PALETTE
505 # ifdef wxABORT_ON_CONFIG_ERROR
506 # error "wxUSE_PALETTE must be defined."
507 # else
508 # define wxUSE_PALETTE 0
509 # endif
510 #endif /* !defined(wxUSE_PALETTE) */
511
512 #ifndef wxUSE_POPUPWIN
513 # ifdef wxABORT_ON_CONFIG_ERROR
514 # error "wxUSE_POPUPWIN must be defined."
515 # else
516 # define wxUSE_POPUPWIN 0
517 # endif
518 #endif /* !defined(wxUSE_POPUPWIN) */
519
520 #ifndef wxUSE_PRINTING_ARCHITECTURE
521 # ifdef wxABORT_ON_CONFIG_ERROR
522 # error "wxUSE_PRINTING_ARCHITECTURE must be defined."
523 # else
524 # define wxUSE_PRINTING_ARCHITECTURE 0
525 # endif
526 #endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
527
528 #ifndef wxUSE_RADIOBOX
529 # ifdef wxABORT_ON_CONFIG_ERROR
530 # error "wxUSE_RADIOBOX must be defined."
531 # else
532 # define wxUSE_RADIOBOX 0
533 # endif
534 #endif /* !defined(wxUSE_RADIOBOX) */
535
536 #ifndef wxUSE_RADIOBTN
537 # ifdef wxABORT_ON_CONFIG_ERROR
538 # error "wxUSE_RADIOBTN must be defined."
539 # else
540 # define wxUSE_RADIOBTN 0
541 # endif
542 #endif /* !defined(wxUSE_RADIOBTN) */
543
544 #ifndef wxUSE_SASH
545 # ifdef wxABORT_ON_CONFIG_ERROR
546 # error "wxUSE_SASH must be defined."
547 # else
548 # define wxUSE_SASH 0
549 # endif
550 #endif /* !defined(wxUSE_SASH) */
551
552 #ifndef wxUSE_SCROLLBAR
553 # ifdef wxABORT_ON_CONFIG_ERROR
554 # error "wxUSE_SCROLLBAR must be defined."
555 # else
556 # define wxUSE_SCROLLBAR 0
557 # endif
558 #endif /* !defined(wxUSE_SCROLLBAR) */
559
560 #ifndef wxUSE_SLIDER
561 # ifdef wxABORT_ON_CONFIG_ERROR
562 # error "wxUSE_SLIDER must be defined."
563 # else
564 # define wxUSE_SLIDER 0
565 # endif
566 #endif /* !defined(wxUSE_SLIDER) */
567
568 #ifndef wxUSE_SPINBTN
569 # ifdef wxABORT_ON_CONFIG_ERROR
570 # error "wxUSE_SPINBTN must be defined."
571 # else
572 # define wxUSE_SPINBTN 0
573 # endif
574 #endif /* !defined(wxUSE_SPINBTN) */
575
576 #ifndef wxUSE_SPINCTRL
577 # ifdef wxABORT_ON_CONFIG_ERROR
578 # error "wxUSE_SPINCTRL must be defined."
579 # else
580 # define wxUSE_SPINCTRL 0
581 # endif
582 #endif /* !defined(wxUSE_SPINCTRL) */
583
584 #ifndef wxUSE_SPLASH
585 # ifdef wxABORT_ON_CONFIG_ERROR
586 # error "wxUSE_SPLASH must be defined."
587 # else
588 # define wxUSE_SPLASH 0
589 # endif
590 #endif /* !defined(wxUSE_SPLASH) */
591
592 #ifndef wxUSE_SPLITTER
593 # ifdef wxABORT_ON_CONFIG_ERROR
594 # error "wxUSE_SPLITTER must be defined."
595 # else
596 # define wxUSE_SPLITTER 0
597 # endif
598 #endif /* !defined(wxUSE_SPLITTER) */
599
600 #ifndef wxUSE_STATBMP
601 # ifdef wxABORT_ON_CONFIG_ERROR
602 # error "wxUSE_STATBMP must be defined."
603 # else
604 # define wxUSE_STATBMP 0
605 # endif
606 #endif /* !defined(wxUSE_STATBMP) */
607
608 #ifndef wxUSE_STATBOX
609 # ifdef wxABORT_ON_CONFIG_ERROR
610 # error "wxUSE_STATBOX must be defined."
611 # else
612 # define wxUSE_STATBOX 0
613 # endif
614 #endif /* !defined(wxUSE_STATBOX) */
615
616 #ifndef wxUSE_STATLINE
617 # ifdef wxABORT_ON_CONFIG_ERROR
618 # error "wxUSE_STATLINE must be defined."
619 # else
620 # define wxUSE_STATLINE 0
621 # endif
622 #endif /* !defined(wxUSE_STATLINE) */
623
624 #ifndef wxUSE_STATTEXT
625 # ifdef wxABORT_ON_CONFIG_ERROR
626 # error "wxUSE_STATTEXT must be defined."
627 # else
628 # define wxUSE_STATTEXT 0
629 # endif
630 #endif /* !defined(wxUSE_STATTEXT) */
631
632 #ifndef wxUSE_STATUSBAR
633 # ifdef wxABORT_ON_CONFIG_ERROR
634 # error "wxUSE_STATUSBAR must be defined."
635 # else
636 # define wxUSE_STATUSBAR 0
637 # endif
638 #endif /* !defined(wxUSE_STATUSBAR) */
639
640 #ifndef wxUSE_TAB_DIALOG
641 # ifdef wxABORT_ON_CONFIG_ERROR
642 # error "wxUSE_TAB_DIALOG must be defined."
643 # else
644 # define wxUSE_TAB_DIALOG 0
645 # endif
646 #endif /* !defined(wxUSE_TAB_DIALOG) */
647
648 #ifndef wxUSE_TEXTCTRL
649 # ifdef wxABORT_ON_CONFIG_ERROR
650 # error "wxUSE_TEXTCTRL must be defined."
651 # else
652 # define wxUSE_TEXTCTRL 0
653 # endif
654 #endif /* !defined(wxUSE_TEXTCTRL) */
655
656 #ifndef wxUSE_TIPWINDOW
657 # ifdef wxABORT_ON_CONFIG_ERROR
658 # error "wxUSE_TIPWINDOW must be defined."
659 # else
660 # define wxUSE_TIPWINDOW 0
661 # endif
662 #endif /* !defined(wxUSE_TIPWINDOW) */
663
664 #ifndef wxUSE_TOOLBAR
665 # ifdef wxABORT_ON_CONFIG_ERROR
666 # error "wxUSE_TOOLBAR must be defined."
667 # else
668 # define wxUSE_TOOLBAR 0
669 # endif
670 #endif /* !defined(wxUSE_TOOLBAR) */
671
672 #ifndef wxUSE_TOOLTIPS
673 # ifdef wxABORT_ON_CONFIG_ERROR
674 # error "wxUSE_TOOLTIPS must be defined."
675 # else
676 # define wxUSE_TOOLTIPS 0
677 # endif
678 #endif /* !defined(wxUSE_TOOLTIPS) */
679
680 #ifndef wxUSE_TREECTRL
681 # ifdef wxABORT_ON_CONFIG_ERROR
682 # error "wxUSE_TREECTRL must be defined."
683 # else
684 # define wxUSE_TREECTRL 0
685 # endif
686 #endif /* !defined(wxUSE_TREECTRL) */
687
688 #ifndef wxUSE_DISPLAY
689 # ifdef wxABORT_ON_CONFIG_ERROR
690 # error "wxUSE_DISPLAY must be defined."
691 # else
692 # define wxUSE_DISPLAY 0
693 # endif
694 #endif /* !defined(wxUSE_TREECTRL) */
695
696 #ifndef wxUSE_WXHTML_HELP
697 # ifdef wxABORT_ON_CONFIG_ERROR
698 # error "wxUSE_WXHTML_HELP must be defined."
699 # else
700 # define wxUSE_WXHTML_HELP 0
701 # endif
702 #endif /* !defined(wxUSE_WXHTML_HELP) */
703
704 #endif /* wxUSE_GUI */
705
706 /*
707 check consistency of the settings
708 */
709
710 #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
711 # if !wxUSE_PROTOCOL
712 # ifdef wxABORT_ON_CONFIG_ERROR
713 # error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
714 # else
715 # undef wxUSE_PROTOCOL
716 # define wxUSE_PROTOCOL 1
717 # endif
718 # endif
719 #endif /* wxUSE_PROTOCOL_XXX */
720
721 #if wxUSE_URL
722 # if !wxUSE_PROTOCOL
723 # ifdef wxABORT_ON_CONFIG_ERROR
724 # error "wxUSE_URL requires wxUSE_PROTOCOL"
725 # else
726 # undef wxUSE_PROTOCOL
727 # define wxUSE_PROTOCOL 1
728 # endif
729 # endif
730 #endif /* wxUSE_URL */
731
732 #if wxUSE_PROTOCOL
733 # if !wxUSE_SOCKETS
734 # if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
735 # ifdef wxABORT_ON_CONFIG_ERROR
736 # error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
737 # else
738 # undef wxUSE_SOCKETS
739 # define wxUSE_SOCKETS 1
740 # endif
741 # endif
742 # endif
743
744 # if !wxUSE_STREAMS
745 # ifdef wxABORT_ON_CONFIG_ERROR
746 # error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
747 # else
748 # undef wxUSE_STREAMS
749 # define wxUSE_STREAMS 1
750 # endif
751 # endif
752 #endif /* wxUSE_PROTOCOL */
753
754 /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
755 #if wxUSE_HTML
756 # if !wxUSE_FILESYSTEM
757 # ifdef wxABORT_ON_CONFIG_ERROR
758 # error "wxHTML requires wxFileSystem"
759 # else
760 # undef wxUSE_FILESYSTEM
761 # define wxUSE_FILESYSTEM 1
762 # endif
763 # endif
764 #endif /* wxUSE_HTML */
765
766 #if wxUSE_FILESYSTEM
767 # if !wxUSE_STREAMS
768 # ifdef wxABORT_ON_CONFIG_ERROR
769 # error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
770 # else
771 # undef wxUSE_STREAMS
772 # define wxUSE_STREAMS 1
773 # endif
774 # endif
775 #endif /* wxUSE_FILESYSTEM */
776
777 #if wxUSE_FS_INET
778 # if !wxUSE_PROTOCOL
779 # ifdef wxABORT_ON_CONFIG_ERROR
780 # error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
781 # else
782 # undef wxUSE_PROTOCOL
783 # define wxUSE_PROTOCOL 1
784 # endif
785 # endif
786 #endif /* wxUSE_FS_INET */
787
788 #if wxUSE_STOPWATCH || wxUSE_DATETIME
789 # if !wxUSE_LONGLONG
790 # ifdef wxABORT_ON_CONFIG_ERROR
791 # error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
792 # else
793 # undef wxUSE_LONGLONG
794 # define wxUSE_LONGLONG 1
795 # endif
796 # endif
797 #endif /* wxUSE_STOPWATCH */
798
799 #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
800 # ifdef wxABORT_ON_CONFIG_ERROR
801 # error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
802 # else
803 # undef wxUSE_TEXTFILE
804 # define wxUSE_TEXTFILE 1
805 # endif
806 #endif /* wxUSE_MIMETYPE */
807
808 #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
809 # ifdef wxABORT_ON_CONFIG_ERROR
810 # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
811 # else
812 # undef wxUSE_TEXTBUFFER
813 # define wxUSE_TEXTBUFFER 1
814 # endif
815 #endif /* wxUSE_TEXTFILE */
816
817 #if wxUSE_TEXTFILE && !wxUSE_FILE
818 # ifdef wxABORT_ON_CONFIG_ERROR
819 # error "wxUSE_TEXTFILE requires wxUSE_FILE"
820 # else
821 # undef wxUSE_FILE
822 # define wxUSE_FILE 1
823 # endif
824 #endif /* wxUSE_TEXTFILE */
825
826 #if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
827 # ifdef wxABORT_ON_CONFIG_ERROR
828 # error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
829 # else
830 # undef wxUSE_UNICODE
831 # define wxUSE_UNICODE 1
832 # endif
833 #endif /* wxUSE_UNICODE_MSLU */
834
835 #if wxUSE_ODBC && wxUSE_UNICODE
836 # ifdef wxABORT_ON_CONFIG_ERROR
837 /* (ODBC classes aren't Unicode-compatible yet) */
838 # error "wxUSE_ODBC can't be used with wxUSE_UNICODE"
839 # else
840 # undef wxUSE_ODBC
841 # define wxUSE_ODBC 0
842 # endif
843 #endif /* wxUSE_ODBC */
844
845 #if wxUSE_XML && !wxUSE_WCHAR_T
846 # ifdef wxABORT_ON_CONFIG_ERROR
847 # error "wxUSE_XML requires wxUSE_WCHAR_T"
848 # else
849 # undef wxUSE_XML
850 # define wxUSE_XML 0
851 # endif
852 #endif /* wxUSE_UNICODE_MSLU */
853
854 #if !wxUSE_DYNLIB_CLASS
855 # if wxUSE_DYNAMIC_LOADER
856 # ifdef wxABORT_ON_CONFIG_ERROR
857 # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
858 # else
859 # define wxUSE_DYNLIB_CLASS 1
860 # endif
861 # endif
862 #endif /* wxUSE_DYNLIB_CLASS */
863
864 /* the rest of the tests is for the GUI settings only */
865 #if wxUSE_GUI
866
867 #if wxUSE_BUTTON || \
868 wxUSE_CALENDARCTRL || \
869 wxUSE_CARET || \
870 wxUSE_COMBOBOX || \
871 wxUSE_BMPBUTTON || \
872 wxUSE_CHECKBOX || \
873 wxUSE_CHECKLISTBOX || \
874 wxUSE_CHOICE || \
875 wxUSE_GAUGE || \
876 wxUSE_GRID || \
877 wxUSE_LISTBOX || \
878 wxUSE_LISTCTRL || \
879 wxUSE_NOTEBOOK || \
880 wxUSE_RADIOBOX || \
881 wxUSE_RADIOBTN || \
882 wxUSE_SCROLLBAR || \
883 wxUSE_SLIDER || \
884 wxUSE_SPINBTN || \
885 wxUSE_SPINCTRL || \
886 wxUSE_STATBMP || \
887 wxUSE_STATBOX || \
888 wxUSE_STATLINE || \
889 wxUSE_STATTEXT || \
890 wxUSE_STATUSBAR || \
891 wxUSE_TEXTCTRL || \
892 wxUSE_TOOLBAR || \
893 wxUSE_TREECTRL
894 # if !wxUSE_CONTROLS
895 # ifdef wxABORT_ON_CONFIG_ERROR
896 # error "wxUSE_CONTROLS unset but some controls used"
897 # else
898 # undef wxUSE_CONTROLS
899 # define wxUSE_CONTROLS 1
900 # endif
901 # endif
902 #endif /* controls */
903
904 /* wxUniv-specific dependencies */
905 #if defined(__WXUNIVERSAL__)
906 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
907 # ifdef wxABORT_ON_CONFIG_ERROR
908 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
909 # else
910 # undef wxUSE_POPUPWIN
911 # define wxUSE_POPUPWIN 1
912 # endif
913 # endif
914
915 # if wxUSE_COMBOBOX
916 # if !wxUSE_LISTBOX
917 # ifdef wxABORT_ON_CONFIG_ERROR
918 # error "wxComboBox requires wxListBox in wxUniversal"
919 # else
920 # undef wxUSE_LISTBOX
921 # define wxUSE_LISTBOX 1
922 # endif
923 # endif
924 # endif /* wxUSE_COMBOBOX */
925
926 # if wxUSE_RADIOBTN
927 # if !wxUSE_CHECKBOX
928 # ifdef wxABORT_ON_CONFIG_ERROR
929 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
930 # else
931 # undef wxUSE_CHECKBOX
932 # define wxUSE_CHECKBOX 1
933 # endif
934 # endif
935 # endif /* wxUSE_RADIOBTN */
936
937 # if wxUSE_TEXTCTRL
938 # if !wxUSE_CARET
939 # ifdef wxABORT_ON_CONFIG_ERROR
940 # error "wxTextCtrl requires wxCaret in wxUniversal"
941 # else
942 # undef wxUSE_CARET
943 # define wxUSE_CARET 1
944 # endif
945 # endif /* wxUSE_CARET */
946
947 # if !wxUSE_SCROLLBAR
948 # ifdef wxABORT_ON_CONFIG_ERROR
949 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
950 # else
951 # undef wxUSE_SCROLLBAR
952 # define wxUSE_SCROLLBAR 1
953 # endif
954 # endif /* wxUSE_SCROLLBAR */
955 # endif /* wxUSE_TEXTCTRL */
956 #endif /* __WXUNIVERSAL__ */
957
958 /* wxGTK-specific dependencies */
959 #ifdef __WXGTK__
960 # ifndef __WXUNIVERSAL__
961 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
962 # ifdef wxABORT_ON_CONFIG_ERROR
963 # error "MDI requires wxUSE_MENUS in wxGTK"
964 # else
965 # undef wxUSE_MENUS
966 # define wxUSE_MENUS 1
967 # endif
968 # endif
969 # endif /* !__WXUNIVERSAL__ */
970
971 # if wxUSE_JOYSTICK
972 # if !wxUSE_THREADS
973 # ifdef wxABORT_ON_CONFIG_ERROR
974 # error "wxJoystick requires threads in wxGTK"
975 # else
976 # undef wxUSE_JOYSTICK
977 # define wxUSE_JOYSTICK 0
978 # endif
979 # endif
980 # endif
981 #endif /* wxGTK && !wxUniv */
982
983 /* wxMSW-specific dependencies */
984 #ifdef __WXMSW__
985 # ifndef wxUSE_UNICODE_MSLU
986 # ifdef wxABORT_ON_CONFIG_ERROR
987 # error "wxUSE_UNICODE_MSLU must be defined."
988 # else
989 # define wxUSE_UNICODE_MSLU 0
990 # endif
991 # endif /* wxUSE_UNICODE_MSLU */
992 # ifndef wxUSE_UXTHEME
993 # ifdef wxABORT_ON_CONFIG_ERROR
994 # error "wxUSE_UXTHEME must be defined."
995 # else
996 # define wxUSE_UXTHEME 0
997 # endif
998 # endif /* wxUSE_UXTHEME */
999 # ifndef wxUSE_UXTHEME_AUTO
1000 # ifdef wxABORT_ON_CONFIG_ERROR
1001 # error "wxUSE_UXTHEME_AUTO must be defined."
1002 # else
1003 # define wxUSE_UXTHEME_AUTO 0
1004 # endif
1005 # endif /* wxUSE_UXTHEME_AUTO */
1006 # ifndef wxUSE_MS_HTML_HELP
1007 # ifdef wxABORT_ON_CONFIG_ERROR
1008 # error "wxUSE_MS_HTML_HELP must be defined."
1009 # else
1010 # define wxUSE_MS_HTML_HELP 0
1011 # endif
1012 # endif /* !defined(wxUSE_MS_HTML_HELP) */
1013 # ifndef wxUSE_DIALUP_MANAGER
1014 # ifdef wxABORT_ON_CONFIG_ERROR
1015 # error "wxUSE_DIALUP_MANAGER must be defined."
1016 # else
1017 # define wxUSE_DIALUP_MANAGER 0
1018 # endif
1019 # endif /* !defined(wxUSE_DIALUP_MANAGER) */
1020
1021 # if !wxUSE_DYNAMIC_LOADER
1022 # if wxUSE_MS_HTML_HELP
1023 # ifdef wxABORT_ON_CONFIG_ERROR
1024 # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1025 # else
1026 # define wxUSE_DYNAMIC_LOADER 1
1027 # endif
1028 # endif
1029 # if wxUSE_DIALUP_MANAGER
1030 # ifdef wxABORT_ON_CONFIG_ERROR
1031 # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1032 # else
1033 # define wxUSE_DYNAMIC_LOADER 1
1034 # endif
1035 # endif
1036 # endif /* wxUSE_DYNAMIC_LOADER */
1037 #endif /* wxMSW */
1038
1039 /* wxMAC-specific dependencies */
1040 #ifdef __WXMAC__
1041 # if wxUSE_UNICODE
1042 # if !TARGET_CARBON
1043 # ifdef wxABORT_ON_CONFIG_ERROR
1044 # error "wxUSE_UNICODE is only supported for Carbon Targets."
1045 # else
1046 # define wxUSE_UNICODE 0
1047 # endif
1048 # endif
1049 # endif
1050 #endif /* wxMAC */
1051 /* wxMotif-specific dependencies */
1052 #if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1053 # undef wxUSE_TAB_DIALOG
1054 # define wxUSE_TAB_DIALOG 1
1055 #endif
1056
1057 /* wxMGL-specific dependencies */
1058 #ifdef __WXMGL__
1059 # if !wxUSE_PALETTE
1060 # error "wxMGL requires wxUSE_PALETTE=1"
1061 # endif
1062 #endif /* wxMGL */
1063
1064 // Hopefully we can emulate these dialogs in due course
1065 #if wxUSE_SMARTPHONE
1066 # ifdef wxUSE_COLOURDLG
1067 # undef wxUSE_COLOURDLG
1068 # define wxUSE_COLOURDLG 0
1069 # endif
1070 #endif /* wxUSE_SMARTPHONE */
1071
1072
1073 /* generic controls dependencies */
1074 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1075 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1076 /* all common controls are needed by these dialogs */
1077 # if !defined(wxUSE_CHOICE) || \
1078 !defined(wxUSE_TEXTCTRL) || \
1079 !defined(wxUSE_BUTTON) || \
1080 !defined(wxUSE_CHECKBOX) || \
1081 !defined(wxUSE_STATTEXT)
1082 # ifdef wxABORT_ON_CONFIG_ERROR
1083 # error "These common controls are needed by common dialogs"
1084 # else
1085 # undef wxUSE_CHOICE
1086 # define wxUSE_CHOICE 1
1087 # undef wxUSE_TEXTCTRL
1088 # define wxUSE_TEXTCTRL 1
1089 # undef wxUSE_BUTTON
1090 # define wxUSE_BUTTON 1
1091 # undef wxUSE_CHECKBOX
1092 # define wxUSE_CHECKBOX 1
1093 # undef wxUSE_STATTEXT
1094 # define wxUSE_STATTEXT 1
1095 # endif
1096 # endif
1097 # endif
1098 #endif /* !wxMSW || wxUniv */
1099
1100 /* common dependencies */
1101 #if wxUSE_CALENDARCTRL
1102 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1103 # ifdef wxABORT_ON_CONFIG_ERROR
1104 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1105 # else
1106 # undef wxUSE_SPINBTN
1107 # undef wxUSE_COMBOBOX
1108 # define wxUSE_SPINBTN 1
1109 # define wxUSE_COMBOBOX 1
1110 # endif
1111 # endif
1112
1113 # if !wxUSE_DATETIME
1114 # ifdef wxABORT_ON_CONFIG_ERROR
1115 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1116 # else
1117 # undef wxUSE_DATETIME
1118 # define wxUSE_DATETIME 1
1119 # endif
1120 # endif
1121 #endif /* wxUSE_CALENDARCTRL */
1122
1123 #if wxUSE_CHECKLISTBOX
1124 # if !wxUSE_LISTBOX
1125 # ifdef wxABORT_ON_CONFIG_ERROR
1126 # error "wxCheckListBox requires wxListBox"
1127 # else
1128 # undef wxUSE_LISTBOX
1129 # define wxUSE_LISTBOX 1
1130 # endif
1131 # endif
1132 #endif /* wxUSE_RADIOBTN */
1133
1134 #if wxUSE_WXHTML_HELP
1135 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
1136 # ifdef wxABORT_ON_CONFIG_ERROR
1137 # error "Built in help controller can't be compiled"
1138 # else
1139 # undef wxUSE_HELP
1140 # define wxUSE_HELP 1
1141 # undef wxUSE_HTML
1142 # define wxUSE_HTML 1
1143 # undef wxUSE_COMBOBOX
1144 # define wxUSE_COMBOBOX 1
1145 # undef wxUSE_NOTEBOOK
1146 # define wxUSE_NOTEBOOK 1
1147 # endif
1148 # endif
1149 #endif /* wxUSE_WXHTML_HELP */
1150
1151 #if wxUSE_DOC_VIEW_ARCHITECTURE
1152 # if !wxUSE_MENUS
1153 # ifdef wxABORT_ON_CONFIG_ERROR
1154 # error "DocView requires wxUSE_MENUS"
1155 # else
1156 # undef wxUSE_MENUS
1157 # define wxUSE_MENUS 1
1158 # endif
1159 # endif
1160
1161 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1162 # ifdef wxABORT_ON_CONFIG_ERROR
1163 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1164 # else
1165 # undef wxUSE_STREAMS
1166 # define wxUSE_STREAMS 1
1167 # endif
1168 # endif
1169 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1170
1171 #if wxUSE_PRINTING_ARCHITECTURE
1172 # if !wxUSE_COMBOBOX
1173 # ifdef wxABORT_ON_CONFIG_ERROR
1174 # error "Print dialog requires wxUSE_COMBOBOX"
1175 # else
1176 # undef wxUSE_COMBOBOX
1177 # define wxUSE_COMBOBOX 1
1178 # endif
1179 # endif
1180
1181 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1182 # ifdef wxABORT_ON_CONFIG_ERROR
1183 # error "Print architecture requires wxUSE_DOC_VIEW_ARCHITECTURE"
1184 # else
1185 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1186 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1187 # endif
1188 # endif
1189 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1190
1191 #if wxUSE_MDI_ARCHITECTURE
1192 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1193 # ifdef wxABORT_ON_CONFIG_ERROR
1194 # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1195 # else
1196 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1197 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1198 # endif
1199 # endif
1200 #endif /* wxUSE_MDI_ARCHITECTURE */
1201
1202 #if !wxUSE_FILEDLG
1203 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1204 # ifdef wxABORT_ON_CONFIG_ERROR
1205 # error "wxFileDialog must be compiled as well"
1206 # else
1207 # undef wxUSE_FILEDLG
1208 # define wxUSE_FILEDLG 1
1209 # endif
1210 # endif
1211 #endif /* wxUSE_FILEDLG */
1212
1213 #if !wxUSE_TOOLBAR
1214 # if wxUSE_TOOLBAR_NATIVE
1215 # ifdef wxABORT_ON_CONFIG_ERROR
1216 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1217 # else
1218 # undef wxUSE_TOOLBAR_NATIVE
1219 # define wxUSE_TOOLBAR_NATIVE 0
1220 # endif
1221 # endif
1222
1223 # if wxUSE_TOOLBAR_SIMPLE
1224 # ifdef wxABORT_ON_CONFIG_ERROR
1225 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1226 # else
1227 # undef wxUSE_TOOLBAR_SIMPLE
1228 # define wxUSE_TOOLBAR_SIMPLE 0
1229 # endif
1230 # endif
1231 #endif
1232
1233 #if !wxUSE_IMAGLIST
1234 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1235 # ifdef wxABORT_ON_CONFIG_ERROR
1236 # error "wxImageList must be compiled as well"
1237 # else
1238 # undef wxUSE_IMAGLIST
1239 # define wxUSE_IMAGLIST 1
1240 # endif
1241 # endif
1242 #endif /* !wxUSE_IMAGLIST */
1243
1244 #if !wxUSE_MSGDLG
1245 # ifdef wxABORT_ON_CONFIG_ERROR
1246 /* FIXME: should compile without it, of course, but doesn't */
1247 # error "wxMessageBox is always needed"
1248 # else
1249 # undef wxUSE_MSGDLG
1250 # define wxUSE_MSGDLG 1
1251 # endif
1252 #endif
1253
1254 #if wxUSE_RADIOBOX
1255 # if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1256 # ifdef wxABORT_ON_CONFIG_ERROR
1257 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1258 # else
1259 # undef wxUSE_RADIOBTN
1260 # undef wxUSE_STATBOX
1261 # define wxUSE_RADIOBTN 1
1262 # define wxUSE_STATBOX 1
1263 # endif
1264 # endif
1265 #endif /* wxUSE_RADIOBOX */
1266
1267 #if wxUSE_LOGWINDOW
1268 # if !wxUSE_TEXTCTRL
1269 # ifdef wxABORT_ON_CONFIG_ERROR
1270 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1271 # else
1272 # undef wxUSE_TEXTCTRL
1273 # define wxUSE_TEXTCTRL 1
1274 # endif
1275 # endif
1276 #endif /* wxUSE_LOGWINDOW */
1277
1278 #if wxUSE_LOG_DIALOG
1279 # if !wxUSE_LISTCTRL
1280 # ifdef wxABORT_ON_CONFIG_ERROR
1281 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL"
1282 # else
1283 # undef wxUSE_LISTCTRL
1284 # define wxUSE_LISTCTRL 1
1285 # endif
1286 # endif
1287 #endif /* wxUSE_LOG_DIALOG */
1288
1289 /* I wonder if we shouldn't just remove all occurrences of
1290 wxUSE_DYNAMIC_CLASSES from the sources? */
1291 #if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
1292 # ifdef wxABORT_ON_CONFIG_ERROR
1293 # error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1294 # else
1295 # undef wxUSE_DYNAMIC_CLASSES
1296 # define wxUSE_DYNAMIC_CLASSES 1
1297 # endif
1298 #endif /* wxUSE_DYNAMIC_CLASSES */
1299
1300 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1301 # ifdef wxABORT_ON_CONFIG_ERROR
1302 # error "wxClipboard requires wxDataObject"
1303 # else
1304 # undef wxUSE_DATAOBJ
1305 # define wxUSE_DATAOBJ 1
1306 # endif
1307 #endif /* wxUSE_CLIPBOARD */
1308
1309 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1310 # ifdef wxABORT_ON_CONFIG_ERROR
1311 # error "wxr resources require PrologIO"
1312 # else
1313 # undef wxUSE_PROLOGIO
1314 # define wxUSE_PROLOGIO 1
1315 # endif
1316 #endif /* wxUSE_WX_RESOURCES */
1317
1318 #endif /* wxUSE_GUI */
1319