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