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