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