X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c232ecbafb32b1f607d788677f1d5775af3132a..ea098413d0e9c3f794f43826137a636e229f26f9:/include/wx/msw/chkconf.h diff --git a/include/wx/msw/chkconf.h b/include/wx/msw/chkconf.h index 9841894966..b00c977038 100644 --- a/include/wx/msw/chkconf.h +++ b/include/wx/msw/chkconf.h @@ -37,7 +37,8 @@ #endif #ifndef wxUSE_NORLANDER_HEADERS -# if (defined(__WATCOMC__) && (__WATCOMC__ >= 1200)) || defined(__WINE__) || ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))) +# if ( wxCHECK_WATCOM_VERSION(1,0) || defined(__WINE__) ) || \ + ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))) # define wxUSE_NORLANDER_HEADERS 1 # else # define wxUSE_NORLANDER_HEADERS 0 @@ -56,6 +57,15 @@ # define wxUSE_UNICODE_MSLU 0 #endif +/* + * Don't use MSLU if compiling with Wine + */ + +#if wxUSE_UNICODE_MSLU && defined(__WINE__) +# undef wxUSE_UNICODE_MSLU +# define wxUSE_UNICODE_MSLU 0 +#endif + /* * All of the settings below require SEH support (__try/__catch) and can't work * without it. @@ -70,7 +80,7 @@ # undef wxUSE_STACKWALKER # define wxUSE_STACKWALKER 0 -#endif // compiler doesn't support SEH +#endif /* compiler doesn't support SEH */ /* wxUSE_DEBUG_NEW_ALWAYS doesn't work with CodeWarrior */ #if defined(__MWERKS__) @@ -167,12 +177,6 @@ # define wxUSE_DEBUG_NEW_ALWAYS 0 #endif -/* Early Watcom version don't have good enough wide char support */ -#if defined(__WXMSW__) && (defined(__WATCOMC__) && __WATCOMC__ < 1200) -# undef wxUSE_WCHAR_T -# define wxUSE_WCHAR_T 0 -#endif - /* DMC++ doesn't have definitions for date picker control, so use generic control */ #ifdef __DMC__ @@ -184,6 +188,48 @@ # define wxUSE_DATEPICKCTRL_GENERIC 1 #endif + +/* check that MSW-specific options are defined too */ +#ifndef wxUSE_ACTIVEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ACTIVEX must be defined." +# else +# define wxUSE_ACTIVEX 0 +# endif +#endif /* !defined(wxUSE_ACTIVEX) */ + +#ifndef wxUSE_DIALUP_MANAGER +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_DIALUP_MANAGER must be defined." +# else +# define wxUSE_DIALUP_MANAGER 0 +# endif +#endif /* !defined(wxUSE_DIALUP_MANAGER) */ + +#ifndef wxUSE_MS_HTML_HELP +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_MS_HTML_HELP must be defined." +# else +# define wxUSE_MS_HTML_HELP 0 +# endif +#endif /* !defined(wxUSE_MS_HTML_HELP) */ + +#ifndef wxUSE_OLE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_OLE must be defined." +# else +# define wxUSE_OLE 0 +# endif +#endif /* !defined(wxUSE_OLE) */ + +#ifndef wxUSE_OLE_AUTOMATION +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_OLE_AUTOMATION must be defined." +# else +# define wxUSE_OLE_AUTOMATION 0 +# endif +#endif /* !defined(wxUSE_OLE_AUTOMATION) */ + #ifndef wxUSE_UNICODE_MSLU # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_UNICODE_MSLU must be defined." @@ -208,79 +254,125 @@ # endif #endif /* wxUSE_UXTHEME_AUTO */ -#ifndef wxUSE_MS_HTML_HELP -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_MS_HTML_HELP must be defined." -# else -# define wxUSE_MS_HTML_HELP 0 -# endif -#endif /* !defined(wxUSE_MS_HTML_HELP) */ -#ifndef wxUSE_DIALUP_MANAGER -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_DIALUP_MANAGER must be defined." -# else -# define wxUSE_DIALUP_MANAGER 0 -# endif -#endif /* !defined(wxUSE_DIALUP_MANAGER) */ +/* + un/redefine the options which we can't compile (after checking that they're + defined + */ +#ifdef __WINE__ + /* apparently it doesn't compile under Wine, remove it/when it does */ + #if wxUSE_ACTIVEX + #undef wxUSE_ACTIVEX + #define wxUSE_ACTIVEX 0 + #endif // wxUSE_ACTIVEX +#endif // __WINE__ + + +/* check settings consistency for MSW-specific ones */ +#if !wxUSE_VARIANT +# if wxUSE_ACTIVEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxActiveXContainer requires wxVariant" +# else +# undef wxUSE_ACTIVEX +# define wxUSE_ACTIVEX 0 +# endif +# endif + +# if wxUSE_OLE_AUTOMATION +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxAutomationObject requires wxVariant" +# else +# undef wxUSE_OLE_AUTOMATION +# define wxUSE_OLE_AUTOMATION 0 +# endif +# endif +#endif /* !wxUSE_VARIANT */ #if !wxUSE_DYNAMIC_LOADER # if wxUSE_MS_HTML_HELP # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER." # else -# define wxUSE_DYNAMIC_LOADER 1 +# undef wxUSE_MS_HTML_HELP +# define wxUSE_MS_HTML_HELP 0 # endif # endif # if wxUSE_DIALUP_MANAGER # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER." # else -# define wxUSE_DYNAMIC_LOADER 1 +# undef wxUSE_DIALUP_MANAGER +# define wxUSE_DIALUP_MANAGER 0 # endif # endif -#endif /* wxUSE_DYNAMIC_LOADER */ +#endif /* !wxUSE_DYNAMIC_LOADER */ +#if !wxUSE_DYNLIB_CLASS +# if wxUSE_UXTHEME +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_UXTHEME requires wxUSE_DYNLIB_CLASS" +# else +# undef wxUSE_UXTHEME +# define wxUSE_UXTHEME 0 +# endif +# endif +# if wxUSE_MEDIACTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_MEDIACTRL requires wxUSE_DYNLIB_CLASS" +# else +# undef wxUSE_MEDIACTRL +# define wxUSE_MEDIACTRL 0 +# endif +# endif +# if wxUSE_INKEDIT +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_INKEDIT requires wxUSE_DYNLIB_CLASS" +# else +# undef wxUSE_INKEDIT +# define wxUSE_INKEDIT 0 +# endif +# endif +#endif /* !wxUSE_DYNLIB_CLASS */ -/* - Finally, although this is not really a configuration check, do it here for - now as we'll supplement it with a real consistency check verifying that - wxUSE_UNICODE_MSLU corresponds to USE_MSLU in the makefiles. But for MSVC - we can do even better: not just check for consistency but even link in the - lib ourselves if needed. - - Notice that this is used for DLL wx build, as otherwise we have to do the - same for the main executable and not the (static) library. It is done in - msvc/wx/setup.h in that case. - */ -#if wxUSE_UNICODE_MSLU && \ - (defined(WXMAKINGDLL) || \ - defined(WXMAKINGDLL_NET) || \ - defined(WXMAKINGDLL_CORE) || \ - defined(WXMAKINGDLL_ADV) || \ - defined(WXMAKINGDLL_ODBC) || \ - defined(WXMAKINGDLL_DBGRID) || \ - defined(WXMAKINGDLL_HTML) || \ - defined(WXMAKINGDLL_GL) || \ - defined(WXMAKINGDLL_XML) || \ - defined(WXMAKINGDLL_XRC) || \ - defined(WXMAKINGDLL_MEDIA)) - // first remove all default libraries - #pragma comment(linker, "/nod:kernel32.lib /nod:advapi32.lib /nod:user32.lib /nod:gdi32.lib /nod:shell32.lib /nod:comdlg32.lib /nod:version.lib /nod:mpr.lib /nod:rasapi32.lib /nod:winmm.lib /nod:winspool.lib /nod:vfw32.lib /nod:secur32.lib /nod:oleacc.lib /nod:oledlg.lib /nod:sensapi.lib") - - // then add unicows.lib as the first library - #pragma comment(lib, "unicows.lib") - - // and only then re-add back all the other ones - #pragma comment(lib, "kernel32.lib") - #pragma comment(lib, "user32.lib") - #pragma comment(lib, "gdi32.lib") - #pragma comment(lib, "winspool.lib") - #pragma comment(lib, "comdlg32.lib") - #pragma comment(lib, "advapi32.lib") - #pragma comment(lib, "shell32.lib") - #pragma comment(lib, "oleacc.lib") -#endif +#if !wxUSE_OLE +# if wxUSE_ACTIVEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxActiveXContainer requires wxUSE_OLE" +# else +# undef wxUSE_ACTIVEX +# define wxUSE_ACTIVEX 0 +# endif +# endif -#endif /* _WX_MSW_CHKCONF_H_ */ +# if wxUSE_DATAOBJ +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_DATAOBJ requires wxUSE_OLE" +# else +# undef wxUSE_DATAOBJ +# define wxUSE_DATAOBJ 0 +# endif +# endif + +# if wxUSE_OLE_AUTOMATION +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxAutomationObject requires wxUSE_OLE" +# else +# undef wxUSE_OLE_AUTOMATION +# define wxUSE_OLE_AUTOMATION 0 +# endif +# endif +#endif /* !wxUSE_OLE */ +#if !wxUSE_ACTIVEX +# if wxUSE_MEDIACTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxMediaCtl requires wxActiveXContainer" +# else +# undef wxUSE_MEDIACTRL +# define wxUSE_MEDIACTRL 0 +# endif +# endif +#endif /* !wxUSE_ACTIVEX */ + +#endif /* _WX_MSW_CHKCONF_H_ */