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