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