]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/chkconf.h
implement support for returning several elements at once from IEnumFORMATETC (part...
[wxWidgets.git] / include / wx / chkconf.h
... / ...
CommitLineData
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@wxwindows.org>
9 * Licence: wxWindows licence
10 */
11
12/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
13
14/*
15 Compiler-specific checking.
16 */
17
18#if defined(__WXMSW__)
19# include "wx/msw/chkconf.h"
20#elif defined(__WXMAC__)
21# include "wx/mac/chkconf.h"
22#endif
23
24/*
25 this global setting determines what should we do if the setting FOO
26 requires BAR and BAR is not set: we can either silently define BAR
27 (default, recommended) or give an error and abort (mainly useful for
28 developers only)
29 */
30#define wxABORT_ON_CONFIG_ERROR
31
32/*
33 global features
34 */
35
36/* GUI build by default */
37#if !defined(wxUSE_GUI)
38# define wxUSE_GUI 1
39#endif /* !defined(wxUSE_GUI) */
40
41/* wxBase doesn't need compatibility settings as it's a new port */
42#if !wxUSE_GUI
43# undef WXWIN_COMPATIBILITY
44# undef WXWIN_COMPATIBILITY_2
45# undef WXWIN_COMPATIBILITY_2_2
46# define WXWIN_COMPATIBILITY 0
47# define WXWIN_COMPATIBILITY_2 0
48# define WXWIN_COMPATIBILITY_2_2 0
49#endif /* !wxUSE_GUI */
50
51/*
52 tests for non GUI features
53 */
54
55#ifndef wxUSE_DYNLIB_CLASS
56# ifdef wxABORT_ON_CONFIG_ERROR
57# error "wxUSE_DYNLIB_CLASS must be defined."
58# else
59# define wxUSE_DYNLIB_CLASS 0
60# endif
61#endif /* !defined(wxUSE_DYNLIB_CLASS) */
62
63#ifndef wxUSE_FILESYSTEM
64# ifdef wxABORT_ON_CONFIG_ERROR
65# error "wxUSE_FILESYSTEM must be defined."
66# else
67# define wxUSE_FILESYSTEM 0
68# endif
69#endif /* !defined(wxUSE_FILESYSTEM) */
70
71/* don't give an error about this one yet, it's not fully implemented */
72#ifndef wxUSE_FSVOLUME
73# define wxUSE_FSVOLUME 0
74#endif /* !defined(wxUSE_FSVOLUME) */
75
76#ifndef wxUSE_DYNAMIC_LOADER
77# ifdef wxABORT_ON_CONFIG_ERROR
78# error "wxUSE_DYNAMIC_LOADER must be defined."
79# else
80# define wxUSE_DYNAMIC_LOADER 0
81# endif
82#endif /* !defined(wxUSE_DYNAMIC_LOADER) */
83
84#ifndef wxUSE_LOG
85# ifdef wxABORT_ON_CONFIG_ERROR
86# error "wxUSE_LOG must be defined."
87# else
88# define wxUSE_LOG 0
89# endif
90#endif /* !defined(wxUSE_LOG) */
91
92#ifndef wxUSE_LONGLONG
93# ifdef wxABORT_ON_CONFIG_ERROR
94# error "wxUSE_LONGLONG must be defined."
95# else
96# define wxUSE_LONGLONG 0
97# endif
98#endif /* !defined(wxUSE_LONGLONG) */
99
100#ifndef wxUSE_MIMETYPE
101# ifdef wxABORT_ON_CONFIG_ERROR
102# error "wxUSE_MIMETYPE must be defined."
103# else
104# define wxUSE_MIMETYPE 0
105# endif
106#endif /* !defined(wxUSE_MIMETYPE) */
107
108#ifndef wxUSE_PROTOCOL
109# ifdef wxABORT_ON_CONFIG_ERROR
110# error "wxUSE_PROTOCOL must be defined."
111# else
112# define wxUSE_PROTOCOL 0
113# endif
114#endif /* !defined(wxUSE_PROTOCOL) */
115
116/* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
117#if !wxUSE_PROTOCOL
118# undef wxUSE_PROTOCOL_HTTP
119# undef wxUSE_PROTOCOL_FTP
120# undef wxUSE_PROTOCOL_FILE
121# define wxUSE_PROTOCOL_HTTP 0
122# define wxUSE_PROTOCOL_FTP 0
123# define wxUSE_PROTOCOL_FILE 0
124#endif /* wxUSE_PROTOCOL */
125
126#ifndef wxUSE_PROTOCOL_HTTP
127# ifdef wxABORT_ON_CONFIG_ERROR
128# error "wxUSE_PROTOCOL_HTTP must be defined."
129# else
130# define wxUSE_PROTOCOL_HTTP 0
131# endif
132#endif /* !defined(wxUSE_PROTOCOL_HTTP) */
133
134#ifndef wxUSE_PROTOCOL_FTP
135# ifdef wxABORT_ON_CONFIG_ERROR
136# error "wxUSE_PROTOCOL_FTP must be defined."
137# else
138# define wxUSE_PROTOCOL_FTP 0
139# endif
140#endif /* !defined(wxUSE_PROTOCOL_FTP) */
141
142#ifndef wxUSE_PROTOCOL_FILE
143# ifdef wxABORT_ON_CONFIG_ERROR
144# error "wxUSE_PROTOCOL_FILE must be defined."
145# else
146# define wxUSE_PROTOCOL_FILE 0
147# endif
148#endif /* !defined(wxUSE_PROTOCOL_FILE) */
149
150#ifndef wxUSE_REGEX
151# ifdef wxABORT_ON_CONFIG_ERROR
152# error "wxUSE_REGEX must be defined."
153# else
154# define wxUSE_REGEX 0
155# endif
156#endif /* !defined(wxUSE_REGEX) */
157
158#ifndef wxUSE_SOCKETS
159# ifdef wxABORT_ON_CONFIG_ERROR
160# error "wxUSE_SOCKETS must be defined."
161# else
162# define wxUSE_SOCKETS 0
163# endif
164#endif /* !defined(wxUSE_SOCKETS) */
165
166#ifndef wxUSE_STREAMS
167# ifdef wxABORT_ON_CONFIG_ERROR
168# error "wxUSE_STREAMS must be defined."
169# else
170# define wxUSE_STREAMS 0
171# endif
172#endif /* !defined(wxUSE_STREAMS) */
173
174#ifndef wxUSE_STOPWATCH
175# ifdef wxABORT_ON_CONFIG_ERROR
176# error "wxUSE_STOPWATCH must be defined."
177# else
178# define wxUSE_STOPWATCH 0
179# endif
180#endif /* !defined(wxUSE_STOPWATCH) */
181
182#ifndef wxUSE_TEXTBUFFER
183# ifdef wxABORT_ON_CONFIG_ERROR
184# error "wxUSE_TEXTBUFFER must be defined."
185# else
186# define wxUSE_TEXTBUFFER 0
187# endif
188#endif /* !defined(wxUSE_TEXTBUFFER) */
189
190#ifndef wxUSE_TEXTFILE
191# ifdef wxABORT_ON_CONFIG_ERROR
192# error "wxUSE_TEXTFILE must be defined."
193# else
194# define wxUSE_TEXTFILE 0
195# endif
196#endif /* !defined(wxUSE_TEXTFILE) */
197
198#ifndef wxUSE_UNICODE
199# ifdef wxABORT_ON_CONFIG_ERROR
200# error "wxUSE_UNICODE must be defined."
201# else
202# define wxUSE_UNICODE 0
203# endif
204#endif /* !defined(wxUSE_UNICODE) */
205
206#ifndef wxUSE_URL
207# ifdef wxABORT_ON_CONFIG_ERROR
208# error "wxUSE_URL must be defined."
209# else
210# define wxUSE_URL 0
211# endif
212#endif /* !defined(wxUSE_URL) */
213
214/*
215 all these tests are for GUI only
216 */
217#if wxUSE_GUI
218
219/*
220 all of the settings tested below must be defined or we'd get an error from
221 preprocessor about invalid integer expression
222 */
223
224#ifndef wxUSE_ACCEL
225# ifdef wxABORT_ON_CONFIG_ERROR
226# error "wxUSE_ACCEL must be defined."
227# else
228# define wxUSE_ACCEL 0
229# endif
230#endif /* !defined(wxUSE_ACCEL) */
231
232#ifndef wxUSE_BMPBUTTON
233# ifdef wxABORT_ON_CONFIG_ERROR
234# error "wxUSE_BMPBUTTON must be defined."
235# else
236# define wxUSE_BMPBUTTON 0
237# endif
238#endif /* !defined(wxUSE_BMPBUTTON) */
239
240#ifndef wxUSE_BUTTON
241# ifdef wxABORT_ON_CONFIG_ERROR
242# error "wxUSE_BUTTON must be defined."
243# else
244# define wxUSE_BUTTON 0
245# endif
246#endif /* !defined(wxUSE_BUTTON) */
247
248#ifndef wxUSE_CALENDARCTRL
249# ifdef wxABORT_ON_CONFIG_ERROR
250# error "wxUSE_CALENDARCTRL must be defined."
251# else
252# define wxUSE_CALENDARCTRL 0
253# endif
254#endif /* !defined(wxUSE_CALENDARCTRL) */
255
256#ifndef wxUSE_CARET
257# ifdef wxABORT_ON_CONFIG_ERROR
258# error "wxUSE_CARET must be defined."
259# else
260# define wxUSE_CARET 0
261# endif
262#endif /* !defined(wxUSE_CARET) */
263
264#ifndef wxUSE_CHECKBOX
265# ifdef wxABORT_ON_CONFIG_ERROR
266# error "wxUSE_CHECKBOX must be defined."
267# else
268# define wxUSE_CHECKBOX 0
269# endif
270#endif /* !defined(wxUSE_CHECKBOX) */
271
272#ifndef wxUSE_CHECKLISTBOX
273# ifdef wxABORT_ON_CONFIG_ERROR
274# error "wxUSE_CHECKLISTBOX must be defined."
275# else
276# define wxUSE_CHECKLISTBOX 0
277# endif
278#endif /* !defined(wxUSE_CHECKLISTBOX) */
279
280#ifndef wxUSE_CHOICE
281# ifdef wxABORT_ON_CONFIG_ERROR
282# error "wxUSE_CHOICE must be defined."
283# else
284# define wxUSE_CHOICE 0
285# endif
286#endif /* !defined(wxUSE_CHOICE) */
287
288#ifndef wxUSE_CHOICEDLG
289# ifdef wxABORT_ON_CONFIG_ERROR
290# error "wxUSE_CHOICEDLG must be defined."
291# else
292# define wxUSE_CHOICEDLG 0
293# endif
294#endif /* !defined(wxUSE_CHOICEDLG) */
295
296#ifndef wxUSE_CLIPBOARD
297# ifdef wxABORT_ON_CONFIG_ERROR
298# error "wxUSE_CLIPBOARD must be defined."
299# else
300# define wxUSE_CLIPBOARD 0
301# endif
302#endif /* !defined(wxUSE_CLIPBOARD) */
303
304#ifndef wxUSE_COLOURDLG
305# ifdef wxABORT_ON_CONFIG_ERROR
306# error "wxUSE_COLOURDLG must be defined."
307# else
308# define wxUSE_COLOURDLG 0
309# endif
310#endif /* !defined(wxUSE_COLOURDLG) */
311
312#ifndef wxUSE_COMBOBOX
313# ifdef wxABORT_ON_CONFIG_ERROR
314# error "wxUSE_COMBOBOX must be defined."
315# else
316# define wxUSE_COMBOBOX 0
317# endif
318#endif /* !defined(wxUSE_COMBOBOX) */
319
320#ifndef wxUSE_DATAOBJ
321# ifdef wxABORT_ON_CONFIG_ERROR
322# error "wxUSE_DATAOBJ must be defined."
323# else
324# define wxUSE_DATAOBJ 0
325# endif
326#endif /* !defined(wxUSE_DATAOBJ) */
327
328#ifndef wxUSE_DOC_VIEW_ARCHITECTURE
329# ifdef wxABORT_ON_CONFIG_ERROR
330# error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
331# else
332# define wxUSE_DOC_VIEW_ARCHITECTURE 0
333# endif
334#endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
335
336#ifndef wxUSE_FILEDLG
337# ifdef wxABORT_ON_CONFIG_ERROR
338# error "wxUSE_FILEDLG must be defined."
339# else
340# define wxUSE_FILEDLG 0
341# endif
342#endif /* !defined(wxUSE_FILEDLG) */
343
344#ifndef wxUSE_FONTDLG
345# ifdef wxABORT_ON_CONFIG_ERROR
346# error "wxUSE_FONTDLG must be defined."
347# else
348# define wxUSE_FONTDLG 0
349# endif
350#endif /* !defined(wxUSE_FONTDLG) */
351
352#ifndef wxUSE_FONTMAP
353# ifdef wxABORT_ON_CONFIG_ERROR
354# error "wxUSE_FONTMAP must be defined."
355# else
356# define wxUSE_FONTMAP 0
357# endif
358#endif /* !defined(wxUSE_FONTMAP) */
359
360#ifndef wxUSE_GAUGE
361# ifdef wxABORT_ON_CONFIG_ERROR
362# error "wxUSE_GAUGE must be defined."
363# else
364# define wxUSE_GAUGE 0
365# endif
366#endif /* !defined(wxUSE_GAUGE) */
367
368#ifndef wxUSE_GRID
369# ifdef wxABORT_ON_CONFIG_ERROR
370# error "wxUSE_GRID must be defined."
371# else
372# define wxUSE_GRID 0
373# endif
374#endif /* !defined(wxUSE_GRID) */
375
376#ifndef wxUSE_HELP
377# ifdef wxABORT_ON_CONFIG_ERROR
378# error "wxUSE_HELP must be defined."
379# else
380# define wxUSE_HELP 0
381# endif
382#endif /* !defined(wxUSE_HELP) */
383
384#ifndef wxUSE_HTML
385# ifdef wxABORT_ON_CONFIG_ERROR
386# error "wxUSE_HTML must be defined."
387# else
388# define wxUSE_HTML 0
389# endif
390#endif /* !defined(wxUSE_HTML) */
391
392#ifndef wxUSE_ICO_CUR
393# ifdef wxABORT_ON_CONFIG_ERROR
394# error "wxUSE_ICO_CUR must be defined."
395# else
396# define wxUSE_ICO_CUR 0
397# endif
398#endif /* !defined(wxUSE_ICO_CUR) */
399
400#ifndef wxUSE_IFF
401# ifdef wxABORT_ON_CONFIG_ERROR
402# error "wxUSE_IFF must be defined."
403# else
404# define wxUSE_IFF 0
405# endif
406#endif /* !defined(wxUSE_IFF) */
407
408#ifndef wxUSE_IMAGLIST
409# ifdef wxABORT_ON_CONFIG_ERROR
410# error "wxUSE_IMAGLIST must be defined."
411# else
412# define wxUSE_IMAGLIST 0
413# endif
414#endif /* !defined(wxUSE_IMAGLIST) */
415
416#ifndef wxUSE_JOYSTICK
417# ifdef wxABORT_ON_CONFIG_ERROR
418# error "wxUSE_JOYSTICK must be defined."
419# else
420# define wxUSE_JOYSTICK 0
421# endif
422#endif /* !defined(wxUSE_JOYSTICK) */
423
424#ifndef wxUSE_LISTBOX
425# ifdef wxABORT_ON_CONFIG_ERROR
426# error "wxUSE_LISTBOX must be defined."
427# else
428# define wxUSE_LISTBOX 0
429# endif
430#endif /* !defined(wxUSE_LISTBOX) */
431
432#ifndef wxUSE_LISTCTRL
433# ifdef wxABORT_ON_CONFIG_ERROR
434# error "wxUSE_LISTCTRL must be defined."
435# else
436# define wxUSE_LISTCTRL 0
437# endif
438#endif /* !defined(wxUSE_LISTCTRL) */
439
440#ifndef wxUSE_LOGGUI
441# ifdef wxABORT_ON_CONFIG_ERROR
442# error "wxUSE_LOGGUI must be defined."
443# else
444# define wxUSE_LOGGUI 0
445# endif
446#endif /* !defined(wxUSE_LOGGUI) */
447
448#ifndef wxUSE_LOGWINDOW
449# ifdef wxABORT_ON_CONFIG_ERROR
450# error "wxUSE_LOGWINDOW must be defined."
451# else
452# define wxUSE_LOGWINDOW 0
453# endif
454#endif /* !defined(wxUSE_LOGWINDOW) */
455
456#ifndef wxUSE_LOG_DIALOG
457# ifdef wxABORT_ON_CONFIG_ERROR
458# error "wxUSE_LOG_DIALOG must be defined."
459# else
460# define wxUSE_LOG_DIALOG 0
461# endif
462#endif /* !defined(wxUSE_LOG_DIALOG) */
463
464#ifndef wxUSE_MDI_ARCHITECTURE
465# ifdef wxABORT_ON_CONFIG_ERROR
466# error "wxUSE_MDI_ARCHITECTURE must be defined."
467# else
468# define wxUSE_MDI_ARCHITECTURE 0
469# endif
470#endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
471
472#ifndef wxUSE_MENUS
473# ifdef wxABORT_ON_CONFIG_ERROR
474# error "wxUSE_MENUS must be defined."
475# else
476# define wxUSE_MENUS 0
477# endif
478#endif /* !defined(wxUSE_MENUS) */
479
480#ifndef wxUSE_MSGDLG
481# ifdef wxABORT_ON_CONFIG_ERROR
482# error "wxUSE_MSGDLG must be defined."
483# else
484# define wxUSE_MSGDLG 0
485# endif
486#endif /* !defined(wxUSE_MSGDLG) */
487
488#ifndef wxUSE_NOTEBOOK
489# ifdef wxABORT_ON_CONFIG_ERROR
490# error "wxUSE_NOTEBOOK must be defined."
491# else
492# define wxUSE_NOTEBOOK 0
493# endif
494#endif /* !defined(wxUSE_NOTEBOOK) */
495
496#ifndef wxUSE_PALETTE
497# ifdef wxABORT_ON_CONFIG_ERROR
498# error "wxUSE_PALETTE must be defined."
499# else
500# define wxUSE_PALETTE 0
501# endif
502#endif /* !defined(wxUSE_PALETTE) */
503
504#ifndef wxUSE_POPUPWIN
505# ifdef wxABORT_ON_CONFIG_ERROR
506# error "wxUSE_POPUPWIN must be defined."
507# else
508# define wxUSE_POPUPWIN 0
509# endif
510#endif /* !defined(wxUSE_POPUPWIN) */
511
512#ifndef wxUSE_PRINTING_ARCHITECTURE
513# ifdef wxABORT_ON_CONFIG_ERROR
514# error "wxUSE_PRINTING_ARCHITECTURE must be defined."
515# else
516# define wxUSE_PRINTING_ARCHITECTURE 0
517# endif
518#endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
519
520#ifndef wxUSE_RADIOBOX
521# ifdef wxABORT_ON_CONFIG_ERROR
522# error "wxUSE_RADIOBOX must be defined."
523# else
524# define wxUSE_RADIOBOX 0
525# endif
526#endif /* !defined(wxUSE_RADIOBOX) */
527
528#ifndef wxUSE_RADIOBTN
529# ifdef wxABORT_ON_CONFIG_ERROR
530# error "wxUSE_RADIOBTN must be defined."
531# else
532# define wxUSE_RADIOBTN 0
533# endif
534#endif /* !defined(wxUSE_RADIOBTN) */
535
536#ifndef wxUSE_SASH
537# ifdef wxABORT_ON_CONFIG_ERROR
538# error "wxUSE_SASH must be defined."
539# else
540# define wxUSE_SASH 0
541# endif
542#endif /* !defined(wxUSE_SASH) */
543
544#ifndef wxUSE_SCROLLBAR
545# ifdef wxABORT_ON_CONFIG_ERROR
546# error "wxUSE_SCROLLBAR must be defined."
547# else
548# define wxUSE_SCROLLBAR 0
549# endif
550#endif /* !defined(wxUSE_SCROLLBAR) */
551
552#ifndef wxUSE_SLIDER
553# ifdef wxABORT_ON_CONFIG_ERROR
554# error "wxUSE_SLIDER must be defined."
555# else
556# define wxUSE_SLIDER 0
557# endif
558#endif /* !defined(wxUSE_SLIDER) */
559
560#ifndef wxUSE_SPINBTN
561# ifdef wxABORT_ON_CONFIG_ERROR
562# error "wxUSE_SPINBTN must be defined."
563# else
564# define wxUSE_SPINBTN 0
565# endif
566#endif /* !defined(wxUSE_SPINBTN) */
567
568#ifndef wxUSE_SPINCTRL
569# ifdef wxABORT_ON_CONFIG_ERROR
570# error "wxUSE_SPINCTRL must be defined."
571# else
572# define wxUSE_SPINCTRL 0
573# endif
574#endif /* !defined(wxUSE_SPINCTRL) */
575
576#ifndef wxUSE_SPLASH
577# ifdef wxABORT_ON_CONFIG_ERROR
578# error "wxUSE_SPLASH must be defined."
579# else
580# define wxUSE_SPLASH 0
581# endif
582#endif /* !defined(wxUSE_SPLASH) */
583
584#ifndef wxUSE_SPLITTER
585# ifdef wxABORT_ON_CONFIG_ERROR
586# error "wxUSE_SPLITTER must be defined."
587# else
588# define wxUSE_SPLITTER 0
589# endif
590#endif /* !defined(wxUSE_SPLITTER) */
591
592#ifndef wxUSE_STATBMP
593# ifdef wxABORT_ON_CONFIG_ERROR
594# error "wxUSE_STATBMP must be defined."
595# else
596# define wxUSE_STATBMP 0
597# endif
598#endif /* !defined(wxUSE_STATBMP) */
599
600#ifndef wxUSE_STATBOX
601# ifdef wxABORT_ON_CONFIG_ERROR
602# error "wxUSE_STATBOX must be defined."
603# else
604# define wxUSE_STATBOX 0
605# endif
606#endif /* !defined(wxUSE_STATBOX) */
607
608#ifndef wxUSE_STATLINE
609# ifdef wxABORT_ON_CONFIG_ERROR
610# error "wxUSE_STATLINE must be defined."
611# else
612# define wxUSE_STATLINE 0
613# endif
614#endif /* !defined(wxUSE_STATLINE) */
615
616#ifndef wxUSE_STATTEXT
617# ifdef wxABORT_ON_CONFIG_ERROR
618# error "wxUSE_STATTEXT must be defined."
619# else
620# define wxUSE_STATTEXT 0
621# endif
622#endif /* !defined(wxUSE_STATTEXT) */
623
624#ifndef wxUSE_STATUSBAR
625# ifdef wxABORT_ON_CONFIG_ERROR
626# error "wxUSE_STATUSBAR must be defined."
627# else
628# define wxUSE_STATUSBAR 0
629# endif
630#endif /* !defined(wxUSE_STATUSBAR) */
631
632#ifndef wxUSE_TAB_DIALOG
633# ifdef wxABORT_ON_CONFIG_ERROR
634# error "wxUSE_TAB_DIALOG must be defined."
635# else
636# define wxUSE_TAB_DIALOG 0
637# endif
638#endif /* !defined(wxUSE_TAB_DIALOG) */
639
640#ifndef wxUSE_TEXTCTRL
641# ifdef wxABORT_ON_CONFIG_ERROR
642# error "wxUSE_TEXTCTRL must be defined."
643# else
644# define wxUSE_TEXTCTRL 0
645# endif
646#endif /* !defined(wxUSE_TEXTCTRL) */
647
648#ifndef wxUSE_TIPWINDOW
649# ifdef wxABORT_ON_CONFIG_ERROR
650# error "wxUSE_TIPWINDOW must be defined."
651# else
652# define wxUSE_TIPWINDOW 0
653# endif
654#endif /* !defined(wxUSE_TIPWINDOW) */
655
656#ifndef wxUSE_TOOLBAR
657# ifdef wxABORT_ON_CONFIG_ERROR
658# error "wxUSE_TOOLBAR must be defined."
659# else
660# define wxUSE_TOOLBAR 0
661# endif
662#endif /* !defined(wxUSE_TOOLBAR) */
663
664#ifndef wxUSE_TOOLTIPS
665# ifdef wxABORT_ON_CONFIG_ERROR
666# error "wxUSE_TOOLTIPS must be defined."
667# else
668# define wxUSE_TOOLTIPS 0
669# endif
670#endif /* !defined(wxUSE_TOOLTIPS) */
671
672#ifndef wxUSE_TREECTRL
673# ifdef wxABORT_ON_CONFIG_ERROR
674# error "wxUSE_TREECTRL must be defined."
675# else
676# define wxUSE_TREECTRL 0
677# endif
678#endif /* !defined(wxUSE_TREECTRL) */
679
680#ifndef wxUSE_DISPLAY
681# ifdef wxABORT_ON_CONFIG_ERROR
682# error "wxUSE_DISPLAY must be defined."
683# else
684# define wxUSE_DISPLAY 0
685# endif
686#endif /* !defined(wxUSE_TREECTRL) */
687
688#ifndef wxUSE_WXHTML_HELP
689# ifdef wxABORT_ON_CONFIG_ERROR
690# error "wxUSE_WXHTML_HELP must be defined."
691# else
692# define wxUSE_WXHTML_HELP 0
693# endif
694#endif /* !defined(wxUSE_WXHTML_HELP) */
695
696#endif /* wxUSE_GUI */
697
698/*
699 check consistency of the settings
700 */
701
702#if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
703# if !wxUSE_PROTOCOL
704# ifdef wxABORT_ON_CONFIG_ERROR
705# error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
706# else
707# undef wxUSE_PROTOCOL
708# define wxUSE_PROTOCOL 1
709# endif
710# endif
711#endif /* wxUSE_PROTOCOL_XXX */
712
713#if wxUSE_URL
714# if !wxUSE_PROTOCOL
715# ifdef wxABORT_ON_CONFIG_ERROR
716# error "wxUSE_URL requires wxUSE_PROTOCOL"
717# else
718# undef wxUSE_PROTOCOL
719# define wxUSE_PROTOCOL 1
720# endif
721# endif
722#endif /* wxUSE_URL */
723
724#if wxUSE_PROTOCOL
725# if !wxUSE_SOCKETS
726# if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
727# ifdef wxABORT_ON_CONFIG_ERROR
728# error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
729# else
730# undef wxUSE_SOCKETS
731# define wxUSE_SOCKETS 1
732# endif
733# endif
734# endif
735
736# if !wxUSE_STREAMS
737# ifdef wxABORT_ON_CONFIG_ERROR
738# error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
739# else
740# undef wxUSE_STREAMS
741# define wxUSE_STREAMS 1
742# endif
743# endif
744#endif /* wxUSE_PROTOCOL */
745
746/* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
747#if wxUSE_HTML
748# if !wxUSE_FILESYSTEM
749# ifdef wxABORT_ON_CONFIG_ERROR
750# error "wxHTML requires wxFileSystem"
751# else
752# undef wxUSE_FILESYSTEM
753# define wxUSE_FILESYSTEM 1
754# endif
755# endif
756#endif /* wxUSE_HTML */
757
758#if wxUSE_FILESYSTEM
759# if !wxUSE_STREAMS
760# ifdef wxABORT_ON_CONFIG_ERROR
761# error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
762# else
763# undef wxUSE_STREAMS
764# define wxUSE_STREAMS 1
765# endif
766# endif
767#endif /* wxUSE_FILESYSTEM */
768
769#if wxUSE_FS_INET
770# if !wxUSE_PROTOCOL
771# ifdef wxABORT_ON_CONFIG_ERROR
772# error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
773# else
774# undef wxUSE_PROTOCOL
775# define wxUSE_PROTOCOL 1
776# endif
777# endif
778#endif /* wxUSE_FS_INET */
779
780#if wxUSE_STOPWATCH || wxUSE_DATETIME
781# if !wxUSE_LONGLONG
782# ifdef wxABORT_ON_CONFIG_ERROR
783# error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
784# else
785# undef wxUSE_LONGLONG
786# define wxUSE_LONGLONG 1
787# endif
788# endif
789#endif /* wxUSE_STOPWATCH */
790
791#if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
792# ifdef wxABORT_ON_CONFIG_ERROR
793# error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
794# else
795# undef wxUSE_TEXTFILE
796# define wxUSE_TEXTFILE 1
797# endif
798#endif /* wxUSE_MIMETYPE */
799
800#if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
801# ifdef wxABORT_ON_CONFIG_ERROR
802# error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
803# else
804# undef wxUSE_TEXTBUFFER
805# define wxUSE_TEXTBUFFER 1
806# endif
807#endif /* wxUSE_TEXTFILE */
808
809#if wxUSE_TEXTFILE && !wxUSE_FILE
810# ifdef wxABORT_ON_CONFIG_ERROR
811# error "wxUSE_TEXTFILE requires wxUSE_FILE"
812# else
813# undef wxUSE_FILE
814# define wxUSE_FILE 1
815# endif
816#endif /* wxUSE_TEXTFILE */
817
818#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
819# ifdef wxABORT_ON_CONFIG_ERROR
820# error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
821# else
822# undef wxUSE_UNICODE
823# define wxUSE_UNICODE 1
824# endif
825#endif /* wxUSE_UNICODE_MSLU */
826
827#if wxUSE_ODBC && wxUSE_UNICODE
828# ifdef wxABORT_ON_CONFIG_ERROR
829 /* (ODBC classes aren't Unicode-compatible yet) */
830# error "wxUSE_ODBC can't be used with wxUSE_UNICODE"
831# else
832# undef wxUSE_ODBC
833# define wxUSE_ODBC 0
834# endif
835#endif /* wxUSE_ODBC */
836
837/* the rest of the tests is for the GUI settings only */
838#if wxUSE_GUI
839
840#if wxUSE_BUTTON || \
841 wxUSE_CALENDARCTRL || \
842 wxUSE_CARET || \
843 wxUSE_COMBOBOX || \
844 wxUSE_BMPBUTTON || \
845 wxUSE_CHECKBOX || \
846 wxUSE_CHECKLISTBOX || \
847 wxUSE_CHOICE || \
848 wxUSE_GAUGE || \
849 wxUSE_GRID || \
850 wxUSE_LISTBOX || \
851 wxUSE_LISTCTRL || \
852 wxUSE_NOTEBOOK || \
853 wxUSE_RADIOBOX || \
854 wxUSE_RADIOBTN || \
855 wxUSE_SCROLLBAR || \
856 wxUSE_SLIDER || \
857 wxUSE_SPINBTN || \
858 wxUSE_SPINCTRL || \
859 wxUSE_STATBMP || \
860 wxUSE_STATBOX || \
861 wxUSE_STATLINE || \
862 wxUSE_STATTEXT || \
863 wxUSE_STATUSBAR || \
864 wxUSE_TEXTCTRL || \
865 wxUSE_TOOLBAR || \
866 wxUSE_TREECTRL
867# if !wxUSE_CONTROLS
868# ifdef wxABORT_ON_CONFIG_ERROR
869# error "wxUSE_CONTROLS unset but some controls used"
870# else
871# undef wxUSE_CONTROLS
872# define wxUSE_CONTROLS 1
873# endif
874# endif
875#endif /* controls */
876
877/* wxUniv-specific dependencies */
878#if defined(__WXUNIVERSAL__)
879# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
880# ifdef wxABORT_ON_CONFIG_ERROR
881# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
882# else
883# undef wxUSE_POPUPWIN
884# define wxUSE_POPUPWIN 1
885# endif
886# endif
887
888# if wxUSE_COMBOBOX
889# if !wxUSE_LISTBOX
890# ifdef wxABORT_ON_CONFIG_ERROR
891# error "wxComboBox requires wxListBox in wxUniversal"
892# else
893# undef wxUSE_LISTBOX
894# define wxUSE_LISTBOX 1
895# endif
896# endif
897# endif /* wxUSE_COMBOBOX */
898
899# if wxUSE_RADIOBTN
900# if !wxUSE_CHECKBOX
901# ifdef wxABORT_ON_CONFIG_ERROR
902# error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
903# else
904# undef wxUSE_CHECKBOX
905# define wxUSE_CHECKBOX 1
906# endif
907# endif
908# endif /* wxUSE_RADIOBTN */
909
910# if wxUSE_TEXTCTRL
911# if !wxUSE_CARET
912# ifdef wxABORT_ON_CONFIG_ERROR
913# error "wxTextCtrl requires wxCaret in wxUniversal"
914# else
915# undef wxUSE_CARET
916# define wxUSE_CARET 1
917# endif
918# endif /* wxUSE_CARET */
919
920# if !wxUSE_SCROLLBAR
921# ifdef wxABORT_ON_CONFIG_ERROR
922# error "wxTextCtrl requires wxScrollBar in wxUniversal"
923# else
924# undef wxUSE_SCROLLBAR
925# define wxUSE_SCROLLBAR 1
926# endif
927# endif /* wxUSE_SCROLLBAR */
928# endif /* wxUSE_TEXTCTRL */
929#endif /* __WXUNIVERSAL__ */
930
931/* wxGTK-specific dependencies */
932#ifdef __WXGTK__
933# ifndef __WXUNIVERSAL__
934# if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
935# ifdef wxABORT_ON_CONFIG_ERROR
936# error "MDI requires wxUSE_MENUS in wxGTK"
937# else
938# undef wxUSE_MENUS
939# define wxUSE_MENUS 1
940# endif
941# endif
942# endif /* !__WXUNIVERSAL__ */
943
944# if wxUSE_JOYSTICK
945# if !wxUSE_THREADS
946# ifdef wxABORT_ON_CONFIG_ERROR
947# error "wxJoystick requires threads in wxGTK"
948# else
949# undef wxUSE_JOYSTICK
950# define wxUSE_JOYSTICK 0
951# endif
952# endif
953# endif
954#endif /* wxGTK && !wxUniv */
955
956/* wxMSW-specific dependencies */
957#ifdef __WXMSW__
958# ifndef wxUSE_UNICODE_MSLU
959# ifdef wxABORT_ON_CONFIG_ERROR
960# error "wxUSE_UNICODE_MSLU must be defined."
961# else
962# define wxUSE_UNICODE_MSLU 0
963# endif
964# endif /* wxUSE_UNICODE_MSLU */
965# ifndef wxUSE_MS_HTML_HELP
966# ifdef wxABORT_ON_CONFIG_ERROR
967# error "wxUSE_MS_HTML_HELP must be defined."
968# else
969# define wxUSE_MS_HTML_HELP 0
970# endif
971# endif /* !defined(wxUSE_MS_HTML_HELP) */
972# ifndef wxUSE_DIALUP_MANAGER
973# ifdef wxABORT_ON_CONFIG_ERROR
974# error "wxUSE_DIALUP_MANAGER must be defined."
975# else
976# define wxUSE_DIALUP_MANAGER 0
977# endif
978# endif /* !defined(wxUSE_DIALUP_MANAGER) */
979
980# if !wxUSE_DYNAMIC_LOADER
981# if wxUSE_MS_HTML_HELP
982# ifdef wxABORT_ON_CONFIG_ERROR
983# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
984# else
985# define wxUSE_DYNAMIC_LOADER 1
986# endif
987# endif
988# if wxUSE_DIALUP_MANAGER
989# ifdef wxABORT_ON_CONFIG_ERROR
990# error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
991# else
992# define wxUSE_DYNAMIC_LOADER 1
993# endif
994# endif
995# endif /* wxUSE_DYNAMIC_LOADER */
996#endif /* wxMSW */
997
998/* wxMAC-specific dependencies */
999#ifdef __WXMAC__
1000# if wxUSE_UNICODE
1001# if !TARGET_CARBON
1002# ifdef wxABORT_ON_CONFIG_ERROR
1003# error "wxUSE_UNICODE is only supported for Carbon Targets."
1004# else
1005# define wxUSE_UNICODE 0
1006# endif
1007# endif
1008# endif
1009#endif /* wxMAC */
1010/* wxMotif-specific dependencies */
1011#if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
1012# undef wxUSE_TAB_DIALOG
1013# define wxUSE_TAB_DIALOG 1
1014#endif
1015
1016/* wxMGL-specific dependencies */
1017#ifdef __WXMGL__
1018# if !wxUSE_PALETTE
1019# error "wxMGL requires wxUSE_PALETTE=1"
1020# endif
1021#endif /* wxMGL */
1022
1023/* generic controls dependencies */
1024#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
1025# if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
1026 /* all common controls are needed by these dialogs */
1027# if !defined(wxUSE_CHOICE) || \
1028 !defined(wxUSE_TEXTCTRL) || \
1029 !defined(wxUSE_BUTTON) || \
1030 !defined(wxUSE_CHECKBOX) || \
1031 !defined(wxUSE_STATTEXT)
1032# ifdef wxABORT_ON_CONFIG_ERROR
1033# error "These common controls are needed by common dialogs"
1034# else
1035# undef wxUSE_CHOICE
1036# define wxUSE_CHOICE 1
1037# undef wxUSE_TEXTCTRL
1038# define wxUSE_TEXTCTRL 1
1039# undef wxUSE_BUTTON
1040# define wxUSE_BUTTON 1
1041# undef wxUSE_CHECKBOX
1042# define wxUSE_CHECKBOX 1
1043# undef wxUSE_STATTEXT
1044# define wxUSE_STATTEXT 1
1045# endif
1046# endif
1047# endif
1048#endif /* !wxMSW || wxUniv */
1049
1050/* common dependencies */
1051#if wxUSE_CALENDARCTRL
1052# if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
1053# ifdef wxABORT_ON_CONFIG_ERROR
1054# error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
1055# else
1056# undef wxUSE_SPINBTN
1057# undef wxUSE_COMBOBOX
1058# define wxUSE_SPINBTN 1
1059# define wxUSE_COMBOBOX 1
1060# endif
1061# endif
1062
1063# if !wxUSE_DATETIME
1064# ifdef wxABORT_ON_CONFIG_ERROR
1065# error "wxCalendarCtrl requires wxUSE_DATETIME"
1066# else
1067# undef wxUSE_DATETIME
1068# define wxUSE_DATETIME 1
1069# endif
1070# endif
1071#endif /* wxUSE_CALENDARCTRL */
1072
1073#if wxUSE_CHECKLISTBOX
1074# if !wxUSE_LISTBOX
1075# ifdef wxABORT_ON_CONFIG_ERROR
1076# error "wxCheckListBox requires wxListBox"
1077# else
1078# undef wxUSE_LISTBOX
1079# define wxUSE_LISTBOX 1
1080# endif
1081# endif
1082#endif /* wxUSE_RADIOBTN */
1083
1084#if wxUSE_WXHTML_HELP
1085# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK
1086# ifdef wxABORT_ON_CONFIG_ERROR
1087# error "Built in help controller can't be compiled"
1088# else
1089# undef wxUSE_HELP
1090# define wxUSE_HELP 1
1091# undef wxUSE_HTML
1092# define wxUSE_HTML 1
1093# undef wxUSE_COMBOBOX
1094# define wxUSE_COMBOBOX 1
1095# undef wxUSE_NOTEBOOK
1096# define wxUSE_NOTEBOOK 1
1097# endif
1098# endif
1099#endif /* wxUSE_WXHTML_HELP */
1100
1101#if wxUSE_DOC_VIEW_ARCHITECTURE
1102# if !wxUSE_MENUS
1103# ifdef wxABORT_ON_CONFIG_ERROR
1104# error "DocView requires wxUSE_MENUS"
1105# else
1106# undef wxUSE_MENUS
1107# define wxUSE_MENUS 1
1108# endif
1109# endif
1110
1111# if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
1112# ifdef wxABORT_ON_CONFIG_ERROR
1113# error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
1114# else
1115# undef wxUSE_STREAMS
1116# define wxUSE_STREAMS 1
1117# endif
1118# endif
1119#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
1120
1121#if wxUSE_PRINTING_ARCHITECTURE
1122# if !wxUSE_COMBOBOX
1123# ifdef wxABORT_ON_CONFIG_ERROR
1124# error "Print dialog requires wxUSE_COMBOBOX"
1125# else
1126# undef wxUSE_COMBOBOX
1127# define wxUSE_COMBOBOX 1
1128# endif
1129# endif
1130
1131# if !wxUSE_DOC_VIEW_ARCHITECTURE
1132# ifdef wxABORT_ON_CONFIG_ERROR
1133# error "Print architecture requires wxUSE_DOC_VIEW_ARCHITECTURE"
1134# else
1135# undef wxUSE_DOC_VIEW_ARCHITECTURE
1136# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1137# endif
1138# endif
1139#endif /* wxUSE_PRINTING_ARCHITECTURE */
1140
1141#if wxUSE_MDI_ARCHITECTURE
1142# if !wxUSE_DOC_VIEW_ARCHITECTURE
1143# ifdef wxABORT_ON_CONFIG_ERROR
1144# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
1145# else
1146# undef wxUSE_DOC_VIEW_ARCHITECTURE
1147# define wxUSE_DOC_VIEW_ARCHITECTURE 1
1148# endif
1149# endif
1150#endif /* wxUSE_MDI_ARCHITECTURE */
1151
1152#if !wxUSE_FILEDLG
1153# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
1154# ifdef wxABORT_ON_CONFIG_ERROR
1155# error "wxFileDialog must be compiled as well"
1156# else
1157# undef wxUSE_FILEDLG
1158# define wxUSE_FILEDLG 1
1159# endif
1160# endif
1161#endif /* wxUSE_FILEDLG */
1162
1163#if !wxUSE_TOOLBAR
1164# if wxUSE_TOOLBAR_NATIVE
1165# ifdef wxABORT_ON_CONFIG_ERROR
1166# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
1167# else
1168# undef wxUSE_TOOLBAR_NATIVE
1169# define wxUSE_TOOLBAR_NATIVE 0
1170# endif
1171# endif
1172
1173# if wxUSE_TOOLBAR_SIMPLE
1174# ifdef wxABORT_ON_CONFIG_ERROR
1175# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
1176# else
1177# undef wxUSE_TOOLBAR_SIMPLE
1178# define wxUSE_TOOLBAR_SIMPLE 0
1179# endif
1180# endif
1181#endif
1182
1183#if !wxUSE_IMAGLIST
1184# if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
1185# ifdef wxABORT_ON_CONFIG_ERROR
1186# error "wxImageList must be compiled as well"
1187# else
1188# undef wxUSE_IMAGLIST
1189# define wxUSE_IMAGLIST 1
1190# endif
1191# endif
1192#endif /* !wxUSE_IMAGLIST */
1193
1194#if !wxUSE_MSGDLG
1195# ifdef wxABORT_ON_CONFIG_ERROR
1196 /* FIXME: should compile without it, of course, but doesn't */
1197# error "wxMessageBox is always needed"
1198# else
1199# undef wxUSE_MSGDLG
1200# define wxUSE_MSGDLG 1
1201# endif
1202#endif
1203
1204#if wxUSE_RADIOBOX
1205# if !wxUSE_RADIOBTN || !wxUSE_STATBOX
1206# ifdef wxABORT_ON_CONFIG_ERROR
1207# error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
1208# else
1209# undef wxUSE_RADIOBTN
1210# undef wxUSE_STATBOX
1211# define wxUSE_RADIOBTN 1
1212# define wxUSE_STATBOX 1
1213# endif
1214# endif
1215#endif /* wxUSE_RADIOBOX */
1216
1217#if wxUSE_LOGWINDOW
1218# if !wxUSE_TEXTCTRL
1219# ifdef wxABORT_ON_CONFIG_ERROR
1220# error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
1221# else
1222# undef wxUSE_TEXTCTRL
1223# define wxUSE_TEXTCTRL 1
1224# endif
1225# endif
1226#endif /* wxUSE_LOGWINDOW */
1227
1228#if wxUSE_LOG_DIALOG
1229# if !wxUSE_LISTCTRL
1230# ifdef wxABORT_ON_CONFIG_ERROR
1231# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL"
1232# else
1233# undef wxUSE_LISTCTRL
1234# define wxUSE_LISTCTRL 1
1235# endif
1236# endif
1237#endif /* wxUSE_LOG_DIALOG */
1238
1239/* I wonder if we shouldn't just remove all occurrences of
1240 wxUSE_DYNAMIC_CLASSES from the sources? */
1241#if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
1242# ifdef wxABORT_ON_CONFIG_ERROR
1243# error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
1244# else
1245# undef wxUSE_DYNAMIC_CLASSES
1246# define wxUSE_DYNAMIC_CLASSES 1
1247# endif
1248#endif /* wxUSE_DYNAMIC_CLASSES */
1249
1250#if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
1251# ifdef wxABORT_ON_CONFIG_ERROR
1252# error "wxClipboard requires wxDataObject"
1253# else
1254# undef wxUSE_DATAOBJ
1255# define wxUSE_DATAOBJ 1
1256# endif
1257#endif /* wxUSE_CLIPBOARD */
1258
1259#if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
1260# ifdef wxABORT_ON_CONFIG_ERROR
1261# error "wxr resources require PrologIO"
1262# else
1263# undef wxUSE_PROLOGIO
1264# define wxUSE_PROLOGIO 1
1265# endif
1266#endif /* wxUSE_WX_RESOURCES */
1267
1268#endif /* wxUSE_GUI */
1269