]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/chkconf.h
removed wxUSE_PENWINDOWS (and its misspellings), it didn't work and wasn't used/defined
[wxWidgets.git] / include / wx / msw / chkconf.h
CommitLineData
01ebf752
JS
1/*
2 * Name: wx/msw/chkconf.h
3 * Purpose: Compiler-specific configuration checking
4 * Author: Julian Smart
5 * Modified by:
6 * Created: 01/02/97
7 * RCS-ID: $Id$
8 * Copyright: (c) Julian Smart
65571936 9 * Licence: wxWindows licence
01ebf752
JS
10 */
11
34cbe514
RN
12/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
13
01ebf752
JS
14#ifndef _WX_MSW_CHKCONF_H_
15#define _WX_MSW_CHKCONF_H_
16
17/*
18 * disable the settings which don't work for some compilers
19 */
20
12bdd77c
JS
21/*
22 * If using PostScript-in-MSW in Univ, must enable PostScript
23 */
12bdd77c 24#if defined(__WXUNIVERSAL__) && wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW && !wxUSE_POSTSCRIPT
5e7f00a1
VZ
25# undef wxUSE_POSTSCRIPT
26# define wxUSE_POSTSCRIPT 1
12bdd77c
JS
27#endif
28
01ebf752 29#ifndef wxUSE_NORLANDER_HEADERS
5e7f00a1
VZ
30# if (defined(__WATCOMC__) && (__WATCOMC__ >= 1200)) || defined(__WINE__) || ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))))
31# define wxUSE_NORLANDER_HEADERS 1
32# else
33# define wxUSE_NORLANDER_HEADERS 0
34# endif
01ebf752
JS
35#endif
36
820a7a1b
VZ
37/*
38 * We don't want to give an error if wxUSE_UNICODE_MSLU is enabled but
39 * wxUSE_UNICODE is not as this would make it impossible to simply set the
40 * former in wx/setup.h as then the library wouldn't compile in non-Unicode
41 * configurations, so instead simply unset it silently when it doesn't make
42 * sense.
43 */
44#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
45# undef wxUSE_UNICODE_MSLU
46# define wxUSE_UNICODE_MSLU 0
47#endif
48
b3dfbbc9 49/*
3e3a3e17
VZ
50 * All of the settings below require SEH support (__try/__catch) and can't work
51 * without it.
b3dfbbc9 52 */
3e3a3e17
VZ
53#if !defined(_MSC_VER) && \
54 (!defined(__BORLANDC__) || __BORLANDC__ < 0x0550)
820a7a1b
VZ
55# undef wxUSE_ON_FATAL_EXCEPTION
56# define wxUSE_ON_FATAL_EXCEPTION 0
3e3a3e17 57
820a7a1b
VZ
58# undef wxUSE_CRASHREPORT
59# define wxUSE_CRASHREPORT 0
3e3a3e17 60
820a7a1b
VZ
61# undef wxUSE_STACKWALKER
62# define wxUSE_STACKWALKER 0
3e3a3e17 63#endif // compiler doesn't support SEH
b3dfbbc9 64
5e7f00a1 65/* wxUSE_DEBUG_NEW_ALWAYS doesn't work with CodeWarrior */
01ebf752 66#if defined(__MWERKS__)
820a7a1b
VZ
67# undef wxUSE_DEBUG_NEW_ALWAYS
68# define wxUSE_DEBUG_NEW_ALWAYS 0
01ebf752
JS
69#endif
70
71#if defined(__GNUWIN32__)
5e7f00a1
VZ
72 /* These don't work as expected for mingw32 and cygwin32 */
73# undef wxUSE_MEMORY_TRACING
74# define wxUSE_MEMORY_TRACING 0
75
76# undef wxUSE_GLOBAL_MEMORY_OPERATORS
77# define wxUSE_GLOBAL_MEMORY_OPERATORS 0
78
79# undef wxUSE_DEBUG_NEW_ALWAYS
80# define wxUSE_DEBUG_NEW_ALWAYS 0
01ebf752 81
5e7f00a1
VZ
82/* some Cygwin versions don't have wcslen */
83# if defined(__CYGWIN__) || defined(__CYGWIN32__)
84# if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
85# undef wxUSE_WCHAR_T
86# define wxUSE_WCHAR_T 0
87# endif
01ebf752 88#endif
5e7f00a1
VZ
89
90#endif /* __GNUWIN32__ */
01ebf752 91
16f10340
VZ
92/* wxUSE_MFC is not defined when using configure as it doesn't make sense for
93 gcc or mingw32 anyhow */
94#ifndef wxUSE_MFC
95 #define wxUSE_MFC 0
96#endif /* !defined(wxUSE_MFC) */
97
01ebf752
JS
98/* MFC duplicates these operators */
99#if wxUSE_MFC
5e7f00a1
VZ
100# undef wxUSE_GLOBAL_MEMORY_OPERATORS
101# define wxUSE_GLOBAL_MEMORY_OPERATORS 0
01ebf752 102
5e7f00a1
VZ
103# undef wxUSE_DEBUG_NEW_ALWAYS
104# define wxUSE_DEBUG_NEW_ALWAYS 0
105#endif /* wxUSE_MFC */
01ebf752
JS
106
107#if (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS)
820a7a1b
VZ
108 /* GnuWin32 doesn't have appropriate headers for e.g. IUnknown. */
109# undef wxUSE_DRAG_AND_DROP
110# define wxUSE_DRAG_AND_DROP 0
01ebf752
JS
111#endif
112
d7bc7fec 113#if !wxUSE_OWNER_DRAWN && !defined(__WXUNIVERSAL__)
820a7a1b
VZ
114# undef wxUSE_CHECKLISTBOX
115# define wxUSE_CHECKLISTBOX 0
01ebf752
JS
116#endif
117
0e871ad0
WS
118#if wxUSE_SPINCTRL
119# if !wxUSE_SPINBTN
120# ifdef wxABORT_ON_CONFIG_ERROR
121# error "wxSpinCtrl requires wxSpinButton on MSW"
122# else
123# undef wxUSE_SPINBTN
124# define wxUSE_SPINBTN 1
125# endif
126# endif
127#endif
128
da98e157
VZ
129/*
130 Win64-specific checks.
131 */
132#ifdef __WIN64__
133# if wxUSE_STACKWALKER
134 /* this is not currently supported under Win64, volunteers needed to
135 make it work */
136# undef wxUSE_STACKWALKER
137# define wxUSE_STACKWALKER 0
138
139# undef wxUSE_CRASHREPORT
140# define wxUSE_CRASHREPORT 0
141# endif
142#endif /* __WIN64__ */
143
144
145/*
146 Compiler-specific checks.
147 */
01ebf752 148#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
5e7f00a1
VZ
149 /* BC++ 4.0 can't compile JPEG library */
150# undef wxUSE_LIBJPEG
151# define wxUSE_LIBJPEG 0
01ebf752
JS
152#endif
153
154/* wxUSE_DEBUG_NEW_ALWAYS = 1 not compatible with BC++ in DLL mode */
155#if defined(__BORLANDC__) && (defined(WXMAKINGDLL) || defined(WXUSINGDLL))
5e7f00a1
VZ
156# undef wxUSE_DEBUG_NEW_ALWAYS
157# define wxUSE_DEBUG_NEW_ALWAYS 0
01ebf752
JS
158#endif
159
5e7f00a1 160/* Early Watcom version don't have good enough wide char support */
01ebf752 161#if defined(__WXMSW__) && (defined(__WATCOMC__) && __WATCOMC__ < 1200)
5e7f00a1
VZ
162# undef wxUSE_WCHAR_T
163# define wxUSE_WCHAR_T 0
8175d025
WS
164#endif
165
90a752c2
JS
166/* DMC++ doesn't have definitions for date picker control, so use generic control
167 */
90a752c2 168#ifdef __DMC__
820a7a1b
VZ
169# if wxUSE_DATEPICKCTRL
170# undef wxUSE_DATEPICKCTRL_GENERIC
171# undef wxUSE_DATEPICKCTRL
172# endif
173# define wxUSE_DATEPICKCTRL 0
174# define wxUSE_DATEPICKCTRL_GENERIC 1
90a752c2
JS
175#endif
176
b55c3716
VZ
177#ifndef wxUSE_UNICODE_MSLU
178# ifdef wxABORT_ON_CONFIG_ERROR
179# error "wxUSE_UNICODE_MSLU must be defined."
180# else
181# define wxUSE_UNICODE_MSLU 0
182# endif
183#endif /* wxUSE_UNICODE_MSLU */
184
185#ifndef wxUSE_UXTHEME
186# ifdef wxABORT_ON_CONFIG_ERROR
187# error "wxUSE_UXTHEME must be defined."
188# else
189# define wxUSE_UXTHEME 0
190# endif
191#endif /* wxUSE_UXTHEME */
192
193#ifndef wxUSE_UXTHEME_AUTO
194# ifdef wxABORT_ON_CONFIG_ERROR
195# error "wxUSE_UXTHEME_AUTO must be defined."
196# else
197# define wxUSE_UXTHEME_AUTO 0
198# endif
199#endif /* wxUSE_UXTHEME_AUTO */
200
201#ifndef wxUSE_MS_HTML_HELP
202# ifdef wxABORT_ON_CONFIG_ERROR
203# error "wxUSE_MS_HTML_HELP must be defined."
204# else
205# define wxUSE_MS_HTML_HELP 0
206# endif
207#endif /* !defined(wxUSE_MS_HTML_HELP) */
208
209#ifndef wxUSE_DIALUP_MANAGER
210# ifdef wxABORT_ON_CONFIG_ERROR
211# error "wxUSE_DIALUP_MANAGER must be defined."
212# else
213# define wxUSE_DIALUP_MANAGER 0
214# endif
215#endif /* !defined(wxUSE_DIALUP_MANAGER) */
216
217#if !wxUSE_DYNAMIC_LOADER
218# if wxUSE_MS_HTML_HELP
219# ifdef wxABORT_ON_CONFIG_ERROR
220# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
221# else
222# define wxUSE_DYNAMIC_LOADER 1
223# endif
224# endif
225# if wxUSE_DIALUP_MANAGER
226# ifdef wxABORT_ON_CONFIG_ERROR
227# error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
228# else
229# define wxUSE_DYNAMIC_LOADER 1
230# endif
231# endif
232#endif /* wxUSE_DYNAMIC_LOADER */
233
5e7f00a1 234#endif /* _WX_MSW_CHKCONF_H_ */
01ebf752 235