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