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