#define _WX_MSW_CHKCONF_H_
/* ensure that MSW-specific settings are defined */
+#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_CRASHREPORT
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_CRASHREPORT must be defined."
+# else
+# define wxUSE_CRASHREPORT 0
+# endif
+#endif /* !defined(wxUSE_CRASHREPORT) */
+
#ifndef wxUSE_DC_CACHEING
# ifdef wxABORT_ON_CONFIG_ERROR
# error "wxUSE_DC_CACHEING must be defined"
# endif
#endif /* wxUSE_DC_CACHEING */
+#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_INICONF
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_INICONF must be defined."
+# else
+# define wxUSE_INICONF 0
+# endif
+#endif /* !defined(wxUSE_INICONF) */
+
+#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_TASKBARICON_BALLOONS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TASKBARICON_BALLOONS must be defined."
+# else
+# define wxUSE_TASKBARICON_BALLOONS 0
+# endif
+#endif /* wxUSE_TASKBARICON_BALLOONS */
+
+#ifndef wxUSE_UNICODE_MSLU
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_UNICODE_MSLU must be defined."
+# else
+# define wxUSE_UNICODE_MSLU 0
+# endif
+#endif /* wxUSE_UNICODE_MSLU */
+
+#ifndef wxUSE_UXTHEME
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_UXTHEME must be defined."
+# else
+# define wxUSE_UXTHEME 0
+# endif
+#endif /* wxUSE_UXTHEME */
/*
- * disable the settings which don't work for some compilers
+ * We don't want to give an error if wxUSE_UNICODE_MSLU is enabled but
+ * wxUSE_UNICODE is not as this would make it impossible to simply set the
+ * former in wx/setup.h as then the library wouldn't compile in non-Unicode
+ * configurations, so instead simply unset it silently when it doesn't make
+ * sense.
*/
+#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
+# undef wxUSE_UNICODE_MSLU
+# define wxUSE_UNICODE_MSLU 0
+#endif
+
/*
- * If using PostScript-in-MSW in Univ, must enable PostScript
+ * disable the settings which don't work for some compilers
*/
-#if defined(__WXUNIVERSAL__) && wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW && !wxUSE_POSTSCRIPT
-# undef wxUSE_POSTSCRIPT
-# define wxUSE_POSTSCRIPT 1
-#endif
#ifndef wxUSE_NORLANDER_HEADERS
# if ( wxCHECK_WATCOM_VERSION(1,0) || defined(__WINE__) ) || \
#endif
/*
- * We don't want to give an error if wxUSE_UNICODE_MSLU is enabled but
- * wxUSE_UNICODE is not as this would make it impossible to simply set the
- * former in wx/setup.h as then the library wouldn't compile in non-Unicode
- * configurations, so instead simply unset it silently when it doesn't make
- * sense.
+ * See WINVER definition in wx/msw/wrapwin.h for the explanation of this test
+ * logic.
*/
-#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
-# undef wxUSE_UNICODE_MSLU
-# define wxUSE_UNICODE_MSLU 0
+#if (defined(__VISUALC__) && (__VISUALC__ < 1300)) && \
+ (!defined(WINVER) || WINVER < 0x0500)
+# undef wxUSE_TASKBARICON_BALLOONS
+# define wxUSE_TASKBARICON_BALLOONS 0
#endif
/*
# define wxUSE_DATEPICKCTRL_GENERIC 1
#endif
-#ifndef wxUSE_UNICODE_MSLU
-# ifdef wxABORT_ON_CONFIG_ERROR
-# error "wxUSE_UNICODE_MSLU must be defined."
-# else
-# define wxUSE_UNICODE_MSLU 0
-# endif
-#endif /* wxUSE_UNICODE_MSLU */
-#ifndef wxUSE_UXTHEME
-# ifdef wxABORT_ON_CONFIG_ERROR
-# error "wxUSE_UXTHEME must be defined."
-# else
-# define wxUSE_UXTHEME 0
-# endif
-#endif /* wxUSE_UXTHEME */
-#ifndef wxUSE_UXTHEME_AUTO
-# ifdef wxABORT_ON_CONFIG_ERROR
-# error "wxUSE_UXTHEME_AUTO must be defined."
-# else
-# define wxUSE_UXTHEME_AUTO 0
-# endif
-#endif /* wxUSE_UXTHEME_AUTO */
+/*
+ un/redefine the options which we can't compile (after checking that they're
+ defined
+ */
+#ifdef __WINE__
+# if wxUSE_ACTIVEX
+# undef wxUSE_ACTIVEX
+# define wxUSE_ACTIVEX 0
+# endif /* wxUSE_ACTIVEX */
-#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) */
+# if wxUSE_UNICODE_MSLU
+# undef wxUSE_UNICODE_MSLU
+# define wxUSE_UNICODE_MSLU 0
+# endif /* wxUSE_UNICODE_MSLU */
+#endif /* __WINE__ */
-#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) */
+
+/* check settings consistency for MSW-specific ones */
+#if wxUSE_CRASHREPORT && !wxUSE_ON_FATAL_EXCEPTION
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_CRASHREPORT requires wxUSE_ON_FATAL_EXCEPTION"
+# else
+# undef wxUSE_CRASHREPORT
+# define wxUSE_CRASHREPORT 0
+# endif
+#endif /* wxUSE_CRASHREPORT */
+
+#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
# 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 */
+
+#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
+
+# 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 */
+
+#if defined(__WXUNIVERSAL__) && wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW && !wxUSE_POSTSCRIPT
+# undef wxUSE_POSTSCRIPT
+# define wxUSE_POSTSCRIPT 1
+#endif
+
+/*
+ Currently MSVC can't build the library with new-style events:
+ - VC6 simply doesn't have good enough templates support
+ - VC7 always seems to choos the Connect() overload using Functor, even when
+ the argument is a class method
+ - VC9 compiles the code fine but fails at linking stage in DLL build
+ */
+#if !wxEVENTS_COMPATIBILITY_2_8
+# if defined(__VISUALC__)
+# undef wxEVENTS_COMPATIBILITY_2_8
+# define wxEVENTS_COMPATIBILITY_2_8 1
+# endif
+#endif
#endif /* _WX_MSW_CHKCONF_H_ */