]> git.saurik.com Git - wxWidgets.git/blame - include/wx/chkconf.h
Fixed preview navigation as per ancient bug report
[wxWidgets.git] / include / wx / chkconf.h
CommitLineData
1e6feb95
VZ
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@wxwindows.org>
371a5b4e 9 * Licence: wxWindows licence
1e6feb95
VZ
10 */
11
12/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
13
01ebf752
JS
14/*
15 Compiler-specific checking.
16 */
17
18#if defined(__WXMSW__)
19# include "wx/msw/chkconf.h"
20#elif defined(__WXMAC__)
21# include "wx/mac/chkconf.h"
22#endif
23
1e6feb95 24/*
730dfeb4 25 this global setting determines what should we do if the setting FOO
1e6feb95
VZ
26 requires BAR and BAR is not set: we can either silently define BAR
27 (default, recommended) or give an error and abort (mainly useful for
730dfeb4 28 developers only)
1e6feb95
VZ
29 */
30#define wxABORT_ON_CONFIG_ERROR
31
6962f34e
VZ
32/*
33 global features
34 */
35
36/* GUI build by default */
37#if !defined(wxUSE_GUI)
38# define wxUSE_GUI 1
39#endif /* !defined(wxUSE_GUI) */
40
41/* wxBase doesn't need compatibility settings as it's a new port */
42#if !wxUSE_GUI
43# undef WXWIN_COMPATIBILITY
44# undef WXWIN_COMPATIBILITY_2
45# undef WXWIN_COMPATIBILITY_2_2
46# define WXWIN_COMPATIBILITY 0
47# define WXWIN_COMPATIBILITY_2 0
48# define WXWIN_COMPATIBILITY_2_2 0
49#endif /* !wxUSE_GUI */
03169422 50
1e6feb95 51/*
03169422
RL
52 tests for non GUI features
53 */
54
55#ifndef wxUSE_DYNLIB_CLASS
56# ifdef wxABORT_ON_CONFIG_ERROR
57# error "wxUSE_DYNLIB_CLASS must be defined."
58# else
59# define wxUSE_DYNLIB_CLASS 0
60# endif
61#endif /* !defined(wxUSE_DYNLIB_CLASS) */
62
c7f3eecc
VZ
63#ifndef wxUSE_FILESYSTEM
64# ifdef wxABORT_ON_CONFIG_ERROR
65# error "wxUSE_FILESYSTEM must be defined."
66# else
67# define wxUSE_FILESYSTEM 0
68# endif
69#endif /* !defined(wxUSE_FILESYSTEM) */
70
6fb17fd5 71/* don't give an error about this one yet, it's not fully implemented */
05815ab3 72#ifndef wxUSE_FSVOLUME
6fb17fd5 73# define wxUSE_FSVOLUME 0
05815ab3
VZ
74#endif /* !defined(wxUSE_FSVOLUME) */
75
03169422
RL
76#ifndef wxUSE_DYNAMIC_LOADER
77# ifdef wxABORT_ON_CONFIG_ERROR
78# error "wxUSE_DYNAMIC_LOADER must be defined."
79# else
80# define wxUSE_DYNAMIC_LOADER 0
81# endif
82#endif /* !defined(wxUSE_DYNAMIC_LOADER) */
83
a5d46b73
VZ
84#ifndef wxUSE_LOG
85# ifdef wxABORT_ON_CONFIG_ERROR
86# error "wxUSE_LOG must be defined."
87# else
88# define wxUSE_LOG 0
89# endif
90#endif /* !defined(wxUSE_LOG) */
91
92#ifndef wxUSE_LONGLONG
93# ifdef wxABORT_ON_CONFIG_ERROR
94# error "wxUSE_LONGLONG must be defined."
95# else
96# define wxUSE_LONGLONG 0
97# endif
98#endif /* !defined(wxUSE_LONGLONG) */
99
100#ifndef wxUSE_MIMETYPE
101# ifdef wxABORT_ON_CONFIG_ERROR
102# error "wxUSE_MIMETYPE must be defined."
103# else
104# define wxUSE_MIMETYPE 0
105# endif
106#endif /* !defined(wxUSE_MIMETYPE) */
107
108#ifndef wxUSE_PROTOCOL
109# ifdef wxABORT_ON_CONFIG_ERROR
110# error "wxUSE_PROTOCOL must be defined."
111# else
112# define wxUSE_PROTOCOL 0
113# endif
114#endif /* !defined(wxUSE_PROTOCOL) */
115
116/* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
117#if !wxUSE_PROTOCOL
118# undef wxUSE_PROTOCOL_HTTP
119# undef wxUSE_PROTOCOL_FTP
120# undef wxUSE_PROTOCOL_FILE
121# define wxUSE_PROTOCOL_HTTP 0
122# define wxUSE_PROTOCOL_FTP 0
123# define wxUSE_PROTOCOL_FILE 0
124#endif /* wxUSE_PROTOCOL */
125
126#ifndef wxUSE_PROTOCOL_HTTP
127# ifdef wxABORT_ON_CONFIG_ERROR
128# error "wxUSE_PROTOCOL_HTTP must be defined."
129# else
130# define wxUSE_PROTOCOL_HTTP 0
131# endif
132#endif /* !defined(wxUSE_PROTOCOL_HTTP) */
133
134#ifndef wxUSE_PROTOCOL_FTP
135# ifdef wxABORT_ON_CONFIG_ERROR
136# error "wxUSE_PROTOCOL_FTP must be defined."
137# else
138# define wxUSE_PROTOCOL_FTP 0
139# endif
140#endif /* !defined(wxUSE_PROTOCOL_FTP) */
141
142#ifndef wxUSE_PROTOCOL_FILE
143# ifdef wxABORT_ON_CONFIG_ERROR
144# error "wxUSE_PROTOCOL_FILE must be defined."
145# else
146# define wxUSE_PROTOCOL_FILE 0
147# endif
148#endif /* !defined(wxUSE_PROTOCOL_FILE) */
149
150#ifndef wxUSE_REGEX
151# ifdef wxABORT_ON_CONFIG_ERROR
152# error "wxUSE_REGEX must be defined."
153# else
154# define wxUSE_REGEX 0
155# endif
156#endif /* !defined(wxUSE_REGEX) */
157
27b0c286
VS
158#ifndef wxUSE_XML
159# ifdef wxABORT_ON_CONFIG_ERROR
160# error "wxUSE_XML must be defined."
161# else
162# define wxUSE_XML 0
163# endif
164#endif /* !defined(wxUSE_XML) */
165
a5d46b73
VZ
166#ifndef wxUSE_SOCKETS
167# ifdef wxABORT_ON_CONFIG_ERROR
168# error "wxUSE_SOCKETS must be defined."
169# else
170# define wxUSE_SOCKETS 0
171# endif
172#endif /* !defined(wxUSE_SOCKETS) */
173
174#ifndef wxUSE_STREAMS
175# ifdef wxABORT_ON_CONFIG_ERROR
176# error "wxUSE_STREAMS must be defined."
177# else
178# define wxUSE_STREAMS 0
179# endif
180#endif /* !defined(wxUSE_STREAMS) */
181
182#ifndef wxUSE_STOPWATCH
183# ifdef wxABORT_ON_CONFIG_ERROR
184# error "wxUSE_STOPWATCH must be defined."
185# else
186# define wxUSE_STOPWATCH 0
187# endif
188#endif /* !defined(wxUSE_STOPWATCH) */
189
190#ifndef wxUSE_TEXTBUFFER
191# ifdef wxABORT_ON_CONFIG_ERROR
192# error "wxUSE_TEXTBUFFER must be defined."
193# else
194# define wxUSE_TEXTBUFFER 0
195# endif
196#endif /* !defined(wxUSE_TEXTBUFFER) */
197
198#ifndef wxUSE_TEXTFILE
199# ifdef wxABORT_ON_CONFIG_ERROR
200# error "wxUSE_TEXTFILE must be defined."
201# else
202# define wxUSE_TEXTFILE 0
203# endif
204#endif /* !defined(wxUSE_TEXTFILE) */
205
206#ifndef wxUSE_UNICODE
207# ifdef wxABORT_ON_CONFIG_ERROR
208# error "wxUSE_UNICODE must be defined."
209# else
210# define wxUSE_UNICODE 0
211# endif
212#endif /* !defined(wxUSE_UNICODE) */
213
214#ifndef wxUSE_URL
215# ifdef wxABORT_ON_CONFIG_ERROR
216# error "wxUSE_URL must be defined."
217# else
218# define wxUSE_URL 0
219# endif
220#endif /* !defined(wxUSE_URL) */
221
03169422
RL
222/*
223 all these tests are for GUI only
1e6feb95
VZ
224 */
225#if wxUSE_GUI
226
227/*
228 all of the settings tested below must be defined or we'd get an error from
229 preprocessor about invalid integer expression
230 */
231
232#ifndef wxUSE_ACCEL
233# ifdef wxABORT_ON_CONFIG_ERROR
234# error "wxUSE_ACCEL must be defined."
235# else
236# define wxUSE_ACCEL 0
237# endif
238#endif /* !defined(wxUSE_ACCEL) */
239
240#ifndef wxUSE_BMPBUTTON
241# ifdef wxABORT_ON_CONFIG_ERROR
242# error "wxUSE_BMPBUTTON must be defined."
243# else
244# define wxUSE_BMPBUTTON 0
245# endif
246#endif /* !defined(wxUSE_BMPBUTTON) */
247
248#ifndef wxUSE_BUTTON
249# ifdef wxABORT_ON_CONFIG_ERROR
250# error "wxUSE_BUTTON must be defined."
251# else
252# define wxUSE_BUTTON 0
253# endif
254#endif /* !defined(wxUSE_BUTTON) */
255
256#ifndef wxUSE_CALENDARCTRL
257# ifdef wxABORT_ON_CONFIG_ERROR
258# error "wxUSE_CALENDARCTRL must be defined."
259# else
260# define wxUSE_CALENDARCTRL 0
261# endif
262#endif /* !defined(wxUSE_CALENDARCTRL) */
263
264#ifndef wxUSE_CARET
265# ifdef wxABORT_ON_CONFIG_ERROR
266# error "wxUSE_CARET must be defined."
267# else
268# define wxUSE_CARET 0
269# endif
270#endif /* !defined(wxUSE_CARET) */
271
272#ifndef wxUSE_CHECKBOX
273# ifdef wxABORT_ON_CONFIG_ERROR
274# error "wxUSE_CHECKBOX must be defined."
275# else
276# define wxUSE_CHECKBOX 0
277# endif
278#endif /* !defined(wxUSE_CHECKBOX) */
279
280#ifndef wxUSE_CHECKLISTBOX
281# ifdef wxABORT_ON_CONFIG_ERROR
282# error "wxUSE_CHECKLISTBOX must be defined."
283# else
284# define wxUSE_CHECKLISTBOX 0
285# endif
286#endif /* !defined(wxUSE_CHECKLISTBOX) */
287
288#ifndef wxUSE_CHOICE
289# ifdef wxABORT_ON_CONFIG_ERROR
290# error "wxUSE_CHOICE must be defined."
291# else
292# define wxUSE_CHOICE 0
293# endif
294#endif /* !defined(wxUSE_CHOICE) */
295
3379ed37
VZ
296#ifndef wxUSE_CHOICEDLG
297# ifdef wxABORT_ON_CONFIG_ERROR
298# error "wxUSE_CHOICEDLG must be defined."
299# else
300# define wxUSE_CHOICEDLG 0
301# endif
302#endif /* !defined(wxUSE_CHOICEDLG) */
303
1e6feb95
VZ
304#ifndef wxUSE_CLIPBOARD
305# ifdef wxABORT_ON_CONFIG_ERROR
306# error "wxUSE_CLIPBOARD must be defined."
307# else
308# define wxUSE_CLIPBOARD 0
309# endif
310#endif /* !defined(wxUSE_CLIPBOARD) */
311
a2c0a9c5
VZ
312#ifndef wxUSE_COLOURDLG
313# ifdef wxABORT_ON_CONFIG_ERROR
314# error "wxUSE_COLOURDLG must be defined."
315# else
316# define wxUSE_COLOURDLG 0
317# endif
318#endif /* !defined(wxUSE_COLOURDLG) */
319
1e6feb95
VZ
320#ifndef wxUSE_COMBOBOX
321# ifdef wxABORT_ON_CONFIG_ERROR
322# error "wxUSE_COMBOBOX must be defined."
323# else
324# define wxUSE_COMBOBOX 0
325# endif
326#endif /* !defined(wxUSE_COMBOBOX) */
327
328#ifndef wxUSE_DATAOBJ
329# ifdef wxABORT_ON_CONFIG_ERROR
330# error "wxUSE_DATAOBJ must be defined."
331# else
332# define wxUSE_DATAOBJ 0
333# endif
334#endif /* !defined(wxUSE_DATAOBJ) */
335
3379ed37
VZ
336#ifndef wxUSE_DOC_VIEW_ARCHITECTURE
337# ifdef wxABORT_ON_CONFIG_ERROR
338# error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
339# else
340# define wxUSE_DOC_VIEW_ARCHITECTURE 0
341# endif
342#endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
343
1e6feb95
VZ
344#ifndef wxUSE_FILEDLG
345# ifdef wxABORT_ON_CONFIG_ERROR
346# error "wxUSE_FILEDLG must be defined."
347# else
348# define wxUSE_FILEDLG 0
349# endif
350#endif /* !defined(wxUSE_FILEDLG) */
351
352#ifndef wxUSE_FONTDLG
353# ifdef wxABORT_ON_CONFIG_ERROR
354# error "wxUSE_FONTDLG must be defined."
355# else
356# define wxUSE_FONTDLG 0
357# endif
358#endif /* !defined(wxUSE_FONTDLG) */
359
360#ifndef wxUSE_FONTMAP
361# ifdef wxABORT_ON_CONFIG_ERROR
362# error "wxUSE_FONTMAP must be defined."
363# else
364# define wxUSE_FONTMAP 0
365# endif
366#endif /* !defined(wxUSE_FONTMAP) */
367
368#ifndef wxUSE_GAUGE
369# ifdef wxABORT_ON_CONFIG_ERROR
370# error "wxUSE_GAUGE must be defined."
371# else
372# define wxUSE_GAUGE 0
373# endif
374#endif /* !defined(wxUSE_GAUGE) */
375
376#ifndef wxUSE_GRID
377# ifdef wxABORT_ON_CONFIG_ERROR
378# error "wxUSE_GRID must be defined."
379# else
380# define wxUSE_GRID 0
381# endif
382#endif /* !defined(wxUSE_GRID) */
383
3379ed37
VZ
384#ifndef wxUSE_HELP
385# ifdef wxABORT_ON_CONFIG_ERROR
386# error "wxUSE_HELP must be defined."
387# else
388# define wxUSE_HELP 0
389# endif
390#endif /* !defined(wxUSE_HELP) */
391
05dcbb8e
VZ
392#ifndef wxUSE_HTML
393# ifdef wxABORT_ON_CONFIG_ERROR
394# error "wxUSE_HTML must be defined."
395# else
396# define wxUSE_HTML 0
397# endif
398#endif /* !defined(wxUSE_HTML) */
399
658974ae
VS
400#ifndef wxUSE_ICO_CUR
401# ifdef wxABORT_ON_CONFIG_ERROR
402# error "wxUSE_ICO_CUR must be defined."
403# else
404# define wxUSE_ICO_CUR 0
405# endif
406#endif /* !defined(wxUSE_ICO_CUR) */
407
1663afc0
VS
408#ifndef wxUSE_IFF
409# ifdef wxABORT_ON_CONFIG_ERROR
410# error "wxUSE_IFF must be defined."
411# else
412# define wxUSE_IFF 0
413# endif
414#endif /* !defined(wxUSE_IFF) */
415
1e6feb95
VZ
416#ifndef wxUSE_IMAGLIST
417# ifdef wxABORT_ON_CONFIG_ERROR
418# error "wxUSE_IMAGLIST must be defined."
419# else
420# define wxUSE_IMAGLIST 0
421# endif
422#endif /* !defined(wxUSE_IMAGLIST) */
423
2131b89d
VZ
424#ifndef wxUSE_JOYSTICK
425# ifdef wxABORT_ON_CONFIG_ERROR
426# error "wxUSE_JOYSTICK must be defined."
427# else
428# define wxUSE_JOYSTICK 0
429# endif
430#endif /* !defined(wxUSE_JOYSTICK) */
431
1e6feb95
VZ
432#ifndef wxUSE_LISTBOX
433# ifdef wxABORT_ON_CONFIG_ERROR
434# error "wxUSE_LISTBOX must be defined."
435# else
436# define wxUSE_LISTBOX 0
437# endif
438#endif /* !defined(wxUSE_LISTBOX) */
439
440#ifndef wxUSE_LISTCTRL
441# ifdef wxABORT_ON_CONFIG_ERROR
442# error "wxUSE_LISTCTRL must be defined."
443# else
444# define wxUSE_LISTCTRL 0
445# endif
446#endif /* !defined(wxUSE_LISTCTRL) */
447
3379ed37
VZ
448#ifndef wxUSE_LOGGUI
449# ifdef wxABORT_ON_CONFIG_ERROR
450# error "wxUSE_LOGGUI must be defined."
451# else
452# define wxUSE_LOGGUI 0
453# endif
454#endif /* !defined(wxUSE_LOGGUI) */
455
456#ifndef wxUSE_LOGWINDOW
457# ifdef wxABORT_ON_CONFIG_ERROR
458# error "wxUSE_LOGWINDOW must be defined."
459# else
460# define wxUSE_LOGWINDOW 0
461# endif
462#endif /* !defined(wxUSE_LOGWINDOW) */
e421922f 463
3e6e2754
JS
464#ifndef wxUSE_LOG_DIALOG
465# ifdef wxABORT_ON_CONFIG_ERROR
466# error "wxUSE_LOG_DIALOG must be defined."
467# else
468# define wxUSE_LOG_DIALOG 0
469# endif
71908213 470#endif /* !defined(wxUSE_LOG_DIALOG) */
3e6e2754 471
1e6feb95
VZ
472#ifndef wxUSE_MDI_ARCHITECTURE
473# ifdef wxABORT_ON_CONFIG_ERROR
474# error "wxUSE_MDI_ARCHITECTURE must be defined."
475# else
476# define wxUSE_MDI_ARCHITECTURE 0
477# endif
478#endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
479
480#ifndef wxUSE_MENUS
481# ifdef wxABORT_ON_CONFIG_ERROR
482# error "wxUSE_MENUS must be defined."
483# else
484# define wxUSE_MENUS 0
485# endif
486#endif /* !defined(wxUSE_MENUS) */
487
3379ed37
VZ
488#ifndef wxUSE_MSGDLG
489# ifdef wxABORT_ON_CONFIG_ERROR
490# error "wxUSE_MSGDLG must be defined."
491# else
492# define wxUSE_MSGDLG 0
493# endif
494#endif /* !defined(wxUSE_MSGDLG) */
495
1e6feb95
VZ
496#ifndef wxUSE_NOTEBOOK
497# ifdef wxABORT_ON_CONFIG_ERROR
498# error "wxUSE_NOTEBOOK must be defined."
499# else
500# define wxUSE_NOTEBOOK 0
501# endif
502#endif /* !defined(wxUSE_NOTEBOOK) */
503
d275c7eb
VZ
504#ifndef wxUSE_PALETTE
505# ifdef wxABORT_ON_CONFIG_ERROR
506# error "wxUSE_PALETTE must be defined."
507# else
508# define wxUSE_PALETTE 0
509# endif
510#endif /* !defined(wxUSE_PALETTE) */
511
1e6feb95
VZ
512#ifndef wxUSE_POPUPWIN
513# ifdef wxABORT_ON_CONFIG_ERROR
514# error "wxUSE_POPUPWIN must be defined."
515# else
516# define wxUSE_POPUPWIN 0
517# endif
518#endif /* !defined(wxUSE_POPUPWIN) */
519
3379ed37
VZ
520#ifndef wxUSE_PRINTING_ARCHITECTURE
521# ifdef wxABORT_ON_CONFIG_ERROR
522# error "wxUSE_PRINTING_ARCHITECTURE must be defined."
523# else
524# define wxUSE_PRINTING_ARCHITECTURE 0
525# endif
526#endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
527
1e6feb95
VZ
528#ifndef wxUSE_RADIOBOX
529# ifdef wxABORT_ON_CONFIG_ERROR
530# error "wxUSE_RADIOBOX must be defined."
531# else
532# define wxUSE_RADIOBOX 0
533# endif
534#endif /* !defined(wxUSE_RADIOBOX) */
535
536#ifndef wxUSE_RADIOBTN
537# ifdef wxABORT_ON_CONFIG_ERROR
538# error "wxUSE_RADIOBTN must be defined."
539# else
540# define wxUSE_RADIOBTN 0
541# endif
542#endif /* !defined(wxUSE_RADIOBTN) */
543
544#ifndef wxUSE_SASH
545# ifdef wxABORT_ON_CONFIG_ERROR
546# error "wxUSE_SASH must be defined."
547# else
548# define wxUSE_SASH 0
549# endif
550#endif /* !defined(wxUSE_SASH) */
551
552#ifndef wxUSE_SCROLLBAR
553# ifdef wxABORT_ON_CONFIG_ERROR
554# error "wxUSE_SCROLLBAR must be defined."
555# else
556# define wxUSE_SCROLLBAR 0
557# endif
558#endif /* !defined(wxUSE_SCROLLBAR) */
559
560#ifndef wxUSE_SLIDER
561# ifdef wxABORT_ON_CONFIG_ERROR
562# error "wxUSE_SLIDER must be defined."
563# else
564# define wxUSE_SLIDER 0
565# endif
566#endif /* !defined(wxUSE_SLIDER) */
567
568#ifndef wxUSE_SPINBTN
569# ifdef wxABORT_ON_CONFIG_ERROR
570# error "wxUSE_SPINBTN must be defined."
571# else
572# define wxUSE_SPINBTN 0
573# endif
574#endif /* !defined(wxUSE_SPINBTN) */
575
576#ifndef wxUSE_SPINCTRL
577# ifdef wxABORT_ON_CONFIG_ERROR
578# error "wxUSE_SPINCTRL must be defined."
579# else
580# define wxUSE_SPINCTRL 0
581# endif
582#endif /* !defined(wxUSE_SPINCTRL) */
583
2654a046
MB
584#ifndef wxUSE_SPLASH
585# ifdef wxABORT_ON_CONFIG_ERROR
586# error "wxUSE_SPLASH must be defined."
587# else
588# define wxUSE_SPLASH 0
589# endif
590#endif /* !defined(wxUSE_SPLASH) */
591
1e6feb95
VZ
592#ifndef wxUSE_SPLITTER
593# ifdef wxABORT_ON_CONFIG_ERROR
594# error "wxUSE_SPLITTER must be defined."
595# else
596# define wxUSE_SPLITTER 0
597# endif
598#endif /* !defined(wxUSE_SPLITTER) */
599
600#ifndef wxUSE_STATBMP
601# ifdef wxABORT_ON_CONFIG_ERROR
602# error "wxUSE_STATBMP must be defined."
603# else
604# define wxUSE_STATBMP 0
605# endif
606#endif /* !defined(wxUSE_STATBMP) */
607
608#ifndef wxUSE_STATBOX
609# ifdef wxABORT_ON_CONFIG_ERROR
610# error "wxUSE_STATBOX must be defined."
611# else
612# define wxUSE_STATBOX 0
613# endif
614#endif /* !defined(wxUSE_STATBOX) */
615
616#ifndef wxUSE_STATLINE
617# ifdef wxABORT_ON_CONFIG_ERROR
618# error "wxUSE_STATLINE must be defined."
619# else
620# define wxUSE_STATLINE 0
621# endif
622#endif /* !defined(wxUSE_STATLINE) */
623
3379ed37
VZ
624#ifndef wxUSE_STATTEXT
625# ifdef wxABORT_ON_CONFIG_ERROR
626# error "wxUSE_STATTEXT must be defined."
627# else
628# define wxUSE_STATTEXT 0
629# endif
630#endif /* !defined(wxUSE_STATTEXT) */
631
1e6feb95
VZ
632#ifndef wxUSE_STATUSBAR
633# ifdef wxABORT_ON_CONFIG_ERROR
634# error "wxUSE_STATUSBAR must be defined."
635# else
636# define wxUSE_STATUSBAR 0
637# endif
638#endif /* !defined(wxUSE_STATUSBAR) */
639
1e6feb95
VZ
640#ifndef wxUSE_TAB_DIALOG
641# ifdef wxABORT_ON_CONFIG_ERROR
642# error "wxUSE_TAB_DIALOG must be defined."
643# else
644# define wxUSE_TAB_DIALOG 0
645# endif
646#endif /* !defined(wxUSE_TAB_DIALOG) */
647
648#ifndef wxUSE_TEXTCTRL
649# ifdef wxABORT_ON_CONFIG_ERROR
650# error "wxUSE_TEXTCTRL must be defined."
651# else
652# define wxUSE_TEXTCTRL 0
653# endif
654#endif /* !defined(wxUSE_TEXTCTRL) */
655
f38bcae5
VZ
656#ifndef wxUSE_TIPWINDOW
657# ifdef wxABORT_ON_CONFIG_ERROR
658# error "wxUSE_TIPWINDOW must be defined."
659# else
660# define wxUSE_TIPWINDOW 0
661# endif
662#endif /* !defined(wxUSE_TIPWINDOW) */
663
1e6feb95
VZ
664#ifndef wxUSE_TOOLBAR
665# ifdef wxABORT_ON_CONFIG_ERROR
666# error "wxUSE_TOOLBAR must be defined."
667# else
668# define wxUSE_TOOLBAR 0
669# endif
670#endif /* !defined(wxUSE_TOOLBAR) */
671
672#ifndef wxUSE_TOOLTIPS
673# ifdef wxABORT_ON_CONFIG_ERROR
674# error "wxUSE_TOOLTIPS must be defined."
675# else
676# define wxUSE_TOOLTIPS 0
677# endif
678#endif /* !defined(wxUSE_TOOLTIPS) */
679
680#ifndef wxUSE_TREECTRL
681# ifdef wxABORT_ON_CONFIG_ERROR
682# error "wxUSE_TREECTRL must be defined."
683# else
684# define wxUSE_TREECTRL 0
685# endif
686#endif /* !defined(wxUSE_TREECTRL) */
687
12491c1f
JS
688#ifndef wxUSE_DISPLAY
689# ifdef wxABORT_ON_CONFIG_ERROR
690# error "wxUSE_DISPLAY must be defined."
691# else
692# define wxUSE_DISPLAY 0
693# endif
694#endif /* !defined(wxUSE_TREECTRL) */
695
3379ed37
VZ
696#ifndef wxUSE_WXHTML_HELP
697# ifdef wxABORT_ON_CONFIG_ERROR
698# error "wxUSE_WXHTML_HELP must be defined."
699# else
700# define wxUSE_WXHTML_HELP 0
701# endif
702#endif /* !defined(wxUSE_WXHTML_HELP) */
703
a5d46b73 704#endif /* wxUSE_GUI */
c4d596ea 705
1e6feb95
VZ
706/*
707 check consistency of the settings
708 */
a5d46b73
VZ
709
710#if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
711# if !wxUSE_PROTOCOL
712# ifdef wxABORT_ON_CONFIG_ERROR
713# error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
714# else
715# undef wxUSE_PROTOCOL
716# define wxUSE_PROTOCOL 1
717# endif
718# endif
719#endif /* wxUSE_PROTOCOL_XXX */
720
721#if wxUSE_URL
722# if !wxUSE_PROTOCOL
723# ifdef wxABORT_ON_CONFIG_ERROR
724# error "wxUSE_URL requires wxUSE_PROTOCOL"
725# else
726# undef wxUSE_PROTOCOL
727# define wxUSE_PROTOCOL 1
728# endif
729# endif
730#endif /* wxUSE_URL */
731
732#if wxUSE_PROTOCOL
733# if !wxUSE_SOCKETS
734# if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
735# ifdef wxABORT_ON_CONFIG_ERROR
736# error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
737# else
738# undef wxUSE_SOCKETS
739# define wxUSE_SOCKETS 1
740# endif
741# endif
742# endif
743
744# if !wxUSE_STREAMS
745# ifdef wxABORT_ON_CONFIG_ERROR
746# error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
747# else
748# undef wxUSE_STREAMS
749# define wxUSE_STREAMS 1
750# endif
751# endif
752#endif /* wxUSE_PROTOCOL */
753
c7f3eecc
VZ
754/* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
755#if wxUSE_HTML
756# if !wxUSE_FILESYSTEM
757# ifdef wxABORT_ON_CONFIG_ERROR
758# error "wxHTML requires wxFileSystem"
759# else
760# undef wxUSE_FILESYSTEM
761# define wxUSE_FILESYSTEM 1
762# endif
763# endif
764#endif /* wxUSE_HTML */
765
766#if wxUSE_FILESYSTEM
767# if !wxUSE_STREAMS
768# ifdef wxABORT_ON_CONFIG_ERROR
769# error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
770# else
771# undef wxUSE_STREAMS
772# define wxUSE_STREAMS 1
773# endif
774# endif
775#endif /* wxUSE_FILESYSTEM */
776
ce73e654
VS
777#if wxUSE_FS_INET
778# if !wxUSE_PROTOCOL
779# ifdef wxABORT_ON_CONFIG_ERROR
780# error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
781# else
782# undef wxUSE_PROTOCOL
783# define wxUSE_PROTOCOL 1
784# endif
785# endif
786#endif /* wxUSE_FS_INET */
787
c7f3eecc 788#if wxUSE_STOPWATCH || wxUSE_DATETIME
a5d46b73
VZ
789# if !wxUSE_LONGLONG
790# ifdef wxABORT_ON_CONFIG_ERROR
c7f3eecc 791# error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
a5d46b73
VZ
792# else
793# undef wxUSE_LONGLONG
794# define wxUSE_LONGLONG 1
795# endif
796# endif
797#endif /* wxUSE_STOPWATCH */
798
799#if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
800# ifdef wxABORT_ON_CONFIG_ERROR
801# error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
802# else
803# undef wxUSE_TEXTFILE
804# define wxUSE_TEXTFILE 1
805# endif
806#endif /* wxUSE_MIMETYPE */
807
808#if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
809# ifdef wxABORT_ON_CONFIG_ERROR
810# error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
811# else
812# undef wxUSE_TEXTBUFFER
813# define wxUSE_TEXTBUFFER 1
814# endif
815#endif /* wxUSE_TEXTFILE */
816
817#if wxUSE_TEXTFILE && !wxUSE_FILE
818# ifdef wxABORT_ON_CONFIG_ERROR
819# error "wxUSE_TEXTFILE requires wxUSE_FILE"
820# else
821# undef wxUSE_FILE
822# define wxUSE_FILE 1
823# endif
824#endif /* wxUSE_TEXTFILE */
825
826#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
827# ifdef wxABORT_ON_CONFIG_ERROR
828# error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
829# else
830# undef wxUSE_UNICODE
831# define wxUSE_UNICODE 1
832# endif
833#endif /* wxUSE_UNICODE_MSLU */
834
4ccf704a
VZ
835#if wxUSE_ODBC && wxUSE_UNICODE
836# ifdef wxABORT_ON_CONFIG_ERROR
837 /* (ODBC classes aren't Unicode-compatible yet) */
838# error "wxUSE_ODBC can't be used with wxUSE_UNICODE"
839# else
840# undef wxUSE_ODBC
841# define wxUSE_ODBC 0
842# endif
843#endif /* wxUSE_ODBC */
844
a5d46b73
VZ
845/* the rest of the tests is for the GUI settings only */
846#if wxUSE_GUI
847
1e6feb95
VZ
848#if wxUSE_BUTTON || \
849 wxUSE_CALENDARCTRL || \
850 wxUSE_CARET || \
851 wxUSE_COMBOBOX || \
852 wxUSE_BMPBUTTON || \
853 wxUSE_CHECKBOX || \
854 wxUSE_CHECKLISTBOX || \
855 wxUSE_CHOICE || \
856 wxUSE_GAUGE || \
857 wxUSE_GRID || \
1e6feb95
VZ
858 wxUSE_LISTBOX || \
859 wxUSE_LISTCTRL || \
860 wxUSE_NOTEBOOK || \
861 wxUSE_RADIOBOX || \
862 wxUSE_RADIOBTN || \
863 wxUSE_SCROLLBAR || \
864 wxUSE_SLIDER || \
865 wxUSE_SPINBTN || \
866 wxUSE_SPINCTRL || \
867 wxUSE_STATBMP || \
868 wxUSE_STATBOX || \
869 wxUSE_STATLINE || \
3379ed37 870 wxUSE_STATTEXT || \
1e6feb95
VZ
871 wxUSE_STATUSBAR || \
872 wxUSE_TEXTCTRL || \
873 wxUSE_TOOLBAR || \
874 wxUSE_TREECTRL
875# if !wxUSE_CONTROLS
876# ifdef wxABORT_ON_CONFIG_ERROR
877# error "wxUSE_CONTROLS unset but some controls used"
878# else
879# undef wxUSE_CONTROLS
880# define wxUSE_CONTROLS 1
881# endif
882# endif
883#endif /* controls */
884
3379ed37
VZ
885/* wxUniv-specific dependencies */
886#if defined(__WXUNIVERSAL__)
887# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
888# ifdef wxABORT_ON_CONFIG_ERROR
889# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
890# else
891# undef wxUSE_POPUPWIN
892# define wxUSE_POPUPWIN 1
893# endif
894# endif
895
896# if wxUSE_COMBOBOX
897# if !wxUSE_LISTBOX
898# ifdef wxABORT_ON_CONFIG_ERROR
899# error "wxComboBox requires wxListBox in wxUniversal"
900# else
901# undef wxUSE_LISTBOX
902# define wxUSE_LISTBOX 1
903# endif
904# endif
905# endif /* wxUSE_COMBOBOX */
906
907# if wxUSE_RADIOBTN
908# if !wxUSE_CHECKBOX
909# ifdef wxABORT_ON_CONFIG_ERROR
910# error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
911# else
912# undef wxUSE_CHECKBOX
913# define wxUSE_CHECKBOX 1
914# endif
915# endif
916# endif /* wxUSE_RADIOBTN */
917
918# if wxUSE_TEXTCTRL
919# if !wxUSE_CARET
920# ifdef wxABORT_ON_CONFIG_ERROR
921# error "wxTextCtrl requires wxCaret in wxUniversal"
922# else
923# undef wxUSE_CARET
924# define wxUSE_CARET 1
925# endif
926# endif /* wxUSE_CARET */
927
928# if !wxUSE_SCROLLBAR
929# ifdef wxABORT_ON_CONFIG_ERROR
930# error "wxTextCtrl requires wxScrollBar in wxUniversal"
931# else
932# undef wxUSE_SCROLLBAR
933# define wxUSE_SCROLLBAR 1
934# endif
935# endif /* wxUSE_SCROLLBAR */
936# endif /* wxUSE_TEXTCTRL */
937#endif /* __WXUNIVERSAL__ */
938
939/* wxGTK-specific dependencies */
2131b89d
VZ
940#ifdef __WXGTK__
941# ifndef __WXUNIVERSAL__
942# if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
943# ifdef wxABORT_ON_CONFIG_ERROR
944# error "MDI requires wxUSE_MENUS in wxGTK"
945# else
946# undef wxUSE_MENUS
947# define wxUSE_MENUS 1
948# endif
949# endif
950# endif /* !__WXUNIVERSAL__ */
951
952# if wxUSE_JOYSTICK
953# if !wxUSE_THREADS
954# ifdef wxABORT_ON_CONFIG_ERROR
955# error "wxJoystick requires threads in wxGTK"
956# else
957# undef wxUSE_JOYSTICK
958# define wxUSE_JOYSTICK 0
959# endif
3379ed37
VZ
960# endif
961# endif
962#endif /* wxGTK && !wxUniv */
963
03169422
RL
964/* wxMSW-specific dependencies */
965#ifdef __WXMSW__
966# ifndef wxUSE_UNICODE_MSLU
967# ifdef wxABORT_ON_CONFIG_ERROR
968# error "wxUSE_UNICODE_MSLU must be defined."
969# else
970# define wxUSE_UNICODE_MSLU 0
971# endif
972# endif /* wxUSE_UNICODE_MSLU */
973# ifndef wxUSE_MS_HTML_HELP
974# ifdef wxABORT_ON_CONFIG_ERROR
975# error "wxUSE_MS_HTML_HELP must be defined."
976# else
977# define wxUSE_MS_HTML_HELP 0
978# endif
979# endif /* !defined(wxUSE_MS_HTML_HELP) */
980# ifndef wxUSE_DIALUP_MANAGER
981# ifdef wxABORT_ON_CONFIG_ERROR
982# error "wxUSE_DIALUP_MANAGER must be defined."
983# else
984# define wxUSE_DIALUP_MANAGER 0
985# endif
986# endif /* !defined(wxUSE_DIALUP_MANAGER) */
987
19f478fd 988# if !wxUSE_DYNAMIC_LOADER
03169422
RL
989# if wxUSE_MS_HTML_HELP
990# ifdef wxABORT_ON_CONFIG_ERROR
991# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
992# else
993# define wxUSE_DYNAMIC_LOADER 1
994# endif
995# endif
996# if wxUSE_DIALUP_MANAGER
997# ifdef wxABORT_ON_CONFIG_ERROR
998# error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
999# else
1000# define wxUSE_DYNAMIC_LOADER 1
1001# endif
1002# endif
1003# endif /* wxUSE_DYNAMIC_LOADER */
1004#endif /* wxMSW */
1005
c4e41ce3
SC
1006/* wxMAC-specific dependencies */
1007#ifdef __WXMAC__
1008# if wxUSE_UNICODE
1009# if !TARGET_CARBON
1010# ifdef wxABORT_ON_CONFIG_ERROR
1011# error "wxUSE_UNICODE is only supported for Carbon Targets."
1012# else
1013# define wxUSE_UNICODE 0
1014# endif
1015# endif
1016# endif
1017#endif /* wxMAC */
9806a47c
JS
1018/* wxMotif-specific dependencies */
1019#if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1020# undef wxUSE_TAB_DIALOG
1021# define wxUSE_TAB_DIALOG 1
1022#endif
9806a47c 1023
bfc4a1c1
VS
1024/* wxMGL-specific dependencies */
1025#ifdef __WXMGL__
1026# if !wxUSE_PALETTE
1027# error "wxMGL requires wxUSE_PALETTE=1"
1028# endif
1029#endif /* wxMGL */
1030
b92203a8
VZ
1031// Hopefully we can emulate these dialogs in due course
1032#if wxUSE_SMARTPHONE
1033# ifdef wxUSE_COLOURDLG
1034# undef wxUSE_COLOURDLG
1035# define wxUSE_COLOURDLG 0
1036# endif
1037#endif /* wxUSE_SMARTPHONE */
1038
1039
3379ed37
VZ
1040/* generic controls dependencies */
1041#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1042# if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1043 /* all common controls are needed by these dialogs */
1044# if !defined(wxUSE_CHOICE) || \
1045 !defined(wxUSE_TEXTCTRL) || \
1046 !defined(wxUSE_BUTTON) || \
1047 !defined(wxUSE_CHECKBOX) || \
1048 !defined(wxUSE_STATTEXT)
1049# ifdef wxABORT_ON_CONFIG_ERROR
1050# error "These common controls are needed by common dialogs"
1051# else
1052# undef wxUSE_CHOICE
1053# define wxUSE_CHOICE 1
1054# undef wxUSE_TEXTCTRL
1055# define wxUSE_TEXTCTRL 1
1056# undef wxUSE_BUTTON
1057# define wxUSE_BUTTON 1
1058# undef wxUSE_CHECKBOX
1059# define wxUSE_CHECKBOX 1
1060# undef wxUSE_STATTEXT
1061# define wxUSE_STATTEXT 1
1062# endif
1063# endif
1064# endif
1065#endif /* !wxMSW || wxUniv */
1066
1067/* common dependencies */
1e6feb95
VZ
1068#if wxUSE_CALENDARCTRL
1069# if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1070# ifdef wxABORT_ON_CONFIG_ERROR
1071# error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1072# else
1073# undef wxUSE_SPINBTN
1074# undef wxUSE_COMBOBOX
1075# define wxUSE_SPINBTN 1
1076# define wxUSE_COMBOBOX 1
1077# endif
1078# endif
e2b87f38
VZ
1079
1080# if !wxUSE_DATETIME
1081# ifdef wxABORT_ON_CONFIG_ERROR
1082# error "wxCalendarCtrl requires wxUSE_DATETIME"
1083# else
1084# undef wxUSE_DATETIME
1085# define wxUSE_DATETIME 1
1086# endif
1087# endif
1e6feb95
VZ
1088#endif /* wxUSE_CALENDARCTRL */
1089
1090#if wxUSE_CHECKLISTBOX
1091# if !wxUSE_LISTBOX
1092# ifdef wxABORT_ON_CONFIG_ERROR
1093# error "wxCheckListBox requires wxListBox"
1094# else
1095# undef wxUSE_LISTBOX
1096# define wxUSE_LISTBOX 1
1097# endif
1098# endif
1099#endif /* wxUSE_RADIOBTN */
1100
3379ed37 1101#if wxUSE_WXHTML_HELP
730dfeb4 1102# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
3379ed37
VZ
1103# ifdef wxABORT_ON_CONFIG_ERROR
1104# error "Built in help controller can't be compiled"
1105# else
1106# undef wxUSE_HELP
1107# define wxUSE_HELP 1
1108# undef wxUSE_HTML
1109# define wxUSE_HTML 1
1110# undef wxUSE_COMBOBOX
1111# define wxUSE_COMBOBOX 1
730dfeb4
VS
1112# undef wxUSE_NOTEBOOK
1113# define wxUSE_NOTEBOOK 1
3379ed37
VZ
1114# endif
1115# endif
1116#endif /* wxUSE_WXHTML_HELP */
1117
e30285ab
VZ
1118#if wxUSE_DOC_VIEW_ARCHITECTURE
1119# if !wxUSE_MENUS
1120# ifdef wxABORT_ON_CONFIG_ERROR
1121# error "DocView requires wxUSE_MENUS"
1122# else
1123# undef wxUSE_MENUS
1124# define wxUSE_MENUS 1
1125# endif
1126# endif
1127
1128# if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1129# ifdef wxABORT_ON_CONFIG_ERROR
1130# error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1131# else
1132# undef wxUSE_STREAMS
1133# define wxUSE_STREAMS 1
1134# endif
1135# endif
1136#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1137
3379ed37
VZ
1138#if wxUSE_PRINTING_ARCHITECTURE
1139# if !wxUSE_COMBOBOX
1140# ifdef wxABORT_ON_CONFIG_ERROR
1141# error "Print dialog requires wxUSE_COMBOBOX"
1142# else
1143# undef wxUSE_COMBOBOX
1144# define wxUSE_COMBOBOX 1
1145# endif
1146# endif
e30285ab
VZ
1147
1148# if !wxUSE_DOC_VIEW_ARCHITECTURE
1149# ifdef wxABORT_ON_CONFIG_ERROR
1150# error "Print architecture requires wxUSE_DOC_VIEW_ARCHITECTURE"
1151# else
1152# undef wxUSE_DOC_VIEW_ARCHITECTURE
1153# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1154# endif
1155# endif
3379ed37
VZ
1156#endif /* wxUSE_PRINTING_ARCHITECTURE */
1157
e30285ab
VZ
1158#if wxUSE_MDI_ARCHITECTURE
1159# if !wxUSE_DOC_VIEW_ARCHITECTURE
1e6feb95 1160# ifdef wxABORT_ON_CONFIG_ERROR
e30285ab 1161# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1e6feb95 1162# else
e30285ab
VZ
1163# undef wxUSE_DOC_VIEW_ARCHITECTURE
1164# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1e6feb95
VZ
1165# endif
1166# endif
e30285ab 1167#endif /* wxUSE_MDI_ARCHITECTURE */
1e6feb95
VZ
1168
1169#if !wxUSE_FILEDLG
2119e280 1170# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1e6feb95
VZ
1171# ifdef wxABORT_ON_CONFIG_ERROR
1172# error "wxFileDialog must be compiled as well"
1173# else
1174# undef wxUSE_FILEDLG
1175# define wxUSE_FILEDLG 1
1176# endif
1177# endif
e421922f 1178#endif /* wxUSE_FILEDLG */
1e6feb95 1179
12491c1f
JS
1180#if !wxUSE_TOOLBAR
1181# if wxUSE_TOOLBAR_NATIVE
1182# ifdef wxABORT_ON_CONFIG_ERROR
1183# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1184# else
1185# undef wxUSE_TOOLBAR_NATIVE
1186# define wxUSE_TOOLBAR_NATIVE 0
1187# endif
1188# endif
1189
1190# if wxUSE_TOOLBAR_SIMPLE
1191# ifdef wxABORT_ON_CONFIG_ERROR
1192# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1193# else
1194# undef wxUSE_TOOLBAR_SIMPLE
1195# define wxUSE_TOOLBAR_SIMPLE 0
1196# endif
1197# endif
1198#endif
1199
1e6feb95
VZ
1200#if !wxUSE_IMAGLIST
1201# if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1202# ifdef wxABORT_ON_CONFIG_ERROR
1203# error "wxImageList must be compiled as well"
1204# else
1205# undef wxUSE_IMAGLIST
1206# define wxUSE_IMAGLIST 1
1207# endif
1208# endif
1209#endif /* !wxUSE_IMAGLIST */
1210
e421922f
VZ
1211#if !wxUSE_MSGDLG
1212# ifdef wxABORT_ON_CONFIG_ERROR
1213 /* FIXME: should compile without it, of course, but doesn't */
1214# error "wxMessageBox is always needed"
1215# else
1216# undef wxUSE_MSGDLG
1217# define wxUSE_MSGDLG 1
1218# endif
1219#endif
1220
1e6feb95
VZ
1221#if wxUSE_RADIOBOX
1222# if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1223# ifdef wxABORT_ON_CONFIG_ERROR
1224# error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1225# else
1226# undef wxUSE_RADIOBTN
1227# undef wxUSE_STATBOX
1228# define wxUSE_RADIOBTN 1
1229# define wxUSE_STATBOX 1
1230# endif
1231# endif
1232#endif /* wxUSE_RADIOBOX */
1233
3379ed37
VZ
1234#if wxUSE_LOGWINDOW
1235# if !wxUSE_TEXTCTRL
1236# ifdef wxABORT_ON_CONFIG_ERROR
1237# error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1238# else
1239# undef wxUSE_TEXTCTRL
1240# define wxUSE_TEXTCTRL 1
1241# endif
1242# endif
1243#endif /* wxUSE_LOGWINDOW */
1e6feb95 1244
3e6e2754
JS
1245#if wxUSE_LOG_DIALOG
1246# if !wxUSE_LISTCTRL
1247# ifdef wxABORT_ON_CONFIG_ERROR
1248# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL"
1249# else
1250# undef wxUSE_LISTCTRL
1251# define wxUSE_LISTCTRL 1
1252# endif
1253# endif
1254#endif /* wxUSE_LOG_DIALOG */
1255
1e6feb95
VZ
1256/* I wonder if we shouldn't just remove all occurrences of
1257 wxUSE_DYNAMIC_CLASSES from the sources? */
1258#if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
3379ed37 1259# ifdef wxABORT_ON_CONFIG_ERROR
1e6feb95
VZ
1260# error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1261# else
1262# undef wxUSE_DYNAMIC_CLASSES
03169422 1263# define wxUSE_DYNAMIC_CLASSES 1
1e6feb95
VZ
1264# endif
1265#endif /* wxUSE_DYNAMIC_CLASSES */
1266
1e6feb95 1267#if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
3379ed37 1268# ifdef wxABORT_ON_CONFIG_ERROR
1e6feb95
VZ
1269# error "wxClipboard requires wxDataObject"
1270# else
1271# undef wxUSE_DATAOBJ
1272# define wxUSE_DATAOBJ 1
1273# endif
1274#endif /* wxUSE_CLIPBOARD */
1275
2b5f62a0
VZ
1276#if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1277# ifdef wxABORT_ON_CONFIG_ERROR
1278# error "wxr resources require PrologIO"
1279# else
1280# undef wxUSE_PROLOGIO
1281# define wxUSE_PROLOGIO 1
1282# endif
1283#endif /* wxUSE_WX_RESOURCES */
1284
1e6feb95
VZ
1285#endif /* wxUSE_GUI */
1286