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