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