+#if wxUSE_SOCKETS && !wxUSE_STOPWATCH
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
+# else
+# undef wxUSE_SOCKETS
+# define wxUSE_SOCKETS 0
+# endif
+#endif /* wxUSE_SOCKETS */
+
+#if wxUSE_SVG && !wxUSE_STREAMS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SVG requires wxUSE_STREAMS"
+# else
+# undef wxUSE_SVG
+# define wxUSE_SVG 0
+# endif
+#endif /* wxUSE_SVG */
+
+#if wxUSE_SVG && !wxUSE_IMAGE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SVG requires wxUSE_IMAGE"
+# else
+# undef wxUSE_SVG
+# define wxUSE_SVG 0
+# endif
+#endif /* wxUSE_SVG */
+
+#if wxUSE_SVG && !wxUSE_LIBPNG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SVG requires wxUSE_LIBPNG"
+# else
+# undef wxUSE_SVG
+# define wxUSE_SVG 0
+# endif
+#endif /* wxUSE_SVG */
+
+#if wxUSE_TASKBARICON && !wxUSE_MENUS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TASKBARICON requires wxUSE_MENUS"
+# else
+# undef wxUSE_TASKBARICON
+# define wxUSE_TASKBARICON 0
+# endif
+#endif /* wxUSE_TASKBARICON */
+
+#if !wxUSE_VARIANT
+# if wxUSE_DATAVIEWCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxDataViewCtrl requires wxVariant"
+# else
+# undef wxUSE_DATAVIEWCTRL
+# define wxUSE_DATAVIEWCTRL 0
+# endif
+# endif
+#endif /* wxUSE_VARIANT */
+
+#if wxUSE_TREELISTCTRL && !wxUSE_DATAVIEWCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TREELISTCTRL requires wxDataViewCtrl"
+# else
+# undef wxUSE_TREELISTCTRL
+# define wxUSE_TREELISTCTRL 0
+# endif
+#endif /* wxUSE_TREELISTCTRL */
+
+#if wxUSE_WEBVIEW && !(wxUSE_WEBVIEW_WEBKIT || wxUSE_WEBVIEW_IE)
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_WEBVIEW requires at least one backend"
+# else
+# undef wxUSE_WEBVIEW
+# define wxUSE_WEBVIEW 0
+# endif
+#endif /* wxUSE_WEBVIEW && !any web view backend */