+
+
+/*
+ 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 */
+
+# if wxUSE_UNICODE_MSLU
+# undef wxUSE_UNICODE_MSLU
+# define wxUSE_UNICODE_MSLU 0
+# endif /* wxUSE_UNICODE_MSLU */
+#endif /* __WINE__ */
+
+
+/* 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
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
+# else
+# 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
+# undef wxUSE_DIALUP_MANAGER
+# define wxUSE_DIALUP_MANAGER 0
+# endif
+# endif
+#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