]> git.saurik.com Git - wxWidgets.git/blob - include/wx/chkconf.h
Forward declare wxMacListControl
[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 #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
1178 # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
1179 # ifdef wxABORT_ON_CONFIG_ERROR
1180 # error "wxUSE_BOOKCTRL must be set."
1181 # else
1182 # undef wxUSE_BOOKCTRL
1183 # endif
1184 # endif
1185
1186 # ifndef wxUSE_BOOKCTRL
1187 # define wxUSE_BOOKCTRL 1
1188 # endif
1189 #endif /* wxUSE_NOTEBOOK */
1190
1191 #if wxUSE_LISTBOOK
1192 # if !wxUSE_LISTCTRL
1193 # ifdef wxABORT_ON_CONFIG_ERROR
1194 # error "wxListbook requires wxListCtrl"
1195 # else
1196 # undef wxUSE_LISTCTRL
1197 # define wxUSE_LISTCTRL 1
1198 # endif
1199 # endif
1200 #endif /* wxUSE_LISTBOOK */
1201
1202 #if wxUSE_CHOICEBOOK
1203 # if !wxUSE_CHOICE
1204 # ifdef wxABORT_ON_CONFIG_ERROR
1205 # error "wxChoicebook requires wxChoice"
1206 # else
1207 # undef wxUSE_CHOICE
1208 # define wxUSE_CHOICE 1
1209 # endif
1210 # endif
1211 #endif /* wxUSE_CHOICEBOOK */
1212
1213 #if !wxUSE_ODCOMBOBOX
1214 # if wxUSE_BITMAPCOMBOBOX
1215 # error "wxBitmapComboBox requires wxOwnerDrawnComboBox"
1216 # else
1217 # undef wxUSE_BITMAPCOMBOBOX
1218 # define wxUSE_BITMAPCOMBOBOX 0
1219 # endif
1220 #endif /* !wxUSE_ODCOMBOBOX */
1221
1222 /* don't attempt to use native status bar on the platforms not having it */
1223 #ifndef wxUSE_NATIVE_STATUSBAR
1224 # define wxUSE_NATIVE_STATUSBAR 0
1225 #elif wxUSE_NATIVE_STATUSBAR
1226 # if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \
1227 defined(__WXMAC__) || \
1228 defined(__WXPALMOS__) )
1229 # undef wxUSE_NATIVE_STATUSBAR
1230 # define wxUSE_NATIVE_STATUSBAR 0
1231 # endif
1232 #endif
1233
1234 /* wxUniv-specific dependencies */
1235 #if defined(__WXUNIVERSAL__)
1236 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1237 # ifdef wxABORT_ON_CONFIG_ERROR
1238 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1239 # else
1240 # undef wxUSE_POPUPWIN
1241 # define wxUSE_POPUPWIN 1
1242 # endif
1243 # endif
1244
1245 # if wxUSE_COMBOBOX
1246 # if !wxUSE_LISTBOX
1247 # ifdef wxABORT_ON_CONFIG_ERROR
1248 # error "wxComboBox requires wxListBox in wxUniversal"
1249 # else
1250 # undef wxUSE_LISTBOX
1251 # define wxUSE_LISTBOX 1
1252 # endif
1253 # endif
1254 # endif /* wxUSE_COMBOBOX */
1255
1256 # if wxUSE_RADIOBTN
1257 # if !wxUSE_CHECKBOX
1258 # ifdef wxABORT_ON_CONFIG_ERROR
1259 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1260 # else
1261 # undef wxUSE_CHECKBOX
1262 # define wxUSE_CHECKBOX 1
1263 # endif
1264 # endif
1265 # endif /* wxUSE_RADIOBTN */
1266
1267 # if wxUSE_TEXTCTRL
1268 # if !wxUSE_CARET
1269 # ifdef wxABORT_ON_CONFIG_ERROR
1270 # error "wxTextCtrl requires wxCaret in wxUniversal"
1271 # else
1272 # undef wxUSE_CARET
1273 # define wxUSE_CARET 1
1274 # endif
1275 # endif /* wxUSE_CARET */
1276
1277 # if !wxUSE_SCROLLBAR
1278 # ifdef wxABORT_ON_CONFIG_ERROR
1279 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
1280 # else
1281 # undef wxUSE_SCROLLBAR
1282 # define wxUSE_SCROLLBAR 1
1283 # endif
1284 # endif /* wxUSE_SCROLLBAR */
1285 # endif /* wxUSE_TEXTCTRL */
1286 #endif /* __WXUNIVERSAL__ */
1287
1288 /* wxGTK-specific dependencies */
1289 #ifdef __WXGTK__
1290 # ifndef __WXUNIVERSAL__
1291 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1292 # ifdef wxABORT_ON_CONFIG_ERROR
1293 # error "MDI requires wxUSE_MENUS in wxGTK"
1294 # else
1295 # undef wxUSE_MENUS
1296 # define wxUSE_MENUS 1
1297 # endif
1298 # endif
1299 # endif /* !__WXUNIVERSAL__ */
1300
1301 # if wxUSE_JOYSTICK
1302 # if !wxUSE_THREADS
1303 # ifdef wxABORT_ON_CONFIG_ERROR
1304 # error "wxJoystick requires threads in wxGTK"
1305 # else
1306 # undef wxUSE_JOYSTICK
1307 # define wxUSE_JOYSTICK 0
1308 # endif
1309 # endif
1310 # endif
1311 #endif /* wxGTK && !wxUniv */
1312
1313 /* Hopefully we can emulate these dialogs in due course */
1314 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
1315 # ifdef wxUSE_COLOURDLG
1316 # undef wxUSE_COLOURDLG
1317 # define wxUSE_COLOURDLG 0
1318 # endif
1319 #endif /* __SMARTPHONE__ && __WXWINCE__ */
1320
1321
1322 /* generic controls dependencies */
1323 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1324 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1325 /* all common controls are needed by these dialogs */
1326 # if !defined(wxUSE_CHOICE) || \
1327 !defined(wxUSE_TEXTCTRL) || \
1328 !defined(wxUSE_BUTTON) || \
1329 !defined(wxUSE_CHECKBOX) || \
1330 !defined(wxUSE_STATTEXT)
1331 # ifdef wxABORT_ON_CONFIG_ERROR
1332 # error "These common controls are needed by common dialogs"
1333 # else
1334 # undef wxUSE_CHOICE
1335 # define wxUSE_CHOICE 1
1336 # undef wxUSE_TEXTCTRL
1337 # define wxUSE_TEXTCTRL 1
1338 # undef wxUSE_BUTTON
1339 # define wxUSE_BUTTON 1
1340 # undef wxUSE_CHECKBOX
1341 # define wxUSE_CHECKBOX 1
1342 # undef wxUSE_STATTEXT
1343 # define wxUSE_STATTEXT 1
1344 # endif
1345 # endif
1346 # endif
1347 #endif /* !wxMSW || wxUniv */
1348
1349 /* common dependencies */
1350 #if wxUSE_CALENDARCTRL
1351 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1352 # ifdef wxABORT_ON_CONFIG_ERROR
1353 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1354 # else
1355 # undef wxUSE_SPINBTN
1356 # undef wxUSE_COMBOBOX
1357 # define wxUSE_SPINBTN 1
1358 # define wxUSE_COMBOBOX 1
1359 # endif
1360 # endif
1361
1362 # if !wxUSE_DATETIME
1363 # ifdef wxABORT_ON_CONFIG_ERROR
1364 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1365 # else
1366 # undef wxUSE_DATETIME
1367 # define wxUSE_DATETIME 1
1368 # endif
1369 # endif
1370 #endif /* wxUSE_CALENDARCTRL */
1371
1372 #if wxUSE_DATEPICKCTRL
1373 # if !wxUSE_DATETIME
1374 # ifdef wxABORT_ON_CONFIG_ERROR
1375 # error "wxDatePickerCtrl requires wxUSE_DATETIME"
1376 # else
1377 # undef wxUSE_DATETIME
1378 # define wxUSE_DATETIME 1
1379 # endif
1380 # endif
1381 #endif /* wxUSE_DATEPICKCTRL */
1382
1383 #if wxUSE_CHECKLISTBOX
1384 # if !wxUSE_LISTBOX
1385 # ifdef wxABORT_ON_CONFIG_ERROR
1386 # error "wxCheckListBox requires wxListBox"
1387 # else
1388 # undef wxUSE_LISTBOX
1389 # define wxUSE_LISTBOX 1
1390 # endif
1391 # endif
1392 #endif /* wxUSE_CHECKLISTBOX */
1393
1394 #if wxUSE_CHOICEDLG
1395 # if !wxUSE_LISTBOX
1396 # ifdef wxABORT_ON_CONFIG_ERROR
1397 # error "Choice dialogs requires wxListBox"
1398 # else
1399 # undef wxUSE_LISTBOX
1400 # define wxUSE_LISTBOX 1
1401 # endif
1402 # endif
1403 #endif /* wxUSE_CHOICEDLG */
1404
1405 #if wxUSE_HELP
1406 # if !wxUSE_BMPBUTTON
1407 # ifdef wxABORT_ON_CONFIG_ERROR
1408 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1409 # else
1410 # undef wxUSE_BMPBUTTON
1411 # define wxUSE_BMPBUTTON 1
1412 # endif
1413 # endif
1414
1415 # if !wxUSE_CHOICEDLG
1416 # ifdef wxABORT_ON_CONFIG_ERROR
1417 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1418 # else
1419 # undef wxUSE_CHOICEDLG
1420 # define wxUSE_CHOICEDLG 1
1421 # endif
1422 # endif
1423 #endif /* wxUSE_HELP */
1424
1425 #if wxUSE_WXHTML_HELP
1426 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
1427 # ifdef wxABORT_ON_CONFIG_ERROR
1428 # error "Built in help controller can't be compiled"
1429 # else
1430 # undef wxUSE_HELP
1431 # define wxUSE_HELP 1
1432 # undef wxUSE_HTML
1433 # define wxUSE_HTML 1
1434 # undef wxUSE_COMBOBOX
1435 # define wxUSE_COMBOBOX 1
1436 # undef wxUSE_NOTEBOOK
1437 # define wxUSE_NOTEBOOK 1
1438 # undef wxUSE_SPINCTRL
1439 # define wxUSE_SPINCTRL 1
1440 # endif
1441 # endif
1442 #endif /* wxUSE_WXHTML_HELP */
1443
1444 #if !wxUSE_IMAGE
1445 /*
1446 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1447 user explicitly wants this and disable all other features that require
1448 wxUSE_IMAGE.
1449 */
1450 # if wxUSE_DRAGIMAGE
1451 # ifdef wxABORT_ON_CONFIG_ERROR
1452 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1453 # else
1454 # undef wxUSE_DRAGIMAGE
1455 # define wxUSE_DRAGIMAGE 0
1456 # endif
1457 # endif
1458
1459 # if wxUSE_LIBPNG
1460 # ifdef wxABORT_ON_CONFIG_ERROR
1461 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1462 # else
1463 # undef wxUSE_LIBPNG
1464 # define wxUSE_LIBPNG 0
1465 # endif
1466 # endif
1467
1468 # if wxUSE_LIBJPEG
1469 # ifdef wxABORT_ON_CONFIG_ERROR
1470 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1471 # else
1472 # undef wxUSE_LIBJPEG
1473 # define wxUSE_LIBJPEG 0
1474 # endif
1475 # endif
1476
1477 # if wxUSE_LIBTIFF
1478 # ifdef wxABORT_ON_CONFIG_ERROR
1479 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1480 # else
1481 # undef wxUSE_LIBTIFF
1482 # define wxUSE_LIBTIFF 0
1483 # endif
1484 # endif
1485
1486 # if wxUSE_GIF
1487 # ifdef wxABORT_ON_CONFIG_ERROR
1488 # error "wxUSE_GIF requires wxUSE_IMAGE"
1489 # else
1490 # undef wxUSE_GIF
1491 # define wxUSE_GIF 0
1492 # endif
1493 # endif
1494
1495 # if wxUSE_PNM
1496 # ifdef wxABORT_ON_CONFIG_ERROR
1497 # error "wxUSE_PNM requires wxUSE_IMAGE"
1498 # else
1499 # undef wxUSE_PNM
1500 # define wxUSE_PNM 0
1501 # endif
1502 # endif
1503
1504 # if wxUSE_PCX
1505 # ifdef wxABORT_ON_CONFIG_ERROR
1506 # error "wxUSE_PCX requires wxUSE_IMAGE"
1507 # else
1508 # undef wxUSE_PCX
1509 # define wxUSE_PCX 0
1510 # endif
1511 # endif
1512
1513 # if wxUSE_IFF
1514 # ifdef wxABORT_ON_CONFIG_ERROR
1515 # error "wxUSE_IFF requires wxUSE_IMAGE"
1516 # else
1517 # undef wxUSE_IFF
1518 # define wxUSE_IFF 0
1519 # endif
1520 # endif
1521
1522 # if wxUSE_TOOLBAR
1523 # ifdef wxABORT_ON_CONFIG_ERROR
1524 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1525 # else
1526 # undef wxUSE_TOOLBAR
1527 # define wxUSE_TOOLBAR 0
1528 # endif
1529 # endif
1530
1531 # if wxUSE_XPM
1532 # ifdef wxABORT_ON_CONFIG_ERROR
1533 # error "wxUSE_XPM requires wxUSE_IMAGE"
1534 # else
1535 # undef wxUSE_XPM
1536 # define wxUSE_XPM 0
1537 # endif
1538 # endif
1539
1540 #endif /* !wxUSE_IMAGE */
1541
1542 #if wxUSE_DOC_VIEW_ARCHITECTURE
1543 # if !wxUSE_MENUS
1544 # ifdef wxABORT_ON_CONFIG_ERROR
1545 # error "DocView requires wxUSE_MENUS"
1546 # else
1547 # undef wxUSE_MENUS
1548 # define wxUSE_MENUS 1
1549 # endif
1550 # endif
1551
1552 # if !wxUSE_CHOICEDLG
1553 # ifdef wxABORT_ON_CONFIG_ERROR
1554 # error "DocView requires wxUSE_CHOICEDLG"
1555 # else
1556 # undef wxUSE_CHOICEDLG
1557 # define wxUSE_CHOICEDLG 1
1558 # endif
1559 # endif
1560
1561 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1562 # ifdef wxABORT_ON_CONFIG_ERROR
1563 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1564 # else
1565 # undef wxUSE_STREAMS
1566 # define wxUSE_STREAMS 1
1567 # endif
1568 # endif
1569 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1570
1571 #if wxUSE_PRINTING_ARCHITECTURE
1572 # if !wxUSE_COMBOBOX
1573 # ifdef wxABORT_ON_CONFIG_ERROR
1574 # error "Print dialog requires wxUSE_COMBOBOX"
1575 # else
1576 # undef wxUSE_COMBOBOX
1577 # define wxUSE_COMBOBOX 1
1578 # endif
1579 # endif
1580 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1581
1582 #if wxUSE_MDI_ARCHITECTURE
1583 # if !wxUSE_MDI
1584 # ifdef wxABORT_ON_CONFIG_ERROR
1585 # error "MDI requires wxUSE_MDI"
1586 # else
1587 # undef wxUSE_MDI
1588 # define wxUSE_MDI 1
1589 # endif
1590 # endif
1591
1592 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1593 # ifdef wxABORT_ON_CONFIG_ERROR
1594 # error "wxUSE_MDI_ARCHITECTURE requires wxUSE_DOC_VIEW_ARCHITECTURE"
1595 # else
1596 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1597 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1598 # endif
1599 # endif
1600 #endif /* wxUSE_MDI_ARCHITECTURE */
1601
1602 #if !wxUSE_FILEDLG
1603 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1604 # ifdef wxABORT_ON_CONFIG_ERROR
1605 # error "wxUSE_FILEDLG is required by wxUSE_DOC_VIEW_ARCHITECTURE and wxUSE_WXHTML_HELP!"
1606 # else
1607 # undef wxUSE_FILEDLG
1608 # define wxUSE_FILEDLG 1
1609 # endif
1610 # endif
1611 #endif /* wxUSE_FILEDLG */
1612
1613 #if !wxUSE_GAUGE || !wxUSE_BUTTON
1614 # if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__)
1615 # ifdef wxABORT_ON_CONFIG_ERROR
1616 # error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
1617 # else
1618 # undef wxUSE_GAUGE
1619 # undef wxUSE_BUTTON
1620 # define wxUSE_GAUGE 1
1621 # define wxUSE_BUTTON 1
1622 # endif
1623 # endif
1624 #endif /* !wxUSE_GAUGE */
1625
1626 #if !wxUSE_BUTTON
1627 # if wxUSE_FONTDLG || \
1628 wxUSE_FILEDLG || \
1629 wxUSE_CHOICEDLG || \
1630 wxUSE_NUMBERDLG || \
1631 wxUSE_TEXTDLG || \
1632 wxUSE_DIRDLG || \
1633 wxUSE_STARTUP_TIPS || \
1634 wxUSE_WIZARDDLG
1635 # ifdef wxABORT_ON_CONFIG_ERROR
1636 # error "Common and generic dialogs require wxUSE_BUTTON"
1637 # else
1638 # undef wxUSE_BUTTON
1639 # define wxUSE_BUTTON 1
1640 # endif
1641 # endif
1642 #endif /* !wxUSE_BUTTON */
1643
1644 #if !wxUSE_TOOLBAR
1645 # if wxUSE_TOOLBAR_NATIVE
1646 # ifdef wxABORT_ON_CONFIG_ERROR
1647 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1648 # else
1649 # undef wxUSE_TOOLBAR_NATIVE
1650 # define wxUSE_TOOLBAR_NATIVE 0
1651 # endif
1652 # endif
1653 #endif
1654
1655 #if !wxUSE_IMAGLIST
1656 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1657 # ifdef wxABORT_ON_CONFIG_ERROR
1658 # error "wxImageList must be compiled as well"
1659 # else
1660 # undef wxUSE_IMAGLIST
1661 # define wxUSE_IMAGLIST 1
1662 # endif
1663 # endif
1664 #endif /* !wxUSE_IMAGLIST */
1665
1666 #if !wxUSE_MSGDLG
1667 # ifdef wxABORT_ON_CONFIG_ERROR
1668 /* FIXME: should compile without it, of course, but doesn't */
1669 # error "wxMessageBox is always needed"
1670 # else
1671 # undef wxUSE_MSGDLG
1672 # define wxUSE_MSGDLG 1
1673 # endif
1674 #endif
1675
1676 #if wxUSE_RADIOBOX
1677 # if !wxUSE_RADIOBTN
1678 # ifdef wxABORT_ON_CONFIG_ERROR
1679 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN"
1680 # else
1681 # undef wxUSE_RADIOBTN
1682 # define wxUSE_RADIOBTN 1
1683 # endif
1684 # endif
1685 # if !wxUSE_STATBOX && !defined(__WXPALMOS__)
1686 # ifdef wxABORT_ON_CONFIG_ERROR
1687 # error "wxUSE_RADIOBOX requires wxUSE_STATBOX"
1688 # else
1689 # undef wxUSE_STATBOX
1690 # define wxUSE_STATBOX 1
1691 # endif
1692 # endif
1693 #endif /* wxUSE_RADIOBOX */
1694
1695 #if wxUSE_LOGWINDOW
1696 # if !wxUSE_TEXTCTRL
1697 # ifdef wxABORT_ON_CONFIG_ERROR
1698 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1699 # else
1700 # undef wxUSE_TEXTCTRL
1701 # define wxUSE_TEXTCTRL 1
1702 # endif
1703 # endif
1704 #endif /* wxUSE_LOGWINDOW */
1705
1706 #if wxUSE_LOG_DIALOG
1707 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1708 # ifdef wxABORT_ON_CONFIG_ERROR
1709 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1710 # else
1711 # undef wxUSE_LISTCTRL
1712 # define wxUSE_LISTCTRL 1
1713 # undef wxUSE_BUTTON
1714 # define wxUSE_BUTTON 1
1715 # endif
1716 # endif
1717 #endif /* wxUSE_LOG_DIALOG */
1718
1719 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1720 # ifdef wxABORT_ON_CONFIG_ERROR
1721 # error "wxClipboard requires wxDataObject"
1722 # else
1723 # undef wxUSE_DATAOBJ
1724 # define wxUSE_DATAOBJ 1
1725 # endif
1726 #endif /* wxUSE_CLIPBOARD */
1727
1728 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1729 # ifdef wxABORT_ON_CONFIG_ERROR
1730 # error "wxr resources require PrologIO"
1731 # else
1732 # undef wxUSE_PROLOGIO
1733 # define wxUSE_PROLOGIO 1
1734 # endif
1735 #endif /* wxUSE_WX_RESOURCES */
1736
1737 #if wxUSE_XRC && !wxUSE_XML
1738 # ifdef wxABORT_ON_CONFIG_ERROR
1739 # error "wxUSE_XRC requires wxUSE_XML"
1740 # else
1741 # undef wxUSE_XRC
1742 # define wxUSE_XRC 0
1743 # endif
1744 #endif /* wxUSE_XRC */
1745
1746 #if wxUSE_SOCKETS && !wxUSE_STOPWATCH
1747 # ifdef wxABORT_ON_CONFIG_ERROR
1748 # error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
1749 # else
1750 # undef wxUSE_SOCKETS
1751 # define wxUSE_SOCKETS 0
1752 # endif
1753 #endif /* wxUSE_SOCKETS */
1754
1755 #if !wxUSE_VARIANT
1756 # if wxUSE_DATAVIEWCTRL
1757 # ifdef wxABORT_ON_CONFIG_ERROR
1758 # error "wxDataViewCtrl requires wxVariant"
1759 # else
1760 # undef wxUSE_DATAVIEWCTRL
1761 # define wxUSE_DATAVIEWCTRL 0
1762 # endif
1763 # endif
1764
1765 # if wxUSE_ODBC
1766 # ifdef wxABORT_ON_CONFIG_ERROR
1767 # error "wxUSE_ODBC requires wxVariant"
1768 # else
1769 # undef wxUSE_ODBC
1770 # define wxUSE_ODBC 0
1771 # endif
1772 # endif
1773 #endif /* wxUSE_VARIANT */
1774
1775 #endif /* wxUSE_GUI */