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