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