]> git.saurik.com Git - wxWidgets.git/blame - include/wx/chkconf.h
Helpers in disabling warnings for unused params.
[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
7f799744
VS
955#if wxUSE_XML && !wxUSE_WCHAR_T
956# ifdef wxABORT_ON_CONFIG_ERROR
957# error "wxUSE_XML requires wxUSE_WCHAR_T"
958# else
959# undef wxUSE_XML
960# define wxUSE_XML 0
961# endif
36a22fa3 962#endif /* wxUSE_XML */
7f799744 963
1948bb32
VS
964#if !wxUSE_DYNLIB_CLASS
965# if wxUSE_DYNAMIC_LOADER
966# ifdef wxABORT_ON_CONFIG_ERROR
967# error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
968# else
969# define wxUSE_DYNLIB_CLASS 1
970# endif
971# endif
972#endif /* wxUSE_DYNLIB_CLASS */
973
81f90336
MW
974#if wxUSE_ZIPSTREAM
975# if !wxUSE_ZLIB
976# ifdef wxABORT_ON_CONFIG_ERROR
977# error "wxZip requires wxZlib"
978# else
979# undef wxUSE_ZLIB
980# define wxUSE_ZLIB 1
981# endif
982# endif
9e8e867f 983# if !wxUSE_ARCHIVE_STREAMS
81f90336
MW
984# ifdef wxABORT_ON_CONFIG_ERROR
985# error "wxZip requires wxArchive"
986# else
9e8e867f
MW
987# undef wxUSE_ARCHIVE_STREAMS
988# define wxUSE_ARCHIVE_STREAMS 1
81f90336
MW
989# endif
990# endif
991#endif /* wxUSE_ZIPSTREAM */
992
a5d46b73
VZ
993/* the rest of the tests is for the GUI settings only */
994#if wxUSE_GUI
995
1e6feb95
VZ
996#if wxUSE_BUTTON || \
997 wxUSE_CALENDARCTRL || \
998 wxUSE_CARET || \
999 wxUSE_COMBOBOX || \
1000 wxUSE_BMPBUTTON || \
1001 wxUSE_CHECKBOX || \
1002 wxUSE_CHECKLISTBOX || \
1003 wxUSE_CHOICE || \
1004 wxUSE_GAUGE || \
1005 wxUSE_GRID || \
1e6feb95
VZ
1006 wxUSE_LISTBOX || \
1007 wxUSE_LISTCTRL || \
1008 wxUSE_NOTEBOOK || \
1009 wxUSE_RADIOBOX || \
1010 wxUSE_RADIOBTN || \
1011 wxUSE_SCROLLBAR || \
1012 wxUSE_SLIDER || \
1013 wxUSE_SPINBTN || \
1014 wxUSE_SPINCTRL || \
1015 wxUSE_STATBMP || \
1016 wxUSE_STATBOX || \
1017 wxUSE_STATLINE || \
3379ed37 1018 wxUSE_STATTEXT || \
1e6feb95
VZ
1019 wxUSE_STATUSBAR || \
1020 wxUSE_TEXTCTRL || \
1021 wxUSE_TOOLBAR || \
1022 wxUSE_TREECTRL
1023# if !wxUSE_CONTROLS
1024# ifdef wxABORT_ON_CONFIG_ERROR
1025# error "wxUSE_CONTROLS unset but some controls used"
1026# else
1027# undef wxUSE_CONTROLS
1028# define wxUSE_CONTROLS 1
1029# endif
1030# endif
1031#endif /* controls */
1032
0b4f47a3
DS
1033#if wxUSE_BMPBUTTON
1034# if !wxUSE_BUTTON
1035# ifdef wxABORT_ON_CONFIG_ERROR
1036# error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
1037# else
1038# undef wxUSE_BUTTON
1039# define wxUSE_BUTTON 1
1040# endif
1041# endif
1042#endif /* wxUSE_BMPBUTTON */
1043
f5e0b4bc 1044#if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
15aad3b9
VZ
1045# if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
1046# ifdef wxABORT_ON_CONFIG_ERROR
1047# error "wxUSE_BOOKCTRL must be set."
1048# else
1049# undef wxUSE_BOOKCTRL
1050# endif
1051# endif
1052
1053# ifndef wxUSE_BOOKCTRL
1054# define wxUSE_BOOKCTRL 1
1055# endif
1056#endif /* wxUSE_NOTEBOOK */
1057
5b5e4f32
VZ
1058#if wxUSE_LISTBOOK
1059# if !wxUSE_LISTCTRL
1060# ifdef wxABORT_ON_CONFIG_ERROR
1061# error "wxListbook requires wxListCtrl"
1062# else
1063# undef wxUSE_LISTCTRL
1064# define wxUSE_LISTCTRL 1
1065# endif
1066# endif
1067#endif /* wxUSE_LISTBOOK */
1068
f5e0b4bc
WS
1069#if wxUSE_CHOICEBOOK
1070# if !wxUSE_CHOICE
1071# ifdef wxABORT_ON_CONFIG_ERROR
1072# error "wxChoicebook requires wxChoice"
1073# else
1074# undef wxUSE_CHOICE
1075# define wxUSE_CHOICE 1
1076# endif
1077# endif
1078#endif /* wxUSE_CHOICEBOOK */
1079
da4486fb
VZ
1080/* don't attempt to use native status bar on the platforms not having it */
1081#ifndef wxUSE_NATIVE_STATUSBAR
1082# define wxUSE_NATIVE_STATUSBAR 0
1083#elif wxUSE_NATIVE_STATUSBAR
b08cd3bf
WS
1084# if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \
1085 defined(__WXMAC__) || \
1086 defined(__WXPALMOS__) )
da4486fb
VZ
1087# undef wxUSE_NATIVE_STATUSBAR
1088# define wxUSE_NATIVE_STATUSBAR 0
1089# endif
1090#endif
1091
3379ed37
VZ
1092/* wxUniv-specific dependencies */
1093#if defined(__WXUNIVERSAL__)
1094# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
1095# ifdef wxABORT_ON_CONFIG_ERROR
1096# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
1097# else
1098# undef wxUSE_POPUPWIN
1099# define wxUSE_POPUPWIN 1
1100# endif
1101# endif
1102
1103# if wxUSE_COMBOBOX
1104# if !wxUSE_LISTBOX
1105# ifdef wxABORT_ON_CONFIG_ERROR
1106# error "wxComboBox requires wxListBox in wxUniversal"
1107# else
1108# undef wxUSE_LISTBOX
1109# define wxUSE_LISTBOX 1
1110# endif
1111# endif
1112# endif /* wxUSE_COMBOBOX */
1113
1114# if wxUSE_RADIOBTN
1115# if !wxUSE_CHECKBOX
1116# ifdef wxABORT_ON_CONFIG_ERROR
1117# error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
1118# else
1119# undef wxUSE_CHECKBOX
1120# define wxUSE_CHECKBOX 1
1121# endif
1122# endif
1123# endif /* wxUSE_RADIOBTN */
1124
1125# if wxUSE_TEXTCTRL
1126# if !wxUSE_CARET
1127# ifdef wxABORT_ON_CONFIG_ERROR
1128# error "wxTextCtrl requires wxCaret in wxUniversal"
1129# else
1130# undef wxUSE_CARET
1131# define wxUSE_CARET 1
1132# endif
1133# endif /* wxUSE_CARET */
1134
1135# if !wxUSE_SCROLLBAR
1136# ifdef wxABORT_ON_CONFIG_ERROR
1137# error "wxTextCtrl requires wxScrollBar in wxUniversal"
1138# else
1139# undef wxUSE_SCROLLBAR
1140# define wxUSE_SCROLLBAR 1
1141# endif
1142# endif /* wxUSE_SCROLLBAR */
1143# endif /* wxUSE_TEXTCTRL */
1144#endif /* __WXUNIVERSAL__ */
1145
1146/* wxGTK-specific dependencies */
2131b89d
VZ
1147#ifdef __WXGTK__
1148# ifndef __WXUNIVERSAL__
1149# if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
1150# ifdef wxABORT_ON_CONFIG_ERROR
1151# error "MDI requires wxUSE_MENUS in wxGTK"
1152# else
1153# undef wxUSE_MENUS
1154# define wxUSE_MENUS 1
1155# endif
1156# endif
1157# endif /* !__WXUNIVERSAL__ */
1158
1159# if wxUSE_JOYSTICK
1160# if !wxUSE_THREADS
1161# ifdef wxABORT_ON_CONFIG_ERROR
1162# error "wxJoystick requires threads in wxGTK"
1163# else
1164# undef wxUSE_JOYSTICK
1165# define wxUSE_JOYSTICK 0
1166# endif
3379ed37
VZ
1167# endif
1168# endif
1169#endif /* wxGTK && !wxUniv */
1170
03169422
RL
1171/* wxMSW-specific dependencies */
1172#ifdef __WXMSW__
1173# ifndef wxUSE_UNICODE_MSLU
1174# ifdef wxABORT_ON_CONFIG_ERROR
1175# error "wxUSE_UNICODE_MSLU must be defined."
1176# else
1177# define wxUSE_UNICODE_MSLU 0
1178# endif
1179# endif /* wxUSE_UNICODE_MSLU */
9c7f7573
VS
1180# ifndef wxUSE_UXTHEME
1181# ifdef wxABORT_ON_CONFIG_ERROR
1182# error "wxUSE_UXTHEME must be defined."
1183# else
1184# define wxUSE_UXTHEME 0
1185# endif
1186# endif /* wxUSE_UXTHEME */
1187# ifndef wxUSE_UXTHEME_AUTO
1188# ifdef wxABORT_ON_CONFIG_ERROR
1189# error "wxUSE_UXTHEME_AUTO must be defined."
1190# else
1191# define wxUSE_UXTHEME_AUTO 0
1192# endif
1193# endif /* wxUSE_UXTHEME_AUTO */
03169422
RL
1194# ifndef wxUSE_MS_HTML_HELP
1195# ifdef wxABORT_ON_CONFIG_ERROR
1196# error "wxUSE_MS_HTML_HELP must be defined."
1197# else
1198# define wxUSE_MS_HTML_HELP 0
1199# endif
1200# endif /* !defined(wxUSE_MS_HTML_HELP) */
1201# ifndef wxUSE_DIALUP_MANAGER
1202# ifdef wxABORT_ON_CONFIG_ERROR
1203# error "wxUSE_DIALUP_MANAGER must be defined."
1204# else
1205# define wxUSE_DIALUP_MANAGER 0
1206# endif
1207# endif /* !defined(wxUSE_DIALUP_MANAGER) */
1208
19f478fd 1209# if !wxUSE_DYNAMIC_LOADER
03169422
RL
1210# if wxUSE_MS_HTML_HELP
1211# ifdef wxABORT_ON_CONFIG_ERROR
1212# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
1213# else
1214# define wxUSE_DYNAMIC_LOADER 1
1215# endif
1216# endif
1217# if wxUSE_DIALUP_MANAGER
1218# ifdef wxABORT_ON_CONFIG_ERROR
1219# error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
1220# else
1221# define wxUSE_DYNAMIC_LOADER 1
1222# endif
1223# endif
1224# endif /* wxUSE_DYNAMIC_LOADER */
7efaa702 1225
03169422
RL
1226#endif /* wxMSW */
1227
bfc4a1c1
VS
1228/* wxMGL-specific dependencies */
1229#ifdef __WXMGL__
1230# if !wxUSE_PALETTE
1231# error "wxMGL requires wxUSE_PALETTE=1"
1232# endif
1233#endif /* wxMGL */
1234
67e489c5 1235/* Hopefully we can emulate these dialogs in due course */
9b141468 1236#if defined(__SMARTPHONE__) && defined(__WXWINCE__)
b92203a8
VZ
1237# ifdef wxUSE_COLOURDLG
1238# undef wxUSE_COLOURDLG
1239# define wxUSE_COLOURDLG 0
1240# endif
9b141468 1241#endif /* __SMARTPHONE__ && __WXWINCE__ */
b92203a8
VZ
1242
1243
3379ed37
VZ
1244/* generic controls dependencies */
1245#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1246# if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1247 /* all common controls are needed by these dialogs */
1248# if !defined(wxUSE_CHOICE) || \
1249 !defined(wxUSE_TEXTCTRL) || \
1250 !defined(wxUSE_BUTTON) || \
1251 !defined(wxUSE_CHECKBOX) || \
1252 !defined(wxUSE_STATTEXT)
1253# ifdef wxABORT_ON_CONFIG_ERROR
1254# error "These common controls are needed by common dialogs"
1255# else
1256# undef wxUSE_CHOICE
1257# define wxUSE_CHOICE 1
1258# undef wxUSE_TEXTCTRL
1259# define wxUSE_TEXTCTRL 1
1260# undef wxUSE_BUTTON
1261# define wxUSE_BUTTON 1
1262# undef wxUSE_CHECKBOX
1263# define wxUSE_CHECKBOX 1
1264# undef wxUSE_STATTEXT
1265# define wxUSE_STATTEXT 1
1266# endif
1267# endif
1268# endif
1269#endif /* !wxMSW || wxUniv */
1270
1271/* common dependencies */
1e6feb95
VZ
1272#if wxUSE_CALENDARCTRL
1273# if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1274# ifdef wxABORT_ON_CONFIG_ERROR
1275# error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1276# else
1277# undef wxUSE_SPINBTN
1278# undef wxUSE_COMBOBOX
1279# define wxUSE_SPINBTN 1
1280# define wxUSE_COMBOBOX 1
1281# endif
1282# endif
e2b87f38
VZ
1283
1284# if !wxUSE_DATETIME
1285# ifdef wxABORT_ON_CONFIG_ERROR
1286# error "wxCalendarCtrl requires wxUSE_DATETIME"
1287# else
1288# undef wxUSE_DATETIME
1289# define wxUSE_DATETIME 1
1290# endif
1291# endif
1e6feb95
VZ
1292#endif /* wxUSE_CALENDARCTRL */
1293
324eeecb
WS
1294#if wxUSE_DATEPICKCTRL
1295# if !wxUSE_DATETIME
1296# ifdef wxABORT_ON_CONFIG_ERROR
60bea0cf 1297# error "wxDatePickerCtrl requires wxUSE_DATETIME"
324eeecb
WS
1298# else
1299# undef wxUSE_DATETIME
1300# define wxUSE_DATETIME 1
1301# endif
1302# endif
1303#endif /* wxUSE_DATEPICKCTRL */
1304
1e6feb95
VZ
1305#if wxUSE_CHECKLISTBOX
1306# if !wxUSE_LISTBOX
1307# ifdef wxABORT_ON_CONFIG_ERROR
1308# error "wxCheckListBox requires wxListBox"
1309# else
1310# undef wxUSE_LISTBOX
1311# define wxUSE_LISTBOX 1
1312# endif
1313# endif
97e4cf6d
WS
1314#endif /* wxUSE_CHECKLISTBOX */
1315
1316#if wxUSE_CHOICEDLG
1317# if !wxUSE_LISTBOX
1318# ifdef wxABORT_ON_CONFIG_ERROR
1319# error "Choice dialogs requires wxListBox"
1320# else
1321# undef wxUSE_LISTBOX
1322# define wxUSE_LISTBOX 1
1323# endif
1324# endif
1325#endif /* wxUSE_CHOICEDLG */
1e6feb95 1326
0b4f47a3
DS
1327#if wxUSE_HELP
1328# if !wxUSE_BMPBUTTON
1329# ifdef wxABORT_ON_CONFIG_ERROR
1330# error "wxUSE_HELP requires wxUSE_BMPBUTTON"
1331# else
1332# undef wxUSE_BMPBUTTON
1333# define wxUSE_BMPBUTTON 1
1334# endif
1335# endif
adb799d6
DS
1336
1337# if !wxUSE_CHOICEDLG
1338# ifdef wxABORT_ON_CONFIG_ERROR
1339# error "wxUSE_HELP requires wxUSE_CHOICEDLG"
1340# else
1341# undef wxUSE_CHOICEDLG
1342# define wxUSE_CHOICEDLG 1
1343# endif
1344# endif
0b4f47a3
DS
1345#endif /* wxUSE_HELP */
1346
3379ed37 1347#if wxUSE_WXHTML_HELP
0e871ad0 1348# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
3379ed37
VZ
1349# ifdef wxABORT_ON_CONFIG_ERROR
1350# error "Built in help controller can't be compiled"
1351# else
1352# undef wxUSE_HELP
1353# define wxUSE_HELP 1
1354# undef wxUSE_HTML
1355# define wxUSE_HTML 1
1356# undef wxUSE_COMBOBOX
1357# define wxUSE_COMBOBOX 1
730dfeb4
VS
1358# undef wxUSE_NOTEBOOK
1359# define wxUSE_NOTEBOOK 1
0e871ad0
WS
1360# undef wxUSE_SPINCTRL
1361# define wxUSE_SPINCTRL 1
3379ed37
VZ
1362# endif
1363# endif
1364#endif /* wxUSE_WXHTML_HELP */
1365
05e4fd64
DS
1366#if !wxUSE_IMAGE
1367/*
1368 The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
1369 user explicitly wants this and disable all other features that require
1370 wxUSE_IMAGE.
1371 */
1372# if wxUSE_DRAGIMAGE
1373# ifdef wxABORT_ON_CONFIG_ERROR
1374# error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
1375# else
1376# undef wxUSE_DRAGIMAGE
1377# define wxUSE_DRAGIMAGE 0
1378# endif
1379# endif
1380
1381# if wxUSE_LIBPNG
1382# ifdef wxABORT_ON_CONFIG_ERROR
1383# error "wxUSE_LIBPNG requires wxUSE_IMAGE"
1384# else
1385# undef wxUSE_LIBPNG
1386# define wxUSE_LIBPNG 0
1387# endif
1388# endif
1389
1390# if wxUSE_LIBJPEG
1391# ifdef wxABORT_ON_CONFIG_ERROR
1392# error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
1393# else
1394# undef wxUSE_LIBJPEG
1395# define wxUSE_LIBJPEG 0
1396# endif
1397# endif
1398
1399# if wxUSE_LIBTIFF
1400# ifdef wxABORT_ON_CONFIG_ERROR
1401# error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
1402# else
1403# undef wxUSE_LIBTIFF
1404# define wxUSE_LIBTIFF 0
1405# endif
1406# endif
1407
1408# if wxUSE_GIF
1409# ifdef wxABORT_ON_CONFIG_ERROR
1410# error "wxUSE_GIF requires wxUSE_IMAGE"
1411# else
1412# undef wxUSE_GIF
1413# define wxUSE_GIF 0
1414# endif
1415# endif
1416
1417# if wxUSE_PNM
1418# ifdef wxABORT_ON_CONFIG_ERROR
1419# error "wxUSE_PNM requires wxUSE_IMAGE"
1420# else
1421# undef wxUSE_PNM
1422# define wxUSE_PNM 0
1423# endif
1424# endif
1425
1426# if wxUSE_PCX
1427# ifdef wxABORT_ON_CONFIG_ERROR
1428# error "wxUSE_PCX requires wxUSE_IMAGE"
1429# else
1430# undef wxUSE_PCX
1431# define wxUSE_PCX 0
1432# endif
1433# endif
1434
1435# if wxUSE_IFF
1436# ifdef wxABORT_ON_CONFIG_ERROR
1437# error "wxUSE_IFF requires wxUSE_IMAGE"
1438# else
1439# undef wxUSE_IFF
1440# define wxUSE_IFF 0
1441# endif
1442# endif
1443
1444# if wxUSE_TOOLBAR
1445# ifdef wxABORT_ON_CONFIG_ERROR
1446# error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
1447# else
1448# undef wxUSE_TOOLBAR
1449# define wxUSE_TOOLBAR 0
1450# endif
1451# endif
1452
1453# if wxUSE_XPM
1454# ifdef wxABORT_ON_CONFIG_ERROR
1455# error "wxUSE_XPM requires wxUSE_IMAGE"
1456# else
1457# undef wxUSE_XPM
1458# define wxUSE_XPM 0
1459# endif
1460# endif
1461
1462#endif /* !wxUSE_IMAGE */
1463
e30285ab
VZ
1464#if wxUSE_DOC_VIEW_ARCHITECTURE
1465# if !wxUSE_MENUS
1466# ifdef wxABORT_ON_CONFIG_ERROR
1467# error "DocView requires wxUSE_MENUS"
1468# else
1469# undef wxUSE_MENUS
1470# define wxUSE_MENUS 1
1471# endif
1472# endif
1473
adb799d6
DS
1474# if !wxUSE_CHOICEDLG
1475# ifdef wxABORT_ON_CONFIG_ERROR
1476# error "DocView requires wxUSE_CHOICEDLG"
1477# else
1478# undef wxUSE_CHOICEDLG
1479# define wxUSE_CHOICEDLG 1
1480# endif
1481# endif
1482
e30285ab
VZ
1483# if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1484# ifdef wxABORT_ON_CONFIG_ERROR
1485# error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1486# else
1487# undef wxUSE_STREAMS
1488# define wxUSE_STREAMS 1
1489# endif
1490# endif
1491#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1492
3379ed37
VZ
1493#if wxUSE_PRINTING_ARCHITECTURE
1494# if !wxUSE_COMBOBOX
1495# ifdef wxABORT_ON_CONFIG_ERROR
1496# error "Print dialog requires wxUSE_COMBOBOX"
1497# else
1498# undef wxUSE_COMBOBOX
1499# define wxUSE_COMBOBOX 1
1500# endif
1501# endif
1502#endif /* wxUSE_PRINTING_ARCHITECTURE */
1503
e30285ab 1504#if wxUSE_MDI_ARCHITECTURE
efd17a1d
VZ
1505# if !wxUSE_MDI
1506# ifdef wxABORT_ON_CONFIG_ERROR
1507# error "MDI requires wxUSE_MDI"
1508# else
1509# undef wxUSE_MDI
1510# define wxUSE_MDI 1
1511# endif
1512# endif
1513
e30285ab 1514# if !wxUSE_DOC_VIEW_ARCHITECTURE
1e6feb95 1515# ifdef wxABORT_ON_CONFIG_ERROR
e30285ab 1516# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1e6feb95 1517# else
e30285ab
VZ
1518# undef wxUSE_DOC_VIEW_ARCHITECTURE
1519# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1e6feb95
VZ
1520# endif
1521# endif
e30285ab 1522#endif /* wxUSE_MDI_ARCHITECTURE */
1e6feb95
VZ
1523
1524#if !wxUSE_FILEDLG
2119e280 1525# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1e6feb95
VZ
1526# ifdef wxABORT_ON_CONFIG_ERROR
1527# error "wxFileDialog must be compiled as well"
1528# else
1529# undef wxUSE_FILEDLG
1530# define wxUSE_FILEDLG 1
1531# endif
1532# endif
e421922f 1533#endif /* wxUSE_FILEDLG */
1e6feb95 1534
555f645a
WS
1535#if !wxUSE_GAUGE || !wxUSE_BUTTON
1536# if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__)
063b752e 1537# ifdef wxABORT_ON_CONFIG_ERROR
555f645a 1538# error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
063b752e
WS
1539# else
1540# undef wxUSE_GAUGE
555f645a 1541# undef wxUSE_BUTTON
063b752e 1542# define wxUSE_GAUGE 1
555f645a 1543# define wxUSE_BUTTON 1
063b752e
WS
1544# endif
1545# endif
1546#endif /* !wxUSE_GAUGE */
1547
0b4f47a3 1548#if !wxUSE_BUTTON
555f645a 1549# if wxUSE_FONTDLG || \
0b4f47a3
DS
1550 wxUSE_FILEDLG || \
1551 wxUSE_CHOICEDLG || \
1552 wxUSE_NUMBERDLG || \
1553 wxUSE_TEXTDLG || \
1554 wxUSE_DIRDLG || \
1555 wxUSE_STARTUP_TIPS || \
1556 wxUSE_WIZARDDLG
1557# ifdef wxABORT_ON_CONFIG_ERROR
1558# error "Common and generic dialogs require wxUSE_BUTTON"
1559# else
1560# undef wxUSE_BUTTON
1561# define wxUSE_BUTTON 1
1562# endif
1563# endif
063b752e 1564#endif /* !wxUSE_BUTTON */
0b4f47a3 1565
12491c1f
JS
1566#if !wxUSE_TOOLBAR
1567# if wxUSE_TOOLBAR_NATIVE
1568# ifdef wxABORT_ON_CONFIG_ERROR
1569# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1570# else
1571# undef wxUSE_TOOLBAR_NATIVE
1572# define wxUSE_TOOLBAR_NATIVE 0
1573# endif
1574# endif
1575
1576# if wxUSE_TOOLBAR_SIMPLE
1577# ifdef wxABORT_ON_CONFIG_ERROR
1578# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1579# else
1580# undef wxUSE_TOOLBAR_SIMPLE
1581# define wxUSE_TOOLBAR_SIMPLE 0
1582# endif
1583# endif
1584#endif
1585
1e6feb95
VZ
1586#if !wxUSE_IMAGLIST
1587# if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1588# ifdef wxABORT_ON_CONFIG_ERROR
1589# error "wxImageList must be compiled as well"
1590# else
1591# undef wxUSE_IMAGLIST
1592# define wxUSE_IMAGLIST 1
1593# endif
1594# endif
1595#endif /* !wxUSE_IMAGLIST */
1596
e421922f
VZ
1597#if !wxUSE_MSGDLG
1598# ifdef wxABORT_ON_CONFIG_ERROR
1599 /* FIXME: should compile without it, of course, but doesn't */
1600# error "wxMessageBox is always needed"
1601# else
1602# undef wxUSE_MSGDLG
1603# define wxUSE_MSGDLG 1
1604# endif
1605#endif
1606
1e6feb95 1607#if wxUSE_RADIOBOX
9a727a3b 1608# if !wxUSE_RADIOBTN
1e6feb95 1609# ifdef wxABORT_ON_CONFIG_ERROR
9a727a3b 1610# error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN"
1e6feb95
VZ
1611# else
1612# undef wxUSE_RADIOBTN
1e6feb95 1613# define wxUSE_RADIOBTN 1
9a727a3b
WS
1614# endif
1615# endif
1616# if !wxUSE_STATBOX && !defined(__WXPALMOS__)
1617# ifdef wxABORT_ON_CONFIG_ERROR
1618# error "wxUSE_RADIOBOX requires wxUSE_STATBOX"
1619# else
1620# undef wxUSE_STATBOX
1e6feb95
VZ
1621# define wxUSE_STATBOX 1
1622# endif
1623# endif
1624#endif /* wxUSE_RADIOBOX */
1625
3379ed37
VZ
1626#if wxUSE_LOGWINDOW
1627# if !wxUSE_TEXTCTRL
1628# ifdef wxABORT_ON_CONFIG_ERROR
1629# error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1630# else
1631# undef wxUSE_TEXTCTRL
1632# define wxUSE_TEXTCTRL 1
1633# endif
1634# endif
1635#endif /* wxUSE_LOGWINDOW */
1e6feb95 1636
3e6e2754 1637#if wxUSE_LOG_DIALOG
0b4f47a3 1638# if !wxUSE_LISTCTRL || !wxUSE_BUTTON
3e6e2754 1639# ifdef wxABORT_ON_CONFIG_ERROR
0b4f47a3 1640# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
3e6e2754
JS
1641# else
1642# undef wxUSE_LISTCTRL
1643# define wxUSE_LISTCTRL 1
0b4f47a3
DS
1644# undef wxUSE_BUTTON
1645# define wxUSE_BUTTON 1
3e6e2754
JS
1646# endif
1647# endif
1648#endif /* wxUSE_LOG_DIALOG */
1649
1e6feb95 1650#if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
3379ed37 1651# ifdef wxABORT_ON_CONFIG_ERROR
1e6feb95
VZ
1652# error "wxClipboard requires wxDataObject"
1653# else
1654# undef wxUSE_DATAOBJ
1655# define wxUSE_DATAOBJ 1
1656# endif
1657#endif /* wxUSE_CLIPBOARD */
1658
2b5f62a0
VZ
1659#if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1660# ifdef wxABORT_ON_CONFIG_ERROR
1661# error "wxr resources require PrologIO"
1662# else
1663# undef wxUSE_PROLOGIO
1664# define wxUSE_PROLOGIO 1
1665# endif
1666#endif /* wxUSE_WX_RESOURCES */
1667
d2ebf0b7
VS
1668#if wxUSE_XRC && !wxUSE_XML
1669# ifdef wxABORT_ON_CONFIG_ERROR
1670# error "wxUSE_XRC requires wxUSE_XML"
1671# else
1672# undef wxUSE_XRC
1673# define wxUSE_XRC 0
1674# endif
5a017695 1675#endif /* wxUSE_XRC */
d2ebf0b7 1676
4669dcb2
RN
1677#if wxUSE_SOCKETS && !wxUSE_STOPWATCH
1678# ifdef wxABORT_ON_CONFIG_ERROR
1679# error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
1680# else
1681# undef wxUSE_SOCKETS
1682# define wxUSE_SOCKETS 0
1683# endif
1684#endif /* wxUSE_SOCKETS */
1685
1e6feb95
VZ
1686#endif /* wxUSE_GUI */
1687