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