]> git.saurik.com Git - wxWidgets.git/blob - include/wx/chkconf.h
partially reverted Robert's changes, did it more cleanly
[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(__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 /*
42 tests for non GUI features
43 */
44
45 #ifndef wxUSE_DYNLIB_CLASS
46 # ifdef wxABORT_ON_CONFIG_ERROR
47 # error "wxUSE_DYNLIB_CLASS must be defined."
48 # else
49 # define wxUSE_DYNLIB_CLASS 0
50 # endif
51 #endif /* !defined(wxUSE_DYNLIB_CLASS) */
52
53 #ifndef wxUSE_EXCEPTIONS
54 # ifdef wxABORT_ON_CONFIG_ERROR
55 # error "wxUSE_EXCEPTIONS must be defined."
56 # else
57 # define wxUSE_EXCEPTIONS 0
58 # endif
59 #endif /* !defined(wxUSE_EXCEPTIONS) */
60
61 #ifndef wxUSE_FILESYSTEM
62 # ifdef wxABORT_ON_CONFIG_ERROR
63 # error "wxUSE_FILESYSTEM must be defined."
64 # else
65 # define wxUSE_FILESYSTEM 0
66 # endif
67 #endif /* !defined(wxUSE_FILESYSTEM) */
68
69 /* don't give an error about this one yet, it's not fully implemented */
70 #ifndef wxUSE_FSVOLUME
71 # define wxUSE_FSVOLUME 0
72 #endif /* !defined(wxUSE_FSVOLUME) */
73
74 #ifndef wxUSE_DYNAMIC_LOADER
75 # ifdef wxABORT_ON_CONFIG_ERROR
76 # error "wxUSE_DYNAMIC_LOADER must be defined."
77 # else
78 # define wxUSE_DYNAMIC_LOADER 0
79 # endif
80 #endif /* !defined(wxUSE_DYNAMIC_LOADER) */
81
82 #ifndef wxUSE_LOG
83 # ifdef wxABORT_ON_CONFIG_ERROR
84 # error "wxUSE_LOG must be defined."
85 # else
86 # define wxUSE_LOG 0
87 # endif
88 #endif /* !defined(wxUSE_LOG) */
89
90 #ifndef wxUSE_LONGLONG
91 # ifdef wxABORT_ON_CONFIG_ERROR
92 # error "wxUSE_LONGLONG must be defined."
93 # else
94 # define wxUSE_LONGLONG 0
95 # endif
96 #endif /* !defined(wxUSE_LONGLONG) */
97
98 #ifndef wxUSE_MIMETYPE
99 # ifdef wxABORT_ON_CONFIG_ERROR
100 # error "wxUSE_MIMETYPE must be defined."
101 # else
102 # define wxUSE_MIMETYPE 0
103 # endif
104 #endif /* !defined(wxUSE_MIMETYPE) */
105
106 #ifndef wxUSE_PROTOCOL
107 # ifdef wxABORT_ON_CONFIG_ERROR
108 # error "wxUSE_PROTOCOL must be defined."
109 # else
110 # define wxUSE_PROTOCOL 0
111 # endif
112 #endif /* !defined(wxUSE_PROTOCOL) */
113
114 /* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
115 #if !wxUSE_PROTOCOL
116 # undef wxUSE_PROTOCOL_HTTP
117 # undef wxUSE_PROTOCOL_FTP
118 # undef wxUSE_PROTOCOL_FILE
119 # define wxUSE_PROTOCOL_HTTP 0
120 # define wxUSE_PROTOCOL_FTP 0
121 # define wxUSE_PROTOCOL_FILE 0
122 #endif /* wxUSE_PROTOCOL */
123
124 #ifndef wxUSE_PROTOCOL_HTTP
125 # ifdef wxABORT_ON_CONFIG_ERROR
126 # error "wxUSE_PROTOCOL_HTTP must be defined."
127 # else
128 # define wxUSE_PROTOCOL_HTTP 0
129 # endif
130 #endif /* !defined(wxUSE_PROTOCOL_HTTP) */
131
132 #ifndef wxUSE_PROTOCOL_FTP
133 # ifdef wxABORT_ON_CONFIG_ERROR
134 # error "wxUSE_PROTOCOL_FTP must be defined."
135 # else
136 # define wxUSE_PROTOCOL_FTP 0
137 # endif
138 #endif /* !defined(wxUSE_PROTOCOL_FTP) */
139
140 #ifndef wxUSE_PROTOCOL_FILE
141 # ifdef wxABORT_ON_CONFIG_ERROR
142 # error "wxUSE_PROTOCOL_FILE must be defined."
143 # else
144 # define wxUSE_PROTOCOL_FILE 0
145 # endif
146 #endif /* !defined(wxUSE_PROTOCOL_FILE) */
147
148 #ifndef wxUSE_REGEX
149 # ifdef wxABORT_ON_CONFIG_ERROR
150 # error "wxUSE_REGEX must be defined."
151 # else
152 # define wxUSE_REGEX 0
153 # endif
154 #endif /* !defined(wxUSE_REGEX) */
155
156 #ifndef wxUSE_XML
157 # ifdef wxABORT_ON_CONFIG_ERROR
158 # error "wxUSE_XML must be defined."
159 # else
160 # define wxUSE_XML 0
161 # endif
162 #endif /* !defined(wxUSE_XML) */
163
164 #ifndef wxUSE_SOCKETS
165 # ifdef wxABORT_ON_CONFIG_ERROR
166 # error "wxUSE_SOCKETS must be defined."
167 # else
168 # define wxUSE_SOCKETS 0
169 # endif
170 #endif /* !defined(wxUSE_SOCKETS) */
171
172 #ifndef wxUSE_STREAMS
173 # ifdef wxABORT_ON_CONFIG_ERROR
174 # error "wxUSE_STREAMS must be defined."
175 # else
176 # define wxUSE_STREAMS 0
177 # endif
178 #endif /* !defined(wxUSE_STREAMS) */
179
180 #ifndef wxUSE_STOPWATCH
181 # ifdef wxABORT_ON_CONFIG_ERROR
182 # error "wxUSE_STOPWATCH must be defined."
183 # else
184 # define wxUSE_STOPWATCH 0
185 # endif
186 #endif /* !defined(wxUSE_STOPWATCH) */
187
188 #ifndef wxUSE_TEXTBUFFER
189 # ifdef wxABORT_ON_CONFIG_ERROR
190 # error "wxUSE_TEXTBUFFER must be defined."
191 # else
192 # define wxUSE_TEXTBUFFER 0
193 # endif
194 #endif /* !defined(wxUSE_TEXTBUFFER) */
195
196 #ifndef wxUSE_TEXTFILE
197 # ifdef wxABORT_ON_CONFIG_ERROR
198 # error "wxUSE_TEXTFILE must be defined."
199 # else
200 # define wxUSE_TEXTFILE 0
201 # endif
202 #endif /* !defined(wxUSE_TEXTFILE) */
203
204 #ifndef wxUSE_UNICODE
205 # ifdef wxABORT_ON_CONFIG_ERROR
206 # error "wxUSE_UNICODE must be defined."
207 # else
208 # define wxUSE_UNICODE 0
209 # endif
210 #endif /* !defined(wxUSE_UNICODE) */
211
212 #ifndef wxUSE_URL
213 # ifdef wxABORT_ON_CONFIG_ERROR
214 # error "wxUSE_URL must be defined."
215 # else
216 # define wxUSE_URL 0
217 # endif
218 #endif /* !defined(wxUSE_URL) */
219
220 /*
221 all these tests are for GUI only
222 */
223 #if wxUSE_GUI
224
225 /*
226 all of the settings tested below must be defined or we'd get an error from
227 preprocessor about invalid integer expression
228 */
229
230 #ifndef wxUSE_ACCEL
231 # ifdef wxABORT_ON_CONFIG_ERROR
232 # error "wxUSE_ACCEL must be defined."
233 # else
234 # define wxUSE_ACCEL 0
235 # endif
236 #endif /* !defined(wxUSE_ACCEL) */
237
238 #ifndef wxUSE_BMPBUTTON
239 # ifdef wxABORT_ON_CONFIG_ERROR
240 # error "wxUSE_BMPBUTTON must be defined."
241 # else
242 # define wxUSE_BMPBUTTON 0
243 # endif
244 #endif /* !defined(wxUSE_BMPBUTTON) */
245
246 #ifndef wxUSE_BUTTON
247 # ifdef wxABORT_ON_CONFIG_ERROR
248 # error "wxUSE_BUTTON must be defined."
249 # else
250 # define wxUSE_BUTTON 0
251 # endif
252 #endif /* !defined(wxUSE_BUTTON) */
253
254 #ifndef wxUSE_CALENDARCTRL
255 # ifdef wxABORT_ON_CONFIG_ERROR
256 # error "wxUSE_CALENDARCTRL must be defined."
257 # else
258 # define wxUSE_CALENDARCTRL 0
259 # endif
260 #endif /* !defined(wxUSE_CALENDARCTRL) */
261
262 #ifndef wxUSE_CARET
263 # ifdef wxABORT_ON_CONFIG_ERROR
264 # error "wxUSE_CARET must be defined."
265 # else
266 # define wxUSE_CARET 0
267 # endif
268 #endif /* !defined(wxUSE_CARET) */
269
270 #ifndef wxUSE_CHECKBOX
271 # ifdef wxABORT_ON_CONFIG_ERROR
272 # error "wxUSE_CHECKBOX must be defined."
273 # else
274 # define wxUSE_CHECKBOX 0
275 # endif
276 #endif /* !defined(wxUSE_CHECKBOX) */
277
278 #ifndef wxUSE_CHECKLISTBOX
279 # ifdef wxABORT_ON_CONFIG_ERROR
280 # error "wxUSE_CHECKLISTBOX must be defined."
281 # else
282 # define wxUSE_CHECKLISTBOX 0
283 # endif
284 #endif /* !defined(wxUSE_CHECKLISTBOX) */
285
286 #ifndef wxUSE_CHOICE
287 # ifdef wxABORT_ON_CONFIG_ERROR
288 # error "wxUSE_CHOICE must be defined."
289 # else
290 # define wxUSE_CHOICE 0
291 # endif
292 #endif /* !defined(wxUSE_CHOICE) */
293
294 #ifndef wxUSE_CHOICEBOOK
295 # ifdef wxABORT_ON_CONFIG_ERROR
296 # error "wxUSE_CHOICEBOOK must be defined."
297 # else
298 # define wxUSE_CHOICEBOOK 0
299 # endif
300 #endif /* !defined(wxUSE_CHOICEBOOK) */
301
302 #ifndef wxUSE_CHOICEDLG
303 # ifdef wxABORT_ON_CONFIG_ERROR
304 # error "wxUSE_CHOICEDLG must be defined."
305 # else
306 # define wxUSE_CHOICEDLG 0
307 # endif
308 #endif /* !defined(wxUSE_CHOICEDLG) */
309
310 #ifndef wxUSE_CLIPBOARD
311 # ifdef wxABORT_ON_CONFIG_ERROR
312 # error "wxUSE_CLIPBOARD must be defined."
313 # else
314 # define wxUSE_CLIPBOARD 0
315 # endif
316 #endif /* !defined(wxUSE_CLIPBOARD) */
317
318 #ifndef wxUSE_COLOURDLG
319 # ifdef wxABORT_ON_CONFIG_ERROR
320 # error "wxUSE_COLOURDLG must be defined."
321 # else
322 # define wxUSE_COLOURDLG 0
323 # endif
324 #endif /* !defined(wxUSE_COLOURDLG) */
325
326 #ifndef wxUSE_COMBOBOX
327 # ifdef wxABORT_ON_CONFIG_ERROR
328 # error "wxUSE_COMBOBOX must be defined."
329 # else
330 # define wxUSE_COMBOBOX 0
331 # endif
332 #endif /* !defined(wxUSE_COMBOBOX) */
333
334 #ifndef wxUSE_DATAOBJ
335 # ifdef wxABORT_ON_CONFIG_ERROR
336 # error "wxUSE_DATAOBJ must be defined."
337 # else
338 # define wxUSE_DATAOBJ 0
339 # endif
340 #endif /* !defined(wxUSE_DATAOBJ) */
341
342 #ifndef wxUSE_DISPLAY
343 # ifdef wxABORT_ON_CONFIG_ERROR
344 # error "wxUSE_DISPLAY must be defined."
345 # else
346 # define wxUSE_DISPLAY 0
347 # endif
348 #endif /* !defined(wxUSE_DISPLAY) */
349
350 #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
351 # ifdef wxABORT_ON_CONFIG_ERROR
352 # error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
353 # else
354 # define wxUSE_DOC_VIEW_ARCHITECTURE 0
355 # endif
356 #endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
357
358 #ifndef wxUSE_FILEDLG
359 # ifdef wxABORT_ON_CONFIG_ERROR
360 # error "wxUSE_FILEDLG must be defined."
361 # else
362 # define wxUSE_FILEDLG 0
363 # endif
364 #endif /* !defined(wxUSE_FILEDLG) */
365
366 #ifndef wxUSE_FONTDLG
367 # ifdef wxABORT_ON_CONFIG_ERROR
368 # error "wxUSE_FONTDLG must be defined."
369 # else
370 # define wxUSE_FONTDLG 0
371 # endif
372 #endif /* !defined(wxUSE_FONTDLG) */
373
374 #ifndef wxUSE_FONTMAP
375 # ifdef wxABORT_ON_CONFIG_ERROR
376 # error "wxUSE_FONTMAP must be defined."
377 # else
378 # define wxUSE_FONTMAP 0
379 # endif
380 #endif /* !defined(wxUSE_FONTMAP) */
381
382 #ifndef wxUSE_GAUGE
383 # ifdef wxABORT_ON_CONFIG_ERROR
384 # error "wxUSE_GAUGE must be defined."
385 # else
386 # define wxUSE_GAUGE 0
387 # endif
388 #endif /* !defined(wxUSE_GAUGE) */
389
390 #ifndef wxUSE_GRID
391 # ifdef wxABORT_ON_CONFIG_ERROR
392 # error "wxUSE_GRID must be defined."
393 # else
394 # define wxUSE_GRID 0
395 # endif
396 #endif /* !defined(wxUSE_GRID) */
397
398 #ifndef wxUSE_HELP
399 # ifdef wxABORT_ON_CONFIG_ERROR
400 # error "wxUSE_HELP must be defined."
401 # else
402 # define wxUSE_HELP 0
403 # endif
404 #endif /* !defined(wxUSE_HELP) */
405
406 #ifndef wxUSE_HTML
407 # ifdef wxABORT_ON_CONFIG_ERROR
408 # error "wxUSE_HTML must be defined."
409 # else
410 # define wxUSE_HTML 0
411 # endif
412 #endif /* !defined(wxUSE_HTML) */
413
414 #ifndef wxUSE_XRC
415 # ifdef wxABORT_ON_CONFIG_ERROR
416 # error "wxUSE_XRC must be defined."
417 # else
418 # define wxUSE_XRC 0
419 # endif
420 #endif /* !defined(wxUSE_XRC) */
421
422 #ifndef wxUSE_LIBMSPACK
423 # ifndef __UNIX__
424 /* set to 0 on platforms that don't have libmspack */
425 # define wxUSE_LIBMSPACK 0
426 # else
427 # ifdef wxABORT_ON_CONFIG_ERROR
428 # error "wxUSE_LIBMSPACK must be defined."
429 # else
430 # define wxUSE_LIBMSPACK 0
431 # endif
432 # endif
433 #endif /* !defined(wxUSE_LIBMSPACK) */
434
435 #ifndef wxUSE_ICO_CUR
436 # ifdef wxABORT_ON_CONFIG_ERROR
437 # error "wxUSE_ICO_CUR must be defined."
438 # else
439 # define wxUSE_ICO_CUR 0
440 # endif
441 #endif /* !defined(wxUSE_ICO_CUR) */
442
443 #ifndef wxUSE_IFF
444 # ifdef wxABORT_ON_CONFIG_ERROR
445 # error "wxUSE_IFF must be defined."
446 # else
447 # define wxUSE_IFF 0
448 # endif
449 #endif /* !defined(wxUSE_IFF) */
450
451 #ifndef wxUSE_IMAGLIST
452 # ifdef wxABORT_ON_CONFIG_ERROR
453 # error "wxUSE_IMAGLIST must be defined."
454 # else
455 # define wxUSE_IMAGLIST 0
456 # endif
457 #endif /* !defined(wxUSE_IMAGLIST) */
458
459 #ifndef wxUSE_JOYSTICK
460 # ifdef wxABORT_ON_CONFIG_ERROR
461 # error "wxUSE_JOYSTICK must be defined."
462 # else
463 # define wxUSE_JOYSTICK 0
464 # endif
465 #endif /* !defined(wxUSE_JOYSTICK) */
466
467 #ifndef wxUSE_LISTBOOK
468 # ifdef wxABORT_ON_CONFIG_ERROR
469 # error "wxUSE_LISTBOOK must be defined."
470 # else
471 # define wxUSE_LISTBOOK 0
472 # endif
473 #endif /* !defined(wxUSE_LISTBOOK) */
474
475 #ifndef wxUSE_LISTBOX
476 # ifdef wxABORT_ON_CONFIG_ERROR
477 # error "wxUSE_LISTBOX must be defined."
478 # else
479 # define wxUSE_LISTBOX 0
480 # endif
481 #endif /* !defined(wxUSE_LISTBOX) */
482
483 #ifndef wxUSE_LISTCTRL
484 # ifdef wxABORT_ON_CONFIG_ERROR
485 # error "wxUSE_LISTCTRL must be defined."
486 # else
487 # define wxUSE_LISTCTRL 0
488 # endif
489 #endif /* !defined(wxUSE_LISTCTRL) */
490
491 #ifndef wxUSE_LOGGUI
492 # ifdef wxABORT_ON_CONFIG_ERROR
493 # error "wxUSE_LOGGUI must be defined."
494 # else
495 # define wxUSE_LOGGUI 0
496 # endif
497 #endif /* !defined(wxUSE_LOGGUI) */
498
499 #ifndef wxUSE_LOGWINDOW
500 # ifdef wxABORT_ON_CONFIG_ERROR
501 # error "wxUSE_LOGWINDOW must be defined."
502 # else
503 # define wxUSE_LOGWINDOW 0
504 # endif
505 #endif /* !defined(wxUSE_LOGWINDOW) */
506
507 #ifndef wxUSE_LOG_DIALOG
508 # ifdef wxABORT_ON_CONFIG_ERROR
509 # error "wxUSE_LOG_DIALOG must be defined."
510 # else
511 # define wxUSE_LOG_DIALOG 0
512 # endif
513 #endif /* !defined(wxUSE_LOG_DIALOG) */
514
515 #ifndef wxUSE_MDI
516 # ifdef wxABORT_ON_CONFIG_ERROR
517 # error "wxUSE_MDI must be defined."
518 # else
519 # define wxUSE_MDI 0
520 # endif
521 #endif /* !defined(wxUSE_MDI) */
522
523 #ifndef wxUSE_MDI_ARCHITECTURE
524 # ifdef wxABORT_ON_CONFIG_ERROR
525 # error "wxUSE_MDI_ARCHITECTURE must be defined."
526 # else
527 # define wxUSE_MDI_ARCHITECTURE 0
528 # endif
529 #endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
530
531 #ifndef wxUSE_MENUS
532 # ifdef wxABORT_ON_CONFIG_ERROR
533 # error "wxUSE_MENUS must be defined."
534 # else
535 # define wxUSE_MENUS 0
536 # endif
537 #endif /* !defined(wxUSE_MENUS) */
538
539 #ifndef wxUSE_MSGDLG
540 # ifdef wxABORT_ON_CONFIG_ERROR
541 # error "wxUSE_MSGDLG must be defined."
542 # else
543 # define wxUSE_MSGDLG 0
544 # endif
545 #endif /* !defined(wxUSE_MSGDLG) */
546
547 #ifndef wxUSE_NOTEBOOK
548 # ifdef wxABORT_ON_CONFIG_ERROR
549 # error "wxUSE_NOTEBOOK must be defined."
550 # else
551 # define wxUSE_NOTEBOOK 0
552 # endif
553 #endif /* !defined(wxUSE_NOTEBOOK) */
554
555 #ifndef wxUSE_PALETTE
556 # ifdef wxABORT_ON_CONFIG_ERROR
557 # error "wxUSE_PALETTE must be defined."
558 # else
559 # define wxUSE_PALETTE 0
560 # endif
561 #endif /* !defined(wxUSE_PALETTE) */
562
563 #ifndef wxUSE_POPUPWIN
564 # ifdef wxABORT_ON_CONFIG_ERROR
565 # error "wxUSE_POPUPWIN must be defined."
566 # else
567 # define wxUSE_POPUPWIN 0
568 # endif
569 #endif /* !defined(wxUSE_POPUPWIN) */
570
571 #ifndef wxUSE_PRINTING_ARCHITECTURE
572 # ifdef wxABORT_ON_CONFIG_ERROR
573 # error "wxUSE_PRINTING_ARCHITECTURE must be defined."
574 # else
575 # define wxUSE_PRINTING_ARCHITECTURE 0
576 # endif
577 #endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
578
579 #ifndef wxUSE_RADIOBOX
580 # ifdef wxABORT_ON_CONFIG_ERROR
581 # error "wxUSE_RADIOBOX must be defined."
582 # else
583 # define wxUSE_RADIOBOX 0
584 # endif
585 #endif /* !defined(wxUSE_RADIOBOX) */
586
587 #ifndef wxUSE_RADIOBTN
588 # ifdef wxABORT_ON_CONFIG_ERROR
589 # error "wxUSE_RADIOBTN must be defined."
590 # else
591 # define wxUSE_RADIOBTN 0
592 # endif
593 #endif /* !defined(wxUSE_RADIOBTN) */
594
595 #ifndef wxUSE_SASH
596 # ifdef wxABORT_ON_CONFIG_ERROR
597 # error "wxUSE_SASH must be defined."
598 # else
599 # define wxUSE_SASH 0
600 # endif
601 #endif /* !defined(wxUSE_SASH) */
602
603 #ifndef wxUSE_SCROLLBAR
604 # ifdef wxABORT_ON_CONFIG_ERROR
605 # error "wxUSE_SCROLLBAR must be defined."
606 # else
607 # define wxUSE_SCROLLBAR 0
608 # endif
609 #endif /* !defined(wxUSE_SCROLLBAR) */
610
611 #ifndef wxUSE_SLIDER
612 # ifdef wxABORT_ON_CONFIG_ERROR
613 # error "wxUSE_SLIDER must be defined."
614 # else
615 # define wxUSE_SLIDER 0
616 # endif
617 #endif /* !defined(wxUSE_SLIDER) */
618
619 #ifndef wxUSE_SOUND
620 # ifdef wxABORT_ON_CONFIG_ERROR
621 # error "wxUSE_SOUND must be defined."
622 # else
623 # define wxUSE_SOUND 0
624 # endif
625 #endif /* !defined(wxUSE_SOUND) */
626
627 #ifndef wxUSE_SPINBTN
628 # ifdef wxABORT_ON_CONFIG_ERROR
629 # error "wxUSE_SPINBTN must be defined."
630 # else
631 # define wxUSE_SPINBTN 0
632 # endif
633 #endif /* !defined(wxUSE_SPINBTN) */
634
635 #ifndef wxUSE_SPINCTRL
636 # ifdef wxABORT_ON_CONFIG_ERROR
637 # error "wxUSE_SPINCTRL must be defined."
638 # else
639 # define wxUSE_SPINCTRL 0
640 # endif
641 #endif /* !defined(wxUSE_SPINCTRL) */
642
643 #ifndef wxUSE_SPLASH
644 # ifdef wxABORT_ON_CONFIG_ERROR
645 # error "wxUSE_SPLASH must be defined."
646 # else
647 # define wxUSE_SPLASH 0
648 # endif
649 #endif /* !defined(wxUSE_SPLASH) */
650
651 #ifndef wxUSE_SPLITTER
652 # ifdef wxABORT_ON_CONFIG_ERROR
653 # error "wxUSE_SPLITTER must be defined."
654 # else
655 # define wxUSE_SPLITTER 0
656 # endif
657 #endif /* !defined(wxUSE_SPLITTER) */
658
659 #ifndef wxUSE_STATBMP
660 # ifdef wxABORT_ON_CONFIG_ERROR
661 # error "wxUSE_STATBMP must be defined."
662 # else
663 # define wxUSE_STATBMP 0
664 # endif
665 #endif /* !defined(wxUSE_STATBMP) */
666
667 #ifndef wxUSE_STATBOX
668 # ifdef wxABORT_ON_CONFIG_ERROR
669 # error "wxUSE_STATBOX must be defined."
670 # else
671 # define wxUSE_STATBOX 0
672 # endif
673 #endif /* !defined(wxUSE_STATBOX) */
674
675 #ifndef wxUSE_STATLINE
676 # ifdef wxABORT_ON_CONFIG_ERROR
677 # error "wxUSE_STATLINE must be defined."
678 # else
679 # define wxUSE_STATLINE 0
680 # endif
681 #endif /* !defined(wxUSE_STATLINE) */
682
683 #ifndef wxUSE_STATTEXT
684 # ifdef wxABORT_ON_CONFIG_ERROR
685 # error "wxUSE_STATTEXT must be defined."
686 # else
687 # define wxUSE_STATTEXT 0
688 # endif
689 #endif /* !defined(wxUSE_STATTEXT) */
690
691 #ifndef wxUSE_STATUSBAR
692 # ifdef wxABORT_ON_CONFIG_ERROR
693 # error "wxUSE_STATUSBAR must be defined."
694 # else
695 # define wxUSE_STATUSBAR 0
696 # endif
697 #endif /* !defined(wxUSE_STATUSBAR) */
698
699 #ifndef wxUSE_TAB_DIALOG
700 # ifdef wxABORT_ON_CONFIG_ERROR
701 # error "wxUSE_TAB_DIALOG must be defined."
702 # else
703 # define wxUSE_TAB_DIALOG 0
704 # endif
705 #endif /* !defined(wxUSE_TAB_DIALOG) */
706
707 #ifndef wxUSE_TEXTCTRL
708 # ifdef wxABORT_ON_CONFIG_ERROR
709 # error "wxUSE_TEXTCTRL must be defined."
710 # else
711 # define wxUSE_TEXTCTRL 0
712 # endif
713 #endif /* !defined(wxUSE_TEXTCTRL) */
714
715 #ifndef wxUSE_TIPWINDOW
716 # ifdef wxABORT_ON_CONFIG_ERROR
717 # error "wxUSE_TIPWINDOW must be defined."
718 # else
719 # define wxUSE_TIPWINDOW 0
720 # endif
721 #endif /* !defined(wxUSE_TIPWINDOW) */
722
723 #ifndef wxUSE_TOOLBAR
724 # ifdef wxABORT_ON_CONFIG_ERROR
725 # error "wxUSE_TOOLBAR must be defined."
726 # else
727 # define wxUSE_TOOLBAR 0
728 # endif
729 #endif /* !defined(wxUSE_TOOLBAR) */
730
731 #ifndef wxUSE_TOOLTIPS
732 # ifdef wxABORT_ON_CONFIG_ERROR
733 # error "wxUSE_TOOLTIPS must be defined."
734 # else
735 # define wxUSE_TOOLTIPS 0
736 # endif
737 #endif /* !defined(wxUSE_TOOLTIPS) */
738
739 #ifndef wxUSE_TREECTRL
740 # ifdef wxABORT_ON_CONFIG_ERROR
741 # error "wxUSE_TREECTRL must be defined."
742 # else
743 # define wxUSE_TREECTRL 0
744 # endif
745 #endif /* !defined(wxUSE_TREECTRL) */
746
747 #ifndef wxUSE_VALIDATORS
748 # ifdef wxABORT_ON_CONFIG_ERROR
749 # error "wxUSE_VALIDATORS must be defined."
750 # else
751 # define wxUSE_VALIDATORS 0
752 # endif
753 #endif /* !defined(wxUSE_VALIDATORS) */
754
755 #ifndef wxUSE_WXHTML_HELP
756 # ifdef wxABORT_ON_CONFIG_ERROR
757 # error "wxUSE_WXHTML_HELP must be defined."
758 # else
759 # define wxUSE_WXHTML_HELP 0
760 # endif
761 #endif /* !defined(wxUSE_WXHTML_HELP) */
762
763 #endif /* wxUSE_GUI */
764
765 /*
766 check consistency of the settings
767 */
768
769 #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
770 # if !wxUSE_PROTOCOL
771 # ifdef wxABORT_ON_CONFIG_ERROR
772 # error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
773 # else
774 # undef wxUSE_PROTOCOL
775 # define wxUSE_PROTOCOL 1
776 # endif
777 # endif
778 #endif /* wxUSE_PROTOCOL_XXX */
779
780 #if wxUSE_URL
781 # if !wxUSE_PROTOCOL
782 # ifdef wxABORT_ON_CONFIG_ERROR
783 # error "wxUSE_URL requires wxUSE_PROTOCOL"
784 # else
785 # undef wxUSE_PROTOCOL
786 # define wxUSE_PROTOCOL 1
787 # endif
788 # endif
789 #endif /* wxUSE_URL */
790
791 #if wxUSE_PROTOCOL
792 # if !wxUSE_SOCKETS
793 # if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
794 # ifdef wxABORT_ON_CONFIG_ERROR
795 # error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
796 # else
797 # undef wxUSE_SOCKETS
798 # define wxUSE_SOCKETS 1
799 # endif
800 # endif
801 # endif
802
803 # if !wxUSE_STREAMS
804 # ifdef wxABORT_ON_CONFIG_ERROR
805 # error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
806 # else
807 # undef wxUSE_STREAMS
808 # define wxUSE_STREAMS 1
809 # endif
810 # endif
811 #endif /* wxUSE_PROTOCOL */
812
813 /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
814 #if wxUSE_HTML
815 # if !wxUSE_FILESYSTEM
816 # ifdef wxABORT_ON_CONFIG_ERROR
817 # error "wxHTML requires wxFileSystem"
818 # else
819 # undef wxUSE_FILESYSTEM
820 # define wxUSE_FILESYSTEM 1
821 # endif
822 # endif
823 #endif /* wxUSE_HTML */
824
825 #if wxUSE_FILESYSTEM
826 # if !wxUSE_STREAMS
827 # ifdef wxABORT_ON_CONFIG_ERROR
828 # error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
829 # else
830 # undef wxUSE_STREAMS
831 # define wxUSE_STREAMS 1
832 # endif
833 # endif
834 #endif /* wxUSE_FILESYSTEM */
835
836 #if wxUSE_FS_INET
837 # if !wxUSE_PROTOCOL
838 # ifdef wxABORT_ON_CONFIG_ERROR
839 # error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
840 # else
841 # undef wxUSE_PROTOCOL
842 # define wxUSE_PROTOCOL 1
843 # endif
844 # endif
845 #endif /* wxUSE_FS_INET */
846
847 #if wxUSE_STOPWATCH || wxUSE_DATETIME
848 # if !wxUSE_LONGLONG
849 # ifdef wxABORT_ON_CONFIG_ERROR
850 # error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
851 # else
852 # undef wxUSE_LONGLONG
853 # define wxUSE_LONGLONG 1
854 # endif
855 # endif
856 #endif /* wxUSE_STOPWATCH */
857
858 #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
859 # ifdef wxABORT_ON_CONFIG_ERROR
860 # error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
861 # else
862 # undef wxUSE_TEXTFILE
863 # define wxUSE_TEXTFILE 1
864 # endif
865 #endif /* wxUSE_MIMETYPE */
866
867 #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
868 # ifdef wxABORT_ON_CONFIG_ERROR
869 # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
870 # else
871 # undef wxUSE_TEXTBUFFER
872 # define wxUSE_TEXTBUFFER 1
873 # endif
874 #endif /* wxUSE_TEXTFILE */
875
876 #if wxUSE_TEXTFILE && !wxUSE_FILE
877 # ifdef wxABORT_ON_CONFIG_ERROR
878 # error "wxUSE_TEXTFILE requires wxUSE_FILE"
879 # else
880 # undef wxUSE_FILE
881 # define wxUSE_FILE 1
882 # endif
883 #endif /* wxUSE_TEXTFILE */
884
885 #if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
886 # ifdef wxABORT_ON_CONFIG_ERROR
887 # error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
888 # else
889 # undef wxUSE_UNICODE
890 # define wxUSE_UNICODE 1
891 # endif
892 #endif /* wxUSE_UNICODE_MSLU */
893
894 /* ODBC and Unicode are now compatible */
895
896 #if 0 /* wxUSE_ODBC && wxUSE_UNICODE */
897 # ifdef wxABORT_ON_CONFIG_ERROR
898 /* (ODBC classes aren't Unicode-compatible yet) */
899 # error "wxUSE_ODBC can't be used with wxUSE_UNICODE"
900 # else
901 # undef wxUSE_ODBC
902 # define wxUSE_ODBC 0
903 # endif
904 #endif /* wxUSE_ODBC */
905
906 #if wxUSE_XML && !wxUSE_WCHAR_T
907 # ifdef wxABORT_ON_CONFIG_ERROR
908 # error "wxUSE_XML requires wxUSE_WCHAR_T"
909 # else
910 # undef wxUSE_XML
911 # define wxUSE_XML 0
912 # endif
913 #endif /* wxUSE_UNICODE_MSLU */
914
915 #if !wxUSE_DYNLIB_CLASS
916 # if wxUSE_DYNAMIC_LOADER
917 # ifdef wxABORT_ON_CONFIG_ERROR
918 # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
919 # else
920 # define wxUSE_DYNLIB_CLASS 1
921 # endif
922 # endif
923 #endif /* wxUSE_DYNLIB_CLASS */
924
925 /* the rest of the tests is for the GUI settings only */
926 #if wxUSE_GUI
927
928 #if wxUSE_BUTTON || \
929 wxUSE_CALENDARCTRL || \
930 wxUSE_CARET || \
931 wxUSE_COMBOBOX || \
932 wxUSE_BMPBUTTON || \
933 wxUSE_CHECKBOX || \
934 wxUSE_CHECKLISTBOX || \
935 wxUSE_CHOICE || \
936 wxUSE_GAUGE || \
937 wxUSE_GRID || \
938 wxUSE_LISTBOX || \
939 wxUSE_LISTCTRL || \
940 wxUSE_NOTEBOOK || \
941 wxUSE_RADIOBOX || \
942 wxUSE_RADIOBTN || \
943 wxUSE_SCROLLBAR || \
944 wxUSE_SLIDER || \
945 wxUSE_SPINBTN || \
946 wxUSE_SPINCTRL || \
947 wxUSE_STATBMP || \
948 wxUSE_STATBOX || \
949 wxUSE_STATLINE || \
950 wxUSE_STATTEXT || \
951 wxUSE_STATUSBAR || \
952 wxUSE_TEXTCTRL || \
953 wxUSE_TOOLBAR || \
954 wxUSE_TREECTRL
955 # if !wxUSE_CONTROLS
956 # ifdef wxABORT_ON_CONFIG_ERROR
957 # error "wxUSE_CONTROLS unset but some controls used"
958 # else
959 # undef wxUSE_CONTROLS
960 # define wxUSE_CONTROLS 1
961 # endif
962 # endif
963 #endif /* controls */
964
965 #if wxUSE_BMPBUTTON
966 # if !wxUSE_BUTTON
967 # ifdef wxABORT_ON_CONFIG_ERROR
968 # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
969 # else
970 # undef wxUSE_BUTTON
971 # define wxUSE_BUTTON 1
972 # endif
973 # endif
974 #endif /* wxUSE_BMPBUTTON */
975
976 #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
977 # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
978 # ifdef wxABORT_ON_CONFIG_ERROR
979 # error "wxUSE_BOOKCTRL must be set."
980 # else
981 # undef wxUSE_BOOKCTRL
982 # endif
983 # endif
984
985 # ifndef wxUSE_BOOKCTRL
986 # define wxUSE_BOOKCTRL 1
987 # endif
988 #endif /* wxUSE_NOTEBOOK */
989
990 #if wxUSE_LISTBOOK
991 # if !wxUSE_LISTCTRL
992 # ifdef wxABORT_ON_CONFIG_ERROR
993 # error "wxListbook requires wxListCtrl"
994 # else
995 # undef wxUSE_LISTCTRL
996 # define wxUSE_LISTCTRL 1
997 # endif
998 # endif
999 #endif /* wxUSE_LISTBOOK */
1000
1001 #if wxUSE_CHOICEBOOK
1002 # if !wxUSE_CHOICE
1003 # ifdef wxABORT_ON_CONFIG_ERROR
1004 # error "wxChoicebook requires wxChoice"
1005 # else
1006 # undef wxUSE_CHOICE
1007 # define wxUSE_CHOICE 1
1008 # endif
1009 # endif
1010 #endif /* wxUSE_CHOICEBOOK */
1011
1012 /* wxUniv-specific dependencies */
1013 #if defined(__WXUNIVERSAL__)
1014 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1015 # ifdef wxABORT_ON_CONFIG_ERROR
1016 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1017 # else
1018 # undef wxUSE_POPUPWIN
1019 # define wxUSE_POPUPWIN 1
1020 # endif
1021 # endif
1022
1023 # if wxUSE_COMBOBOX
1024 # if !wxUSE_LISTBOX
1025 # ifdef wxABORT_ON_CONFIG_ERROR
1026 # error "wxComboBox requires wxListBox in wxUniversal"
1027 # else
1028 # undef wxUSE_LISTBOX
1029 # define wxUSE_LISTBOX 1
1030 # endif
1031 # endif
1032 # endif /* wxUSE_COMBOBOX */
1033
1034 # if wxUSE_RADIOBTN
1035 # if !wxUSE_CHECKBOX
1036 # ifdef wxABORT_ON_CONFIG_ERROR
1037 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1038 # else
1039 # undef wxUSE_CHECKBOX
1040 # define wxUSE_CHECKBOX 1
1041 # endif
1042 # endif
1043 # endif /* wxUSE_RADIOBTN */
1044
1045 # if wxUSE_TEXTCTRL
1046 # if !wxUSE_CARET
1047 # ifdef wxABORT_ON_CONFIG_ERROR
1048 # error "wxTextCtrl requires wxCaret in wxUniversal"
1049 # else
1050 # undef wxUSE_CARET
1051 # define wxUSE_CARET 1
1052 # endif
1053 # endif /* wxUSE_CARET */
1054
1055 # if !wxUSE_SCROLLBAR
1056 # ifdef wxABORT_ON_CONFIG_ERROR
1057 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
1058 # else
1059 # undef wxUSE_SCROLLBAR
1060 # define wxUSE_SCROLLBAR 1
1061 # endif
1062 # endif /* wxUSE_SCROLLBAR */
1063 # endif /* wxUSE_TEXTCTRL */
1064 #endif /* __WXUNIVERSAL__ */
1065
1066 /* wxGTK-specific dependencies */
1067 #ifdef __WXGTK__
1068 # ifndef __WXUNIVERSAL__
1069 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1070 # ifdef wxABORT_ON_CONFIG_ERROR
1071 # error "MDI requires wxUSE_MENUS in wxGTK"
1072 # else
1073 # undef wxUSE_MENUS
1074 # define wxUSE_MENUS 1
1075 # endif
1076 # endif
1077 # endif /* !__WXUNIVERSAL__ */
1078
1079 # if wxUSE_JOYSTICK
1080 # if !wxUSE_THREADS
1081 # ifdef wxABORT_ON_CONFIG_ERROR
1082 # error "wxJoystick requires threads in wxGTK"
1083 # else
1084 # undef wxUSE_JOYSTICK
1085 # define wxUSE_JOYSTICK 0
1086 # endif
1087 # endif
1088 # endif
1089 #endif /* wxGTK && !wxUniv */
1090
1091 /* wxMSW-specific dependencies */
1092 #ifdef __WXMSW__
1093 # ifndef wxUSE_UNICODE_MSLU
1094 # ifdef wxABORT_ON_CONFIG_ERROR
1095 # error "wxUSE_UNICODE_MSLU must be defined."
1096 # else
1097 # define wxUSE_UNICODE_MSLU 0
1098 # endif
1099 # endif /* wxUSE_UNICODE_MSLU */
1100 # ifndef wxUSE_UXTHEME
1101 # ifdef wxABORT_ON_CONFIG_ERROR
1102 # error "wxUSE_UXTHEME must be defined."
1103 # else
1104 # define wxUSE_UXTHEME 0
1105 # endif
1106 # endif /* wxUSE_UXTHEME */
1107 # ifndef wxUSE_UXTHEME_AUTO
1108 # ifdef wxABORT_ON_CONFIG_ERROR
1109 # error "wxUSE_UXTHEME_AUTO must be defined."
1110 # else
1111 # define wxUSE_UXTHEME_AUTO 0
1112 # endif
1113 # endif /* wxUSE_UXTHEME_AUTO */
1114 # ifndef wxUSE_MS_HTML_HELP
1115 # ifdef wxABORT_ON_CONFIG_ERROR
1116 # error "wxUSE_MS_HTML_HELP must be defined."
1117 # else
1118 # define wxUSE_MS_HTML_HELP 0
1119 # endif
1120 # endif /* !defined(wxUSE_MS_HTML_HELP) */
1121 # ifndef wxUSE_DIALUP_MANAGER
1122 # ifdef wxABORT_ON_CONFIG_ERROR
1123 # error "wxUSE_DIALUP_MANAGER must be defined."
1124 # else
1125 # define wxUSE_DIALUP_MANAGER 0
1126 # endif
1127 # endif /* !defined(wxUSE_DIALUP_MANAGER) */
1128
1129 # if !wxUSE_DYNAMIC_LOADER
1130 # if wxUSE_MS_HTML_HELP
1131 # ifdef wxABORT_ON_CONFIG_ERROR
1132 # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1133 # else
1134 # define wxUSE_DYNAMIC_LOADER 1
1135 # endif
1136 # endif
1137 # if wxUSE_DIALUP_MANAGER
1138 # ifdef wxABORT_ON_CONFIG_ERROR
1139 # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1140 # else
1141 # define wxUSE_DYNAMIC_LOADER 1
1142 # endif
1143 # endif
1144 # endif /* wxUSE_DYNAMIC_LOADER */
1145 #endif /* wxMSW */
1146
1147 /* wxMAC-specific dependencies */
1148 #ifdef __WXMAC__
1149 # if wxUSE_UNICODE
1150 # if !TARGET_CARBON
1151 # ifdef wxABORT_ON_CONFIG_ERROR
1152 # error "wxUSE_UNICODE is only supported for Carbon Targets."
1153 # else
1154 # define wxUSE_UNICODE 0
1155 # endif
1156 # endif
1157 # endif
1158 #endif /* wxMAC */
1159 /* wxMotif-specific dependencies */
1160 #if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1161 # undef wxUSE_TAB_DIALOG
1162 # define wxUSE_TAB_DIALOG 1
1163 #endif
1164
1165 /* wxMGL-specific dependencies */
1166 #ifdef __WXMGL__
1167 # if !wxUSE_PALETTE
1168 # error "wxMGL requires wxUSE_PALETTE=1"
1169 # endif
1170 #endif /* wxMGL */
1171
1172 /* Hopefully we can emulate these dialogs in due course */
1173 #ifdef __SMARTPHONE__
1174 # ifdef wxUSE_COLOURDLG
1175 # undef wxUSE_COLOURDLG
1176 # define wxUSE_COLOURDLG 0
1177 # endif
1178 #endif /* __SMARTPHONE__ */
1179
1180
1181 /* generic controls dependencies */
1182 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1183 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1184 /* all common controls are needed by these dialogs */
1185 # if !defined(wxUSE_CHOICE) || \
1186 !defined(wxUSE_TEXTCTRL) || \
1187 !defined(wxUSE_BUTTON) || \
1188 !defined(wxUSE_CHECKBOX) || \
1189 !defined(wxUSE_STATTEXT)
1190 # ifdef wxABORT_ON_CONFIG_ERROR
1191 # error "These common controls are needed by common dialogs"
1192 # else
1193 # undef wxUSE_CHOICE
1194 # define wxUSE_CHOICE 1
1195 # undef wxUSE_TEXTCTRL
1196 # define wxUSE_TEXTCTRL 1
1197 # undef wxUSE_BUTTON
1198 # define wxUSE_BUTTON 1
1199 # undef wxUSE_CHECKBOX
1200 # define wxUSE_CHECKBOX 1
1201 # undef wxUSE_STATTEXT
1202 # define wxUSE_STATTEXT 1
1203 # endif
1204 # endif
1205 # endif
1206 #endif /* !wxMSW || wxUniv */
1207
1208 /* common dependencies */
1209 #if wxUSE_CALENDARCTRL
1210 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1211 # ifdef wxABORT_ON_CONFIG_ERROR
1212 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1213 # else
1214 # undef wxUSE_SPINBTN
1215 # undef wxUSE_COMBOBOX
1216 # define wxUSE_SPINBTN 1
1217 # define wxUSE_COMBOBOX 1
1218 # endif
1219 # endif
1220
1221 # if !wxUSE_DATETIME
1222 # ifdef wxABORT_ON_CONFIG_ERROR
1223 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1224 # else
1225 # undef wxUSE_DATETIME
1226 # define wxUSE_DATETIME 1
1227 # endif
1228 # endif
1229 #endif /* wxUSE_CALENDARCTRL */
1230
1231 #if wxUSE_CHECKLISTBOX
1232 # if !wxUSE_LISTBOX
1233 # ifdef wxABORT_ON_CONFIG_ERROR
1234 # error "wxCheckListBox requires wxListBox"
1235 # else
1236 # undef wxUSE_LISTBOX
1237 # define wxUSE_LISTBOX 1
1238 # endif
1239 # endif
1240 #endif /* wxUSE_CHECKLISTBOX */
1241
1242 #if wxUSE_CHOICEDLG
1243 # if !wxUSE_LISTBOX
1244 # ifdef wxABORT_ON_CONFIG_ERROR
1245 # error "Choice dialogs requires wxListBox"
1246 # else
1247 # undef wxUSE_LISTBOX
1248 # define wxUSE_LISTBOX 1
1249 # endif
1250 # endif
1251 #endif /* wxUSE_CHOICEDLG */
1252
1253 #if wxUSE_HELP
1254 # if !wxUSE_BMPBUTTON
1255 # ifdef wxABORT_ON_CONFIG_ERROR
1256 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1257 # else
1258 # undef wxUSE_BMPBUTTON
1259 # define wxUSE_BMPBUTTON 1
1260 # endif
1261 # endif
1262
1263 # if !wxUSE_CHOICEDLG
1264 # ifdef wxABORT_ON_CONFIG_ERROR
1265 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1266 # else
1267 # undef wxUSE_CHOICEDLG
1268 # define wxUSE_CHOICEDLG 1
1269 # endif
1270 # endif
1271 #endif /* wxUSE_HELP */
1272
1273 #if wxUSE_WXHTML_HELP
1274 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
1275 # ifdef wxABORT_ON_CONFIG_ERROR
1276 # error "Built in help controller can't be compiled"
1277 # else
1278 # undef wxUSE_HELP
1279 # define wxUSE_HELP 1
1280 # undef wxUSE_HTML
1281 # define wxUSE_HTML 1
1282 # undef wxUSE_COMBOBOX
1283 # define wxUSE_COMBOBOX 1
1284 # undef wxUSE_NOTEBOOK
1285 # define wxUSE_NOTEBOOK 1
1286 # endif
1287 # endif
1288 #endif /* wxUSE_WXHTML_HELP */
1289
1290 #if !wxUSE_IMAGE
1291 /*
1292 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1293 user explicitly wants this and disable all other features that require
1294 wxUSE_IMAGE.
1295 */
1296 # if wxUSE_DRAGIMAGE
1297 # ifdef wxABORT_ON_CONFIG_ERROR
1298 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1299 # else
1300 # undef wxUSE_DRAGIMAGE
1301 # define wxUSE_DRAGIMAGE 0
1302 # endif
1303 # endif
1304
1305 # if wxUSE_LIBPNG
1306 # ifdef wxABORT_ON_CONFIG_ERROR
1307 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1308 # else
1309 # undef wxUSE_LIBPNG
1310 # define wxUSE_LIBPNG 0
1311 # endif
1312 # endif
1313
1314 # if wxUSE_LIBJPEG
1315 # ifdef wxABORT_ON_CONFIG_ERROR
1316 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1317 # else
1318 # undef wxUSE_LIBJPEG
1319 # define wxUSE_LIBJPEG 0
1320 # endif
1321 # endif
1322
1323 # if wxUSE_LIBTIFF
1324 # ifdef wxABORT_ON_CONFIG_ERROR
1325 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1326 # else
1327 # undef wxUSE_LIBTIFF
1328 # define wxUSE_LIBTIFF 0
1329 # endif
1330 # endif
1331
1332 # if wxUSE_GIF
1333 # ifdef wxABORT_ON_CONFIG_ERROR
1334 # error "wxUSE_GIF requires wxUSE_IMAGE"
1335 # else
1336 # undef wxUSE_GIF
1337 # define wxUSE_GIF 0
1338 # endif
1339 # endif
1340
1341 # if wxUSE_PNM
1342 # ifdef wxABORT_ON_CONFIG_ERROR
1343 # error "wxUSE_PNM requires wxUSE_IMAGE"
1344 # else
1345 # undef wxUSE_PNM
1346 # define wxUSE_PNM 0
1347 # endif
1348 # endif
1349
1350 # if wxUSE_PCX
1351 # ifdef wxABORT_ON_CONFIG_ERROR
1352 # error "wxUSE_PCX requires wxUSE_IMAGE"
1353 # else
1354 # undef wxUSE_PCX
1355 # define wxUSE_PCX 0
1356 # endif
1357 # endif
1358
1359 # if wxUSE_IFF
1360 # ifdef wxABORT_ON_CONFIG_ERROR
1361 # error "wxUSE_IFF requires wxUSE_IMAGE"
1362 # else
1363 # undef wxUSE_IFF
1364 # define wxUSE_IFF 0
1365 # endif
1366 # endif
1367
1368 # if wxUSE_TOOLBAR
1369 # ifdef wxABORT_ON_CONFIG_ERROR
1370 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1371 # else
1372 # undef wxUSE_TOOLBAR
1373 # define wxUSE_TOOLBAR 0
1374 # endif
1375 # endif
1376
1377 # if wxUSE_XPM
1378 # ifdef wxABORT_ON_CONFIG_ERROR
1379 # error "wxUSE_XPM requires wxUSE_IMAGE"
1380 # else
1381 # undef wxUSE_XPM
1382 # define wxUSE_XPM 0
1383 # endif
1384 # endif
1385
1386 #endif /* !wxUSE_IMAGE */
1387
1388 #if wxUSE_DOC_VIEW_ARCHITECTURE
1389 # if !wxUSE_MENUS
1390 # ifdef wxABORT_ON_CONFIG_ERROR
1391 # error "DocView requires wxUSE_MENUS"
1392 # else
1393 # undef wxUSE_MENUS
1394 # define wxUSE_MENUS 1
1395 # endif
1396 # endif
1397
1398 # if !wxUSE_CHOICEDLG
1399 # ifdef wxABORT_ON_CONFIG_ERROR
1400 # error "DocView requires wxUSE_CHOICEDLG"
1401 # else
1402 # undef wxUSE_CHOICEDLG
1403 # define wxUSE_CHOICEDLG 1
1404 # endif
1405 # endif
1406
1407 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1408 # ifdef wxABORT_ON_CONFIG_ERROR
1409 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1410 # else
1411 # undef wxUSE_STREAMS
1412 # define wxUSE_STREAMS 1
1413 # endif
1414 # endif
1415 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1416
1417 #if wxUSE_PRINTING_ARCHITECTURE
1418 # if !wxUSE_COMBOBOX
1419 # ifdef wxABORT_ON_CONFIG_ERROR
1420 # error "Print dialog requires wxUSE_COMBOBOX"
1421 # else
1422 # undef wxUSE_COMBOBOX
1423 # define wxUSE_COMBOBOX 1
1424 # endif
1425 # endif
1426 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1427
1428 #if wxUSE_MDI_ARCHITECTURE
1429 # if !wxUSE_MDI
1430 # ifdef wxABORT_ON_CONFIG_ERROR
1431 # error "MDI requires wxUSE_MDI"
1432 # else
1433 # undef wxUSE_MDI
1434 # define wxUSE_MDI 1
1435 # endif
1436 # endif
1437
1438 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1439 # ifdef wxABORT_ON_CONFIG_ERROR
1440 # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1441 # else
1442 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1443 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1444 # endif
1445 # endif
1446 #endif /* wxUSE_MDI_ARCHITECTURE */
1447
1448 #if !wxUSE_FILEDLG
1449 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1450 # ifdef wxABORT_ON_CONFIG_ERROR
1451 # error "wxFileDialog must be compiled as well"
1452 # else
1453 # undef wxUSE_FILEDLG
1454 # define wxUSE_FILEDLG 1
1455 # endif
1456 # endif
1457 #endif /* wxUSE_FILEDLG */
1458
1459 #if !wxUSE_BUTTON
1460 # if wxUSE_PROGRESSDLG || \
1461 wxUSE_FONTDLG || \
1462 wxUSE_FILEDLG || \
1463 wxUSE_CHOICEDLG || \
1464 wxUSE_NUMBERDLG || \
1465 wxUSE_TEXTDLG || \
1466 wxUSE_DIRDLG || \
1467 wxUSE_STARTUP_TIPS || \
1468 wxUSE_WIZARDDLG
1469 # ifdef wxABORT_ON_CONFIG_ERROR
1470 # error "Common and generic dialogs require wxUSE_BUTTON"
1471 # else
1472 # undef wxUSE_BUTTON
1473 # define wxUSE_BUTTON 1
1474 # endif
1475 # endif
1476 #endif /* wxUSE_PROGRESSDLG */
1477
1478 #if !wxUSE_TOOLBAR
1479 # if wxUSE_TOOLBAR_NATIVE
1480 # ifdef wxABORT_ON_CONFIG_ERROR
1481 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1482 # else
1483 # undef wxUSE_TOOLBAR_NATIVE
1484 # define wxUSE_TOOLBAR_NATIVE 0
1485 # endif
1486 # endif
1487
1488 # if wxUSE_TOOLBAR_SIMPLE
1489 # ifdef wxABORT_ON_CONFIG_ERROR
1490 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1491 # else
1492 # undef wxUSE_TOOLBAR_SIMPLE
1493 # define wxUSE_TOOLBAR_SIMPLE 0
1494 # endif
1495 # endif
1496 #endif
1497
1498 #if !wxUSE_IMAGLIST
1499 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1500 # ifdef wxABORT_ON_CONFIG_ERROR
1501 # error "wxImageList must be compiled as well"
1502 # else
1503 # undef wxUSE_IMAGLIST
1504 # define wxUSE_IMAGLIST 1
1505 # endif
1506 # endif
1507 #endif /* !wxUSE_IMAGLIST */
1508
1509 #if !wxUSE_MSGDLG
1510 # ifdef wxABORT_ON_CONFIG_ERROR
1511 /* FIXME: should compile without it, of course, but doesn't */
1512 # error "wxMessageBox is always needed"
1513 # else
1514 # undef wxUSE_MSGDLG
1515 # define wxUSE_MSGDLG 1
1516 # endif
1517 #endif
1518
1519 #if wxUSE_RADIOBOX
1520 # if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1521 # ifdef wxABORT_ON_CONFIG_ERROR
1522 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1523 # else
1524 # undef wxUSE_RADIOBTN
1525 # undef wxUSE_STATBOX
1526 # define wxUSE_RADIOBTN 1
1527 # define wxUSE_STATBOX 1
1528 # endif
1529 # endif
1530 #endif /* wxUSE_RADIOBOX */
1531
1532 #if wxUSE_LOGWINDOW
1533 # if !wxUSE_TEXTCTRL
1534 # ifdef wxABORT_ON_CONFIG_ERROR
1535 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1536 # else
1537 # undef wxUSE_TEXTCTRL
1538 # define wxUSE_TEXTCTRL 1
1539 # endif
1540 # endif
1541 #endif /* wxUSE_LOGWINDOW */
1542
1543 #if wxUSE_LOG_DIALOG
1544 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1545 # ifdef wxABORT_ON_CONFIG_ERROR
1546 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1547 # else
1548 # undef wxUSE_LISTCTRL
1549 # define wxUSE_LISTCTRL 1
1550 # undef wxUSE_BUTTON
1551 # define wxUSE_BUTTON 1
1552 # endif
1553 # endif
1554 #endif /* wxUSE_LOG_DIALOG */
1555
1556 /* I wonder if we shouldn't just remove all occurrences of
1557 wxUSE_DYNAMIC_CLASSES from the sources? */
1558 #if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
1559 # ifdef wxABORT_ON_CONFIG_ERROR
1560 # error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1561 # else
1562 # undef wxUSE_DYNAMIC_CLASSES
1563 # define wxUSE_DYNAMIC_CLASSES 1
1564 # endif
1565 #endif /* wxUSE_DYNAMIC_CLASSES */
1566
1567 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1568 # ifdef wxABORT_ON_CONFIG_ERROR
1569 # error "wxClipboard requires wxDataObject"
1570 # else
1571 # undef wxUSE_DATAOBJ
1572 # define wxUSE_DATAOBJ 1
1573 # endif
1574 #endif /* wxUSE_CLIPBOARD */
1575
1576 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1577 # ifdef wxABORT_ON_CONFIG_ERROR
1578 # error "wxr resources require PrologIO"
1579 # else
1580 # undef wxUSE_PROLOGIO
1581 # define wxUSE_PROLOGIO 1
1582 # endif
1583 #endif /* wxUSE_WX_RESOURCES */
1584
1585 #if wxUSE_XRC && !wxUSE_XML
1586 # ifdef wxABORT_ON_CONFIG_ERROR
1587 # error "wxUSE_XRC requires wxUSE_XML"
1588 # else
1589 # undef wxUSE_XRC
1590 # define wxUSE_XRC 0
1591 # endif
1592 #endif /* wxUSE_XRC */
1593
1594 #endif /* wxUSE_GUI */
1595