]> git.saurik.com Git - wxWidgets.git/blame - include/wx/chkconf.h
added and documented wxDYNLIB_FUNCTION
[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
7f799744
VS
845#if wxUSE_XML && !wxUSE_WCHAR_T
846# ifdef wxABORT_ON_CONFIG_ERROR
847# error "wxUSE_XML requires wxUSE_WCHAR_T"
848# else
849# undef wxUSE_XML
850# define wxUSE_XML 0
851# endif
852#endif /* wxUSE_UNICODE_MSLU */
853
1948bb32
VS
854#if !wxUSE_DYNLIB_CLASS
855# if wxUSE_DYNAMIC_LOADER
856# ifdef wxABORT_ON_CONFIG_ERROR
857# error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
858# else
859# define wxUSE_DYNLIB_CLASS 1
860# endif
861# endif
862#endif /* wxUSE_DYNLIB_CLASS */
863
a5d46b73
VZ
864/* the rest of the tests is for the GUI settings only */
865#if wxUSE_GUI
866
1e6feb95
VZ
867#if wxUSE_BUTTON || \
868 wxUSE_CALENDARCTRL || \
869 wxUSE_CARET || \
870 wxUSE_COMBOBOX || \
871 wxUSE_BMPBUTTON || \
872 wxUSE_CHECKBOX || \
873 wxUSE_CHECKLISTBOX || \
874 wxUSE_CHOICE || \
875 wxUSE_GAUGE || \
876 wxUSE_GRID || \
1e6feb95
VZ
877 wxUSE_LISTBOX || \
878 wxUSE_LISTCTRL || \
879 wxUSE_NOTEBOOK || \
880 wxUSE_RADIOBOX || \
881 wxUSE_RADIOBTN || \
882 wxUSE_SCROLLBAR || \
883 wxUSE_SLIDER || \
884 wxUSE_SPINBTN || \
885 wxUSE_SPINCTRL || \
886 wxUSE_STATBMP || \
887 wxUSE_STATBOX || \
888 wxUSE_STATLINE || \
3379ed37 889 wxUSE_STATTEXT || \
1e6feb95
VZ
890 wxUSE_STATUSBAR || \
891 wxUSE_TEXTCTRL || \
892 wxUSE_TOOLBAR || \
893 wxUSE_TREECTRL
894# if !wxUSE_CONTROLS
895# ifdef wxABORT_ON_CONFIG_ERROR
896# error "wxUSE_CONTROLS unset but some controls used"
897# else
898# undef wxUSE_CONTROLS
899# define wxUSE_CONTROLS 1
900# endif
901# endif
902#endif /* controls */
903
3379ed37
VZ
904/* wxUniv-specific dependencies */
905#if defined(__WXUNIVERSAL__)
906# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
907# ifdef wxABORT_ON_CONFIG_ERROR
908# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
909# else
910# undef wxUSE_POPUPWIN
911# define wxUSE_POPUPWIN 1
912# endif
913# endif
914
915# if wxUSE_COMBOBOX
916# if !wxUSE_LISTBOX
917# ifdef wxABORT_ON_CONFIG_ERROR
918# error "wxComboBox requires wxListBox in wxUniversal"
919# else
920# undef wxUSE_LISTBOX
921# define wxUSE_LISTBOX 1
922# endif
923# endif
924# endif /* wxUSE_COMBOBOX */
925
926# if wxUSE_RADIOBTN
927# if !wxUSE_CHECKBOX
928# ifdef wxABORT_ON_CONFIG_ERROR
929# error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
930# else
931# undef wxUSE_CHECKBOX
932# define wxUSE_CHECKBOX 1
933# endif
934# endif
935# endif /* wxUSE_RADIOBTN */
936
937# if wxUSE_TEXTCTRL
938# if !wxUSE_CARET
939# ifdef wxABORT_ON_CONFIG_ERROR
940# error "wxTextCtrl requires wxCaret in wxUniversal"
941# else
942# undef wxUSE_CARET
943# define wxUSE_CARET 1
944# endif
945# endif /* wxUSE_CARET */
946
947# if !wxUSE_SCROLLBAR
948# ifdef wxABORT_ON_CONFIG_ERROR
949# error "wxTextCtrl requires wxScrollBar in wxUniversal"
950# else
951# undef wxUSE_SCROLLBAR
952# define wxUSE_SCROLLBAR 1
953# endif
954# endif /* wxUSE_SCROLLBAR */
955# endif /* wxUSE_TEXTCTRL */
956#endif /* __WXUNIVERSAL__ */
957
958/* wxGTK-specific dependencies */
2131b89d
VZ
959#ifdef __WXGTK__
960# ifndef __WXUNIVERSAL__
961# if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
962# ifdef wxABORT_ON_CONFIG_ERROR
963# error "MDI requires wxUSE_MENUS in wxGTK"
964# else
965# undef wxUSE_MENUS
966# define wxUSE_MENUS 1
967# endif
968# endif
969# endif /* !__WXUNIVERSAL__ */
970
971# if wxUSE_JOYSTICK
972# if !wxUSE_THREADS
973# ifdef wxABORT_ON_CONFIG_ERROR
974# error "wxJoystick requires threads in wxGTK"
975# else
976# undef wxUSE_JOYSTICK
977# define wxUSE_JOYSTICK 0
978# endif
3379ed37
VZ
979# endif
980# endif
981#endif /* wxGTK && !wxUniv */
982
03169422
RL
983/* wxMSW-specific dependencies */
984#ifdef __WXMSW__
985# ifndef wxUSE_UNICODE_MSLU
986# ifdef wxABORT_ON_CONFIG_ERROR
987# error "wxUSE_UNICODE_MSLU must be defined."
988# else
989# define wxUSE_UNICODE_MSLU 0
990# endif
991# endif /* wxUSE_UNICODE_MSLU */
9c7f7573
VS
992# ifndef wxUSE_UXTHEME
993# ifdef wxABORT_ON_CONFIG_ERROR
994# error "wxUSE_UXTHEME must be defined."
995# else
996# define wxUSE_UXTHEME 0
997# endif
998# endif /* wxUSE_UXTHEME */
999# ifndef wxUSE_UXTHEME_AUTO
1000# ifdef wxABORT_ON_CONFIG_ERROR
1001# error "wxUSE_UXTHEME_AUTO must be defined."
1002# else
1003# define wxUSE_UXTHEME_AUTO 0
1004# endif
1005# endif /* wxUSE_UXTHEME_AUTO */
03169422
RL
1006# ifndef wxUSE_MS_HTML_HELP
1007# ifdef wxABORT_ON_CONFIG_ERROR
1008# error "wxUSE_MS_HTML_HELP must be defined."
1009# else
1010# define wxUSE_MS_HTML_HELP 0
1011# endif
1012# endif /* !defined(wxUSE_MS_HTML_HELP) */
1013# ifndef wxUSE_DIALUP_MANAGER
1014# ifdef wxABORT_ON_CONFIG_ERROR
1015# error "wxUSE_DIALUP_MANAGER must be defined."
1016# else
1017# define wxUSE_DIALUP_MANAGER 0
1018# endif
1019# endif /* !defined(wxUSE_DIALUP_MANAGER) */
1020
19f478fd 1021# if !wxUSE_DYNAMIC_LOADER
03169422
RL
1022# if wxUSE_MS_HTML_HELP
1023# ifdef wxABORT_ON_CONFIG_ERROR
1024# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1025# else
1026# define wxUSE_DYNAMIC_LOADER 1
1027# endif
1028# endif
1029# if wxUSE_DIALUP_MANAGER
1030# ifdef wxABORT_ON_CONFIG_ERROR
1031# error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1032# else
1033# define wxUSE_DYNAMIC_LOADER 1
1034# endif
1035# endif
1036# endif /* wxUSE_DYNAMIC_LOADER */
1037#endif /* wxMSW */
1038
c4e41ce3
SC
1039/* wxMAC-specific dependencies */
1040#ifdef __WXMAC__
1041# if wxUSE_UNICODE
1042# if !TARGET_CARBON
1043# ifdef wxABORT_ON_CONFIG_ERROR
1044# error "wxUSE_UNICODE is only supported for Carbon Targets."
1045# else
1046# define wxUSE_UNICODE 0
1047# endif
1048# endif
1049# endif
1050#endif /* wxMAC */
9806a47c
JS
1051/* wxMotif-specific dependencies */
1052#if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1053# undef wxUSE_TAB_DIALOG
1054# define wxUSE_TAB_DIALOG 1
1055#endif
9806a47c 1056
bfc4a1c1
VS
1057/* wxMGL-specific dependencies */
1058#ifdef __WXMGL__
1059# if !wxUSE_PALETTE
1060# error "wxMGL requires wxUSE_PALETTE=1"
1061# endif
1062#endif /* wxMGL */
1063
b92203a8
VZ
1064// Hopefully we can emulate these dialogs in due course
1065#if wxUSE_SMARTPHONE
1066# ifdef wxUSE_COLOURDLG
1067# undef wxUSE_COLOURDLG
1068# define wxUSE_COLOURDLG 0
1069# endif
1070#endif /* wxUSE_SMARTPHONE */
1071
1072
3379ed37
VZ
1073/* generic controls dependencies */
1074#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1075# if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1076 /* all common controls are needed by these dialogs */
1077# if !defined(wxUSE_CHOICE) || \
1078 !defined(wxUSE_TEXTCTRL) || \
1079 !defined(wxUSE_BUTTON) || \
1080 !defined(wxUSE_CHECKBOX) || \
1081 !defined(wxUSE_STATTEXT)
1082# ifdef wxABORT_ON_CONFIG_ERROR
1083# error "These common controls are needed by common dialogs"
1084# else
1085# undef wxUSE_CHOICE
1086# define wxUSE_CHOICE 1
1087# undef wxUSE_TEXTCTRL
1088# define wxUSE_TEXTCTRL 1
1089# undef wxUSE_BUTTON
1090# define wxUSE_BUTTON 1
1091# undef wxUSE_CHECKBOX
1092# define wxUSE_CHECKBOX 1
1093# undef wxUSE_STATTEXT
1094# define wxUSE_STATTEXT 1
1095# endif
1096# endif
1097# endif
1098#endif /* !wxMSW || wxUniv */
1099
1100/* common dependencies */
1e6feb95
VZ
1101#if wxUSE_CALENDARCTRL
1102# if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1103# ifdef wxABORT_ON_CONFIG_ERROR
1104# error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1105# else
1106# undef wxUSE_SPINBTN
1107# undef wxUSE_COMBOBOX
1108# define wxUSE_SPINBTN 1
1109# define wxUSE_COMBOBOX 1
1110# endif
1111# endif
e2b87f38
VZ
1112
1113# if !wxUSE_DATETIME
1114# ifdef wxABORT_ON_CONFIG_ERROR
1115# error "wxCalendarCtrl requires wxUSE_DATETIME"
1116# else
1117# undef wxUSE_DATETIME
1118# define wxUSE_DATETIME 1
1119# endif
1120# endif
1e6feb95
VZ
1121#endif /* wxUSE_CALENDARCTRL */
1122
1123#if wxUSE_CHECKLISTBOX
1124# if !wxUSE_LISTBOX
1125# ifdef wxABORT_ON_CONFIG_ERROR
1126# error "wxCheckListBox requires wxListBox"
1127# else
1128# undef wxUSE_LISTBOX
1129# define wxUSE_LISTBOX 1
1130# endif
1131# endif
1132#endif /* wxUSE_RADIOBTN */
1133
3379ed37 1134#if wxUSE_WXHTML_HELP
730dfeb4 1135# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
3379ed37
VZ
1136# ifdef wxABORT_ON_CONFIG_ERROR
1137# error "Built in help controller can't be compiled"
1138# else
1139# undef wxUSE_HELP
1140# define wxUSE_HELP 1
1141# undef wxUSE_HTML
1142# define wxUSE_HTML 1
1143# undef wxUSE_COMBOBOX
1144# define wxUSE_COMBOBOX 1
730dfeb4
VS
1145# undef wxUSE_NOTEBOOK
1146# define wxUSE_NOTEBOOK 1
3379ed37
VZ
1147# endif
1148# endif
1149#endif /* wxUSE_WXHTML_HELP */
1150
e30285ab
VZ
1151#if wxUSE_DOC_VIEW_ARCHITECTURE
1152# if !wxUSE_MENUS
1153# ifdef wxABORT_ON_CONFIG_ERROR
1154# error "DocView requires wxUSE_MENUS"
1155# else
1156# undef wxUSE_MENUS
1157# define wxUSE_MENUS 1
1158# endif
1159# endif
1160
1161# if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1162# ifdef wxABORT_ON_CONFIG_ERROR
1163# error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1164# else
1165# undef wxUSE_STREAMS
1166# define wxUSE_STREAMS 1
1167# endif
1168# endif
1169#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1170
3379ed37
VZ
1171#if wxUSE_PRINTING_ARCHITECTURE
1172# if !wxUSE_COMBOBOX
1173# ifdef wxABORT_ON_CONFIG_ERROR
1174# error "Print dialog requires wxUSE_COMBOBOX"
1175# else
1176# undef wxUSE_COMBOBOX
1177# define wxUSE_COMBOBOX 1
1178# endif
1179# endif
e30285ab
VZ
1180
1181# if !wxUSE_DOC_VIEW_ARCHITECTURE
1182# ifdef wxABORT_ON_CONFIG_ERROR
1183# error "Print architecture requires wxUSE_DOC_VIEW_ARCHITECTURE"
1184# else
1185# undef wxUSE_DOC_VIEW_ARCHITECTURE
1186# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1187# endif
1188# endif
3379ed37
VZ
1189#endif /* wxUSE_PRINTING_ARCHITECTURE */
1190
e30285ab
VZ
1191#if wxUSE_MDI_ARCHITECTURE
1192# if !wxUSE_DOC_VIEW_ARCHITECTURE
1e6feb95 1193# ifdef wxABORT_ON_CONFIG_ERROR
e30285ab 1194# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1e6feb95 1195# else
e30285ab
VZ
1196# undef wxUSE_DOC_VIEW_ARCHITECTURE
1197# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1e6feb95
VZ
1198# endif
1199# endif
e30285ab 1200#endif /* wxUSE_MDI_ARCHITECTURE */
1e6feb95
VZ
1201
1202#if !wxUSE_FILEDLG
2119e280 1203# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1e6feb95
VZ
1204# ifdef wxABORT_ON_CONFIG_ERROR
1205# error "wxFileDialog must be compiled as well"
1206# else
1207# undef wxUSE_FILEDLG
1208# define wxUSE_FILEDLG 1
1209# endif
1210# endif
e421922f 1211#endif /* wxUSE_FILEDLG */
1e6feb95 1212
12491c1f
JS
1213#if !wxUSE_TOOLBAR
1214# if wxUSE_TOOLBAR_NATIVE
1215# ifdef wxABORT_ON_CONFIG_ERROR
1216# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1217# else
1218# undef wxUSE_TOOLBAR_NATIVE
1219# define wxUSE_TOOLBAR_NATIVE 0
1220# endif
1221# endif
1222
1223# if wxUSE_TOOLBAR_SIMPLE
1224# ifdef wxABORT_ON_CONFIG_ERROR
1225# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1226# else
1227# undef wxUSE_TOOLBAR_SIMPLE
1228# define wxUSE_TOOLBAR_SIMPLE 0
1229# endif
1230# endif
1231#endif
1232
1e6feb95
VZ
1233#if !wxUSE_IMAGLIST
1234# if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1235# ifdef wxABORT_ON_CONFIG_ERROR
1236# error "wxImageList must be compiled as well"
1237# else
1238# undef wxUSE_IMAGLIST
1239# define wxUSE_IMAGLIST 1
1240# endif
1241# endif
1242#endif /* !wxUSE_IMAGLIST */
1243
e421922f
VZ
1244#if !wxUSE_MSGDLG
1245# ifdef wxABORT_ON_CONFIG_ERROR
1246 /* FIXME: should compile without it, of course, but doesn't */
1247# error "wxMessageBox is always needed"
1248# else
1249# undef wxUSE_MSGDLG
1250# define wxUSE_MSGDLG 1
1251# endif
1252#endif
1253
1e6feb95
VZ
1254#if wxUSE_RADIOBOX
1255# if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1256# ifdef wxABORT_ON_CONFIG_ERROR
1257# error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1258# else
1259# undef wxUSE_RADIOBTN
1260# undef wxUSE_STATBOX
1261# define wxUSE_RADIOBTN 1
1262# define wxUSE_STATBOX 1
1263# endif
1264# endif
1265#endif /* wxUSE_RADIOBOX */
1266
3379ed37
VZ
1267#if wxUSE_LOGWINDOW
1268# if !wxUSE_TEXTCTRL
1269# ifdef wxABORT_ON_CONFIG_ERROR
1270# error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1271# else
1272# undef wxUSE_TEXTCTRL
1273# define wxUSE_TEXTCTRL 1
1274# endif
1275# endif
1276#endif /* wxUSE_LOGWINDOW */
1e6feb95 1277
3e6e2754
JS
1278#if wxUSE_LOG_DIALOG
1279# if !wxUSE_LISTCTRL
1280# ifdef wxABORT_ON_CONFIG_ERROR
1281# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL"
1282# else
1283# undef wxUSE_LISTCTRL
1284# define wxUSE_LISTCTRL 1
1285# endif
1286# endif
1287#endif /* wxUSE_LOG_DIALOG */
1288
1e6feb95
VZ
1289/* I wonder if we shouldn't just remove all occurrences of
1290 wxUSE_DYNAMIC_CLASSES from the sources? */
1291#if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
3379ed37 1292# ifdef wxABORT_ON_CONFIG_ERROR
1e6feb95
VZ
1293# error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1294# else
1295# undef wxUSE_DYNAMIC_CLASSES
03169422 1296# define wxUSE_DYNAMIC_CLASSES 1
1e6feb95
VZ
1297# endif
1298#endif /* wxUSE_DYNAMIC_CLASSES */
1299
1e6feb95 1300#if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
3379ed37 1301# ifdef wxABORT_ON_CONFIG_ERROR
1e6feb95
VZ
1302# error "wxClipboard requires wxDataObject"
1303# else
1304# undef wxUSE_DATAOBJ
1305# define wxUSE_DATAOBJ 1
1306# endif
1307#endif /* wxUSE_CLIPBOARD */
1308
2b5f62a0
VZ
1309#if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1310# ifdef wxABORT_ON_CONFIG_ERROR
1311# error "wxr resources require PrologIO"
1312# else
1313# undef wxUSE_PROLOGIO
1314# define wxUSE_PROLOGIO 1
1315# endif
1316#endif /* wxUSE_WX_RESOURCES */
1317
1e6feb95
VZ
1318#endif /* wxUSE_GUI */
1319