define wxUSE_CRASHREPORT as 0 for non-MSW
[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 Compiler-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_UNICODE_MSLU && !wxUSE_UNICODE
956 # ifdef wxABORT_ON_CONFIG_ERROR
957 # error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
958 # else
959 # undef wxUSE_UNICODE
960 # define wxUSE_UNICODE 1
961 # endif
962 #endif /* wxUSE_UNICODE_MSLU */
963
964 #if wxUSE_XML && !wxUSE_WCHAR_T
965 # ifdef wxABORT_ON_CONFIG_ERROR
966 # error "wxUSE_XML requires wxUSE_WCHAR_T"
967 # else
968 # undef wxUSE_XML
969 # define wxUSE_XML 0
970 # endif
971 #endif /* wxUSE_UNICODE_MSLU */
972
973 #if !wxUSE_DYNLIB_CLASS
974 # if wxUSE_DYNAMIC_LOADER
975 # ifdef wxABORT_ON_CONFIG_ERROR
976 # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
977 # else
978 # define wxUSE_DYNLIB_CLASS 1
979 # endif
980 # endif
981 #endif /* wxUSE_DYNLIB_CLASS */
982
983 #if wxUSE_ZIPSTREAM
984 # if !wxUSE_ZLIB
985 # ifdef wxABORT_ON_CONFIG_ERROR
986 # error "wxZip requires wxZlib"
987 # else
988 # undef wxUSE_ZLIB
989 # define wxUSE_ZLIB 1
990 # endif
991 # endif
992 # if !wxUSE_ARCHIVE_STREAMS
993 # ifdef wxABORT_ON_CONFIG_ERROR
994 # error "wxZip requires wxArchive"
995 # else
996 # undef wxUSE_ARCHIVE_STREAMS
997 # define wxUSE_ARCHIVE_STREAMS 1
998 # endif
999 # endif
1000 #endif /* wxUSE_ZIPSTREAM */
1001
1002 /* the rest of the tests is for the GUI settings only */
1003 #if wxUSE_GUI
1004
1005 #if wxUSE_BUTTON || \
1006 wxUSE_CALENDARCTRL || \
1007 wxUSE_CARET || \
1008 wxUSE_COMBOBOX || \
1009 wxUSE_BMPBUTTON || \
1010 wxUSE_CHECKBOX || \
1011 wxUSE_CHECKLISTBOX || \
1012 wxUSE_CHOICE || \
1013 wxUSE_GAUGE || \
1014 wxUSE_GRID || \
1015 wxUSE_LISTBOX || \
1016 wxUSE_LISTCTRL || \
1017 wxUSE_NOTEBOOK || \
1018 wxUSE_RADIOBOX || \
1019 wxUSE_RADIOBTN || \
1020 wxUSE_SCROLLBAR || \
1021 wxUSE_SLIDER || \
1022 wxUSE_SPINBTN || \
1023 wxUSE_SPINCTRL || \
1024 wxUSE_STATBMP || \
1025 wxUSE_STATBOX || \
1026 wxUSE_STATLINE || \
1027 wxUSE_STATTEXT || \
1028 wxUSE_STATUSBAR || \
1029 wxUSE_TEXTCTRL || \
1030 wxUSE_TOOLBAR || \
1031 wxUSE_TREECTRL
1032 # if !wxUSE_CONTROLS
1033 # ifdef wxABORT_ON_CONFIG_ERROR
1034 # error "wxUSE_CONTROLS unset but some controls used"
1035 # else
1036 # undef wxUSE_CONTROLS
1037 # define wxUSE_CONTROLS 1
1038 # endif
1039 # endif
1040 #endif /* controls */
1041
1042 #if wxUSE_BMPBUTTON
1043 # if !wxUSE_BUTTON
1044 # ifdef wxABORT_ON_CONFIG_ERROR
1045 # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
1046 # else
1047 # undef wxUSE_BUTTON
1048 # define wxUSE_BUTTON 1
1049 # endif
1050 # endif
1051 #endif /* wxUSE_BMPBUTTON */
1052
1053 #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
1054 # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
1055 # ifdef wxABORT_ON_CONFIG_ERROR
1056 # error "wxUSE_BOOKCTRL must be set."
1057 # else
1058 # undef wxUSE_BOOKCTRL
1059 # endif
1060 # endif
1061
1062 # ifndef wxUSE_BOOKCTRL
1063 # define wxUSE_BOOKCTRL 1
1064 # endif
1065 #endif /* wxUSE_NOTEBOOK */
1066
1067 #if wxUSE_LISTBOOK
1068 # if !wxUSE_LISTCTRL
1069 # ifdef wxABORT_ON_CONFIG_ERROR
1070 # error "wxListbook requires wxListCtrl"
1071 # else
1072 # undef wxUSE_LISTCTRL
1073 # define wxUSE_LISTCTRL 1
1074 # endif
1075 # endif
1076 #endif /* wxUSE_LISTBOOK */
1077
1078 #if wxUSE_CHOICEBOOK
1079 # if !wxUSE_CHOICE
1080 # ifdef wxABORT_ON_CONFIG_ERROR
1081 # error "wxChoicebook requires wxChoice"
1082 # else
1083 # undef wxUSE_CHOICE
1084 # define wxUSE_CHOICE 1
1085 # endif
1086 # endif
1087 #endif /* wxUSE_CHOICEBOOK */
1088
1089 /* don't attempt to use native status bar on the platforms not having it */
1090 #ifndef wxUSE_NATIVE_STATUSBAR
1091 # define wxUSE_NATIVE_STATUSBAR 0
1092 #elif wxUSE_NATIVE_STATUSBAR
1093 # if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \
1094 defined(__WXMAC__) || \
1095 defined(__WXPALMOS__) )
1096 # undef wxUSE_NATIVE_STATUSBAR
1097 # define wxUSE_NATIVE_STATUSBAR 0
1098 # endif
1099 #endif
1100
1101 /* wxUniv-specific dependencies */
1102 #if defined(__WXUNIVERSAL__)
1103 # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1104 # ifdef wxABORT_ON_CONFIG_ERROR
1105 # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1106 # else
1107 # undef wxUSE_POPUPWIN
1108 # define wxUSE_POPUPWIN 1
1109 # endif
1110 # endif
1111
1112 # if wxUSE_COMBOBOX
1113 # if !wxUSE_LISTBOX
1114 # ifdef wxABORT_ON_CONFIG_ERROR
1115 # error "wxComboBox requires wxListBox in wxUniversal"
1116 # else
1117 # undef wxUSE_LISTBOX
1118 # define wxUSE_LISTBOX 1
1119 # endif
1120 # endif
1121 # endif /* wxUSE_COMBOBOX */
1122
1123 # if wxUSE_RADIOBTN
1124 # if !wxUSE_CHECKBOX
1125 # ifdef wxABORT_ON_CONFIG_ERROR
1126 # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1127 # else
1128 # undef wxUSE_CHECKBOX
1129 # define wxUSE_CHECKBOX 1
1130 # endif
1131 # endif
1132 # endif /* wxUSE_RADIOBTN */
1133
1134 # if wxUSE_TEXTCTRL
1135 # if !wxUSE_CARET
1136 # ifdef wxABORT_ON_CONFIG_ERROR
1137 # error "wxTextCtrl requires wxCaret in wxUniversal"
1138 # else
1139 # undef wxUSE_CARET
1140 # define wxUSE_CARET 1
1141 # endif
1142 # endif /* wxUSE_CARET */
1143
1144 # if !wxUSE_SCROLLBAR
1145 # ifdef wxABORT_ON_CONFIG_ERROR
1146 # error "wxTextCtrl requires wxScrollBar in wxUniversal"
1147 # else
1148 # undef wxUSE_SCROLLBAR
1149 # define wxUSE_SCROLLBAR 1
1150 # endif
1151 # endif /* wxUSE_SCROLLBAR */
1152 # endif /* wxUSE_TEXTCTRL */
1153 #endif /* __WXUNIVERSAL__ */
1154
1155 /* wxGTK-specific dependencies */
1156 #ifdef __WXGTK__
1157 # ifndef __WXUNIVERSAL__
1158 # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1159 # ifdef wxABORT_ON_CONFIG_ERROR
1160 # error "MDI requires wxUSE_MENUS in wxGTK"
1161 # else
1162 # undef wxUSE_MENUS
1163 # define wxUSE_MENUS 1
1164 # endif
1165 # endif
1166 # endif /* !__WXUNIVERSAL__ */
1167
1168 # if wxUSE_JOYSTICK
1169 # if !wxUSE_THREADS
1170 # ifdef wxABORT_ON_CONFIG_ERROR
1171 # error "wxJoystick requires threads in wxGTK"
1172 # else
1173 # undef wxUSE_JOYSTICK
1174 # define wxUSE_JOYSTICK 0
1175 # endif
1176 # endif
1177 # endif
1178 #endif /* wxGTK && !wxUniv */
1179
1180 /* wxMSW-specific dependencies */
1181 #ifdef __WXMSW__
1182 # ifndef wxUSE_UNICODE_MSLU
1183 # ifdef wxABORT_ON_CONFIG_ERROR
1184 # error "wxUSE_UNICODE_MSLU must be defined."
1185 # else
1186 # define wxUSE_UNICODE_MSLU 0
1187 # endif
1188 # endif /* wxUSE_UNICODE_MSLU */
1189 # ifndef wxUSE_UXTHEME
1190 # ifdef wxABORT_ON_CONFIG_ERROR
1191 # error "wxUSE_UXTHEME must be defined."
1192 # else
1193 # define wxUSE_UXTHEME 0
1194 # endif
1195 # endif /* wxUSE_UXTHEME */
1196 # ifndef wxUSE_UXTHEME_AUTO
1197 # ifdef wxABORT_ON_CONFIG_ERROR
1198 # error "wxUSE_UXTHEME_AUTO must be defined."
1199 # else
1200 # define wxUSE_UXTHEME_AUTO 0
1201 # endif
1202 # endif /* wxUSE_UXTHEME_AUTO */
1203 # ifndef wxUSE_MS_HTML_HELP
1204 # ifdef wxABORT_ON_CONFIG_ERROR
1205 # error "wxUSE_MS_HTML_HELP must be defined."
1206 # else
1207 # define wxUSE_MS_HTML_HELP 0
1208 # endif
1209 # endif /* !defined(wxUSE_MS_HTML_HELP) */
1210 # ifndef wxUSE_DIALUP_MANAGER
1211 # ifdef wxABORT_ON_CONFIG_ERROR
1212 # error "wxUSE_DIALUP_MANAGER must be defined."
1213 # else
1214 # define wxUSE_DIALUP_MANAGER 0
1215 # endif
1216 # endif /* !defined(wxUSE_DIALUP_MANAGER) */
1217
1218 # if !wxUSE_DYNAMIC_LOADER
1219 # if wxUSE_MS_HTML_HELP
1220 # ifdef wxABORT_ON_CONFIG_ERROR
1221 # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1222 # else
1223 # define wxUSE_DYNAMIC_LOADER 1
1224 # endif
1225 # endif
1226 # if wxUSE_DIALUP_MANAGER
1227 # ifdef wxABORT_ON_CONFIG_ERROR
1228 # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1229 # else
1230 # define wxUSE_DYNAMIC_LOADER 1
1231 # endif
1232 # endif
1233 # endif /* wxUSE_DYNAMIC_LOADER */
1234
1235 #endif /* wxMSW */
1236
1237 /* wxMGL-specific dependencies */
1238 #ifdef __WXMGL__
1239 # if !wxUSE_PALETTE
1240 # error "wxMGL requires wxUSE_PALETTE=1"
1241 # endif
1242 #endif /* wxMGL */
1243
1244 /* Hopefully we can emulate these dialogs in due course */
1245 #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
1246 # ifdef wxUSE_COLOURDLG
1247 # undef wxUSE_COLOURDLG
1248 # define wxUSE_COLOURDLG 0
1249 # endif
1250 #endif /* __SMARTPHONE__ && __WXWINCE__ */
1251
1252
1253 /* generic controls dependencies */
1254 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1255 # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1256 /* all common controls are needed by these dialogs */
1257 # if !defined(wxUSE_CHOICE) || \
1258 !defined(wxUSE_TEXTCTRL) || \
1259 !defined(wxUSE_BUTTON) || \
1260 !defined(wxUSE_CHECKBOX) || \
1261 !defined(wxUSE_STATTEXT)
1262 # ifdef wxABORT_ON_CONFIG_ERROR
1263 # error "These common controls are needed by common dialogs"
1264 # else
1265 # undef wxUSE_CHOICE
1266 # define wxUSE_CHOICE 1
1267 # undef wxUSE_TEXTCTRL
1268 # define wxUSE_TEXTCTRL 1
1269 # undef wxUSE_BUTTON
1270 # define wxUSE_BUTTON 1
1271 # undef wxUSE_CHECKBOX
1272 # define wxUSE_CHECKBOX 1
1273 # undef wxUSE_STATTEXT
1274 # define wxUSE_STATTEXT 1
1275 # endif
1276 # endif
1277 # endif
1278 #endif /* !wxMSW || wxUniv */
1279
1280 /* common dependencies */
1281 #if wxUSE_CALENDARCTRL
1282 # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1283 # ifdef wxABORT_ON_CONFIG_ERROR
1284 # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1285 # else
1286 # undef wxUSE_SPINBTN
1287 # undef wxUSE_COMBOBOX
1288 # define wxUSE_SPINBTN 1
1289 # define wxUSE_COMBOBOX 1
1290 # endif
1291 # endif
1292
1293 # if !wxUSE_DATETIME
1294 # ifdef wxABORT_ON_CONFIG_ERROR
1295 # error "wxCalendarCtrl requires wxUSE_DATETIME"
1296 # else
1297 # undef wxUSE_DATETIME
1298 # define wxUSE_DATETIME 1
1299 # endif
1300 # endif
1301 #endif /* wxUSE_CALENDARCTRL */
1302
1303 #if wxUSE_DATEPICKCTRL
1304 # if !wxUSE_DATETIME
1305 # ifdef wxABORT_ON_CONFIG_ERROR
1306 # error "wxDatePickerCtrl requires wxUSE_DATETIME"
1307 # else
1308 # undef wxUSE_DATETIME
1309 # define wxUSE_DATETIME 1
1310 # endif
1311 # endif
1312 #endif /* wxUSE_DATEPICKCTRL */
1313
1314 #if wxUSE_CHECKLISTBOX
1315 # if !wxUSE_LISTBOX
1316 # ifdef wxABORT_ON_CONFIG_ERROR
1317 # error "wxCheckListBox requires wxListBox"
1318 # else
1319 # undef wxUSE_LISTBOX
1320 # define wxUSE_LISTBOX 1
1321 # endif
1322 # endif
1323 #endif /* wxUSE_CHECKLISTBOX */
1324
1325 #if wxUSE_CHOICEDLG
1326 # if !wxUSE_LISTBOX
1327 # ifdef wxABORT_ON_CONFIG_ERROR
1328 # error "Choice dialogs requires wxListBox"
1329 # else
1330 # undef wxUSE_LISTBOX
1331 # define wxUSE_LISTBOX 1
1332 # endif
1333 # endif
1334 #endif /* wxUSE_CHOICEDLG */
1335
1336 #if wxUSE_HELP
1337 # if !wxUSE_BMPBUTTON
1338 # ifdef wxABORT_ON_CONFIG_ERROR
1339 # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1340 # else
1341 # undef wxUSE_BMPBUTTON
1342 # define wxUSE_BMPBUTTON 1
1343 # endif
1344 # endif
1345
1346 # if !wxUSE_CHOICEDLG
1347 # ifdef wxABORT_ON_CONFIG_ERROR
1348 # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1349 # else
1350 # undef wxUSE_CHOICEDLG
1351 # define wxUSE_CHOICEDLG 1
1352 # endif
1353 # endif
1354 #endif /* wxUSE_HELP */
1355
1356 #if wxUSE_WXHTML_HELP
1357 # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
1358 # ifdef wxABORT_ON_CONFIG_ERROR
1359 # error "Built in help controller can't be compiled"
1360 # else
1361 # undef wxUSE_HELP
1362 # define wxUSE_HELP 1
1363 # undef wxUSE_HTML
1364 # define wxUSE_HTML 1
1365 # undef wxUSE_COMBOBOX
1366 # define wxUSE_COMBOBOX 1
1367 # undef wxUSE_NOTEBOOK
1368 # define wxUSE_NOTEBOOK 1
1369 # undef wxUSE_SPINCTRL
1370 # define wxUSE_SPINCTRL 1
1371 # endif
1372 # endif
1373 #endif /* wxUSE_WXHTML_HELP */
1374
1375 #if !wxUSE_IMAGE
1376 /*
1377 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1378 user explicitly wants this and disable all other features that require
1379 wxUSE_IMAGE.
1380 */
1381 # if wxUSE_DRAGIMAGE
1382 # ifdef wxABORT_ON_CONFIG_ERROR
1383 # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1384 # else
1385 # undef wxUSE_DRAGIMAGE
1386 # define wxUSE_DRAGIMAGE 0
1387 # endif
1388 # endif
1389
1390 # if wxUSE_LIBPNG
1391 # ifdef wxABORT_ON_CONFIG_ERROR
1392 # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1393 # else
1394 # undef wxUSE_LIBPNG
1395 # define wxUSE_LIBPNG 0
1396 # endif
1397 # endif
1398
1399 # if wxUSE_LIBJPEG
1400 # ifdef wxABORT_ON_CONFIG_ERROR
1401 # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1402 # else
1403 # undef wxUSE_LIBJPEG
1404 # define wxUSE_LIBJPEG 0
1405 # endif
1406 # endif
1407
1408 # if wxUSE_LIBTIFF
1409 # ifdef wxABORT_ON_CONFIG_ERROR
1410 # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1411 # else
1412 # undef wxUSE_LIBTIFF
1413 # define wxUSE_LIBTIFF 0
1414 # endif
1415 # endif
1416
1417 # if wxUSE_GIF
1418 # ifdef wxABORT_ON_CONFIG_ERROR
1419 # error "wxUSE_GIF requires wxUSE_IMAGE"
1420 # else
1421 # undef wxUSE_GIF
1422 # define wxUSE_GIF 0
1423 # endif
1424 # endif
1425
1426 # if wxUSE_PNM
1427 # ifdef wxABORT_ON_CONFIG_ERROR
1428 # error "wxUSE_PNM requires wxUSE_IMAGE"
1429 # else
1430 # undef wxUSE_PNM
1431 # define wxUSE_PNM 0
1432 # endif
1433 # endif
1434
1435 # if wxUSE_PCX
1436 # ifdef wxABORT_ON_CONFIG_ERROR
1437 # error "wxUSE_PCX requires wxUSE_IMAGE"
1438 # else
1439 # undef wxUSE_PCX
1440 # define wxUSE_PCX 0
1441 # endif
1442 # endif
1443
1444 # if wxUSE_IFF
1445 # ifdef wxABORT_ON_CONFIG_ERROR
1446 # error "wxUSE_IFF requires wxUSE_IMAGE"
1447 # else
1448 # undef wxUSE_IFF
1449 # define wxUSE_IFF 0
1450 # endif
1451 # endif
1452
1453 # if wxUSE_TOOLBAR
1454 # ifdef wxABORT_ON_CONFIG_ERROR
1455 # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1456 # else
1457 # undef wxUSE_TOOLBAR
1458 # define wxUSE_TOOLBAR 0
1459 # endif
1460 # endif
1461
1462 # if wxUSE_XPM
1463 # ifdef wxABORT_ON_CONFIG_ERROR
1464 # error "wxUSE_XPM requires wxUSE_IMAGE"
1465 # else
1466 # undef wxUSE_XPM
1467 # define wxUSE_XPM 0
1468 # endif
1469 # endif
1470
1471 #endif /* !wxUSE_IMAGE */
1472
1473 #if wxUSE_DOC_VIEW_ARCHITECTURE
1474 # if !wxUSE_MENUS
1475 # ifdef wxABORT_ON_CONFIG_ERROR
1476 # error "DocView requires wxUSE_MENUS"
1477 # else
1478 # undef wxUSE_MENUS
1479 # define wxUSE_MENUS 1
1480 # endif
1481 # endif
1482
1483 # if !wxUSE_CHOICEDLG
1484 # ifdef wxABORT_ON_CONFIG_ERROR
1485 # error "DocView requires wxUSE_CHOICEDLG"
1486 # else
1487 # undef wxUSE_CHOICEDLG
1488 # define wxUSE_CHOICEDLG 1
1489 # endif
1490 # endif
1491
1492 # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1493 # ifdef wxABORT_ON_CONFIG_ERROR
1494 # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1495 # else
1496 # undef wxUSE_STREAMS
1497 # define wxUSE_STREAMS 1
1498 # endif
1499 # endif
1500 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1501
1502 #if wxUSE_PRINTING_ARCHITECTURE
1503 # if !wxUSE_COMBOBOX
1504 # ifdef wxABORT_ON_CONFIG_ERROR
1505 # error "Print dialog requires wxUSE_COMBOBOX"
1506 # else
1507 # undef wxUSE_COMBOBOX
1508 # define wxUSE_COMBOBOX 1
1509 # endif
1510 # endif
1511 #endif /* wxUSE_PRINTING_ARCHITECTURE */
1512
1513 #if wxUSE_MDI_ARCHITECTURE
1514 # if !wxUSE_MDI
1515 # ifdef wxABORT_ON_CONFIG_ERROR
1516 # error "MDI requires wxUSE_MDI"
1517 # else
1518 # undef wxUSE_MDI
1519 # define wxUSE_MDI 1
1520 # endif
1521 # endif
1522
1523 # if !wxUSE_DOC_VIEW_ARCHITECTURE
1524 # ifdef wxABORT_ON_CONFIG_ERROR
1525 # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1526 # else
1527 # undef wxUSE_DOC_VIEW_ARCHITECTURE
1528 # define wxUSE_DOC_VIEW_ARCHITECTURE 1
1529 # endif
1530 # endif
1531 #endif /* wxUSE_MDI_ARCHITECTURE */
1532
1533 #if !wxUSE_FILEDLG
1534 # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1535 # ifdef wxABORT_ON_CONFIG_ERROR
1536 # error "wxFileDialog must be compiled as well"
1537 # else
1538 # undef wxUSE_FILEDLG
1539 # define wxUSE_FILEDLG 1
1540 # endif
1541 # endif
1542 #endif /* wxUSE_FILEDLG */
1543
1544 #if !wxUSE_GAUGE || !wxUSE_BUTTON
1545 # if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__)
1546 # ifdef wxABORT_ON_CONFIG_ERROR
1547 # error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
1548 # else
1549 # undef wxUSE_GAUGE
1550 # undef wxUSE_BUTTON
1551 # define wxUSE_GAUGE 1
1552 # define wxUSE_BUTTON 1
1553 # endif
1554 # endif
1555 #endif /* !wxUSE_GAUGE */
1556
1557 #if !wxUSE_BUTTON
1558 # if wxUSE_FONTDLG || \
1559 wxUSE_FILEDLG || \
1560 wxUSE_CHOICEDLG || \
1561 wxUSE_NUMBERDLG || \
1562 wxUSE_TEXTDLG || \
1563 wxUSE_DIRDLG || \
1564 wxUSE_STARTUP_TIPS || \
1565 wxUSE_WIZARDDLG
1566 # ifdef wxABORT_ON_CONFIG_ERROR
1567 # error "Common and generic dialogs require wxUSE_BUTTON"
1568 # else
1569 # undef wxUSE_BUTTON
1570 # define wxUSE_BUTTON 1
1571 # endif
1572 # endif
1573 #endif /* !wxUSE_BUTTON */
1574
1575 #if !wxUSE_TOOLBAR
1576 # if wxUSE_TOOLBAR_NATIVE
1577 # ifdef wxABORT_ON_CONFIG_ERROR
1578 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1579 # else
1580 # undef wxUSE_TOOLBAR_NATIVE
1581 # define wxUSE_TOOLBAR_NATIVE 0
1582 # endif
1583 # endif
1584
1585 # if wxUSE_TOOLBAR_SIMPLE
1586 # ifdef wxABORT_ON_CONFIG_ERROR
1587 # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1588 # else
1589 # undef wxUSE_TOOLBAR_SIMPLE
1590 # define wxUSE_TOOLBAR_SIMPLE 0
1591 # endif
1592 # endif
1593 #endif
1594
1595 #if !wxUSE_IMAGLIST
1596 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1597 # ifdef wxABORT_ON_CONFIG_ERROR
1598 # error "wxImageList must be compiled as well"
1599 # else
1600 # undef wxUSE_IMAGLIST
1601 # define wxUSE_IMAGLIST 1
1602 # endif
1603 # endif
1604 #endif /* !wxUSE_IMAGLIST */
1605
1606 #if !wxUSE_MSGDLG
1607 # ifdef wxABORT_ON_CONFIG_ERROR
1608 /* FIXME: should compile without it, of course, but doesn't */
1609 # error "wxMessageBox is always needed"
1610 # else
1611 # undef wxUSE_MSGDLG
1612 # define wxUSE_MSGDLG 1
1613 # endif
1614 #endif
1615
1616 #if wxUSE_RADIOBOX
1617 # if !wxUSE_RADIOBTN
1618 # ifdef wxABORT_ON_CONFIG_ERROR
1619 # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN"
1620 # else
1621 # undef wxUSE_RADIOBTN
1622 # define wxUSE_RADIOBTN 1
1623 # endif
1624 # endif
1625 # if !wxUSE_STATBOX && !defined(__WXPALMOS__)
1626 # ifdef wxABORT_ON_CONFIG_ERROR
1627 # error "wxUSE_RADIOBOX requires wxUSE_STATBOX"
1628 # else
1629 # undef wxUSE_STATBOX
1630 # define wxUSE_STATBOX 1
1631 # endif
1632 # endif
1633 #endif /* wxUSE_RADIOBOX */
1634
1635 #if wxUSE_LOGWINDOW
1636 # if !wxUSE_TEXTCTRL
1637 # ifdef wxABORT_ON_CONFIG_ERROR
1638 # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1639 # else
1640 # undef wxUSE_TEXTCTRL
1641 # define wxUSE_TEXTCTRL 1
1642 # endif
1643 # endif
1644 #endif /* wxUSE_LOGWINDOW */
1645
1646 #if wxUSE_LOG_DIALOG
1647 # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
1648 # ifdef wxABORT_ON_CONFIG_ERROR
1649 # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
1650 # else
1651 # undef wxUSE_LISTCTRL
1652 # define wxUSE_LISTCTRL 1
1653 # undef wxUSE_BUTTON
1654 # define wxUSE_BUTTON 1
1655 # endif
1656 # endif
1657 #endif /* wxUSE_LOG_DIALOG */
1658
1659 #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1660 # ifdef wxABORT_ON_CONFIG_ERROR
1661 # error "wxClipboard requires wxDataObject"
1662 # else
1663 # undef wxUSE_DATAOBJ
1664 # define wxUSE_DATAOBJ 1
1665 # endif
1666 #endif /* wxUSE_CLIPBOARD */
1667
1668 #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1669 # ifdef wxABORT_ON_CONFIG_ERROR
1670 # error "wxr resources require PrologIO"
1671 # else
1672 # undef wxUSE_PROLOGIO
1673 # define wxUSE_PROLOGIO 1
1674 # endif
1675 #endif /* wxUSE_WX_RESOURCES */
1676
1677 #if wxUSE_XRC && !wxUSE_XML
1678 # ifdef wxABORT_ON_CONFIG_ERROR
1679 # error "wxUSE_XRC requires wxUSE_XML"
1680 # else
1681 # undef wxUSE_XRC
1682 # define wxUSE_XRC 0
1683 # endif
1684 #endif /* wxUSE_XRC */
1685
1686 #if wxUSE_SOCKETS && !wxUSE_STOPWATCH
1687 # ifdef wxABORT_ON_CONFIG_ERROR
1688 # error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
1689 # else
1690 # undef wxUSE_SOCKETS
1691 # define wxUSE_SOCKETS 0
1692 # endif
1693 #endif /* wxUSE_SOCKETS */
1694
1695 #endif /* wxUSE_GUI */
1696