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