]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/chkconf.h
Slightly more efficient wxDataViewCtrl::StartEditor().
[wxWidgets.git] / include / wx / chkconf.h
index 29868206a88736a0b09573b442fd97dd8cdac496..c5fbd78967b7ec91cd383725c7ad96bafe60cd3e 100644 (file)
 #ifndef _WX_CHKCONF_H_
 #define _WX_CHKCONF_H_
 
 #ifndef _WX_CHKCONF_H_
 #define _WX_CHKCONF_H_
 
+/*
+              **************************************************
+              PLEASE READ THIS IF YOU GET AN ERROR IN THIS FILE!
+              **************************************************
+
+    If you get an error saying "wxUSE_FOO must be defined", it means that you
+    are not using the correct up-to-date version of setup.h. This happens most
+    often when using svn or daily snapshots and a new symbol was added to
+    setup0.h and you haven't updated your local setup.h to reflect it. If
+    this is the case, you need to propagate the changes from setup0.h to your
+    setup.h and, if using makefiles under MSW, also remove setup.h under the
+    build directory (lib/$(COMPILER)_{lib,dll}/msw[u][d][dll]/wx) so that
+    the new setup.h is copied there.
+
+    If you get an error of the form "wxFoo requires wxBar", then the settings
+    in your setup.h are inconsistent. You have the choice between correcting
+    them manually or commenting out #define wxABORT_ON_CONFIG_ERROR below to
+    try to correct the problems automatically (not really recommended but
+    might work).
+ */
+
 /*
    This file has the following sections:
     1. checks that all wxUSE_XXX symbols we use are defined
 /*
    This file has the following sections:
     1. checks that all wxUSE_XXX symbols we use are defined
@@ -28,7 +49,7 @@
    this global setting determines what should we do if the setting FOO
    requires BAR and BAR is not set: we can either silently unset FOO as well
    (do this if you're trying to build the smallest possible library) or give an
    this global setting determines what should we do if the setting FOO
    requires BAR and BAR is not set: we can either silently unset FOO as well
    (do this if you're trying to build the smallest possible library) or give an
-   error and abort (default as leads to least surprizing behaviour)
+   error and abort (default as leads to least surprising behaviour)
  */
 #define wxABORT_ON_CONFIG_ERROR
 
  */
 #define wxABORT_ON_CONFIG_ERROR
 
@@ -70,7 +91,7 @@
 
 #ifndef wxUSE_ANY
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ANY
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ANY must be defined."
+#       error "wxUSE_ANY must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ANY 0
 #   endif
 #   else
 #       define wxUSE_ANY 0
 #   endif
@@ -78,7 +99,7 @@
 
 #ifndef wxUSE_CONSOLE_EVENTLOOP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CONSOLE_EVENTLOOP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CONSOLE_EVENTLOOP must be defined."
+#       error "wxUSE_CONSOLE_EVENTLOOP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CONSOLE_EVENTLOOP 0
 #   endif
 #   else
 #       define wxUSE_CONSOLE_EVENTLOOP 0
 #   endif
 
 #ifndef wxUSE_DYNLIB_CLASS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_DYNLIB_CLASS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DYNLIB_CLASS must be defined."
+#       error "wxUSE_DYNLIB_CLASS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DYNLIB_CLASS 0
 #   endif
 #   else
 #       define wxUSE_DYNLIB_CLASS 0
 #   endif
 
 #ifndef wxUSE_EXCEPTIONS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_EXCEPTIONS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_EXCEPTIONS must be defined."
+#       error "wxUSE_EXCEPTIONS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_EXCEPTIONS 0
 #   endif
 #endif /* !defined(wxUSE_EXCEPTIONS) */
 
 #   else
 #       define wxUSE_EXCEPTIONS 0
 #   endif
 #endif /* !defined(wxUSE_EXCEPTIONS) */
 
+#ifndef wxUSE_FILE_HISTORY
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_FILE_HISTORY must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_FILE_HISTORY 0
+#   endif
+#endif /* !defined(wxUSE_FILE_HISTORY) */
+
 #ifndef wxUSE_FILESYSTEM
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_FILESYSTEM
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FILESYSTEM must be defined."
+#       error "wxUSE_FILESYSTEM must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FILESYSTEM 0
 #   endif
 #   else
 #       define wxUSE_FILESYSTEM 0
 #   endif
 
 #ifndef wxUSE_FS_ARCHIVE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FS_ARCHIVE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FS_ARCHIVE must be defined."
+#       error "wxUSE_FS_ARCHIVE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FS_ARCHIVE 0
 #   endif
 #   else
 #       define wxUSE_FS_ARCHIVE 0
 #   endif
 
 #ifndef wxUSE_FSVOLUME
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FSVOLUME
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FSVOLUME must be defined."
+#       error "wxUSE_FSVOLUME must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FSVOLUME 0
 #   endif
 #endif /* !defined(wxUSE_FSVOLUME) */
 
 #   else
 #       define wxUSE_FSVOLUME 0
 #   endif
 #endif /* !defined(wxUSE_FSVOLUME) */
 
+#ifndef wxUSE_FSWATCHER
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_FSWATCHER must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_FSWATCHER 0
+#   endif
+#endif /* !defined(wxUSE_FSWATCHER) */
+
 #ifndef wxUSE_DYNAMIC_LOADER
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_DYNAMIC_LOADER
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DYNAMIC_LOADER must be defined."
+#       error "wxUSE_DYNAMIC_LOADER must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DYNAMIC_LOADER 0
 #   endif
 #   else
 #       define wxUSE_DYNAMIC_LOADER 0
 #   endif
 
 #ifndef wxUSE_INTL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_INTL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_INTL must be defined."
+#       error "wxUSE_INTL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_INTL 0
 #   endif
 #   else
 #       define wxUSE_INTL 0
 #   endif
 
 #ifndef wxUSE_IPV6
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_IPV6
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_IPV6 must be defined."
+#       error "wxUSE_IPV6 must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_IPV6 0
 #   endif
 #   else
 #       define wxUSE_IPV6 0
 #   endif
 
 #ifndef wxUSE_LOG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LOG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LOG must be defined."
+#       error "wxUSE_LOG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LOG 0
 #   endif
 #   else
 #       define wxUSE_LOG 0
 #   endif
 
 #ifndef wxUSE_LONGLONG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LONGLONG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LONGLONG must be defined."
+#       error "wxUSE_LONGLONG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LONGLONG 0
 #   endif
 #   else
 #       define wxUSE_LONGLONG 0
 #   endif
 
 #ifndef wxUSE_MIMETYPE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_MIMETYPE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_MIMETYPE must be defined."
+#       error "wxUSE_MIMETYPE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_MIMETYPE 0
 #   endif
 #   else
 #       define wxUSE_MIMETYPE 0
 #   endif
 
 #ifndef wxUSE_ON_FATAL_EXCEPTION
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ON_FATAL_EXCEPTION
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ON_FATAL_EXCEPTION must be defined."
+#       error "wxUSE_ON_FATAL_EXCEPTION must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ON_FATAL_EXCEPTION 0
 #   endif
 #   else
 #       define wxUSE_ON_FATAL_EXCEPTION 0
 #   endif
 
 #ifndef wxUSE_PRINTF_POS_PARAMS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PRINTF_POS_PARAMS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PRINTF_POS_PARAMS must be defined."
+#       error "wxUSE_PRINTF_POS_PARAMS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PRINTF_POS_PARAMS 0
 #   endif
 #   else
 #       define wxUSE_PRINTF_POS_PARAMS 0
 #   endif
 
 #ifndef wxUSE_PROTOCOL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PROTOCOL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PROTOCOL must be defined."
+#       error "wxUSE_PROTOCOL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PROTOCOL 0
 #   endif
 #   else
 #       define wxUSE_PROTOCOL 0
 #   endif
 
 #ifndef wxUSE_PROTOCOL_HTTP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PROTOCOL_HTTP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PROTOCOL_HTTP must be defined."
+#       error "wxUSE_PROTOCOL_HTTP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PROTOCOL_HTTP 0
 #   endif
 #   else
 #       define wxUSE_PROTOCOL_HTTP 0
 #   endif
 
 #ifndef wxUSE_PROTOCOL_FTP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PROTOCOL_FTP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PROTOCOL_FTP must be defined."
+#       error "wxUSE_PROTOCOL_FTP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PROTOCOL_FTP 0
 #   endif
 #   else
 #       define wxUSE_PROTOCOL_FTP 0
 #   endif
 
 #ifndef wxUSE_PROTOCOL_FILE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PROTOCOL_FILE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PROTOCOL_FILE must be defined."
+#       error "wxUSE_PROTOCOL_FILE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PROTOCOL_FILE 0
 #   endif
 #   else
 #       define wxUSE_PROTOCOL_FILE 0
 #   endif
 
 #ifndef wxUSE_REGEX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_REGEX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_REGEX must be defined."
+#       error "wxUSE_REGEX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_REGEX 0
 #   endif
 #   else
 #       define wxUSE_REGEX 0
 #   endif
 
 #ifndef wxUSE_STDPATHS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STDPATHS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STDPATHS must be defined."
+#       error "wxUSE_STDPATHS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STDPATHS 1
 #   endif
 #   else
 #       define wxUSE_STDPATHS 1
 #   endif
 
 #ifndef wxUSE_XML
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_XML
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_XML must be defined."
+#       error "wxUSE_XML must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_XML 0
 #   endif
 #   else
 #       define wxUSE_XML 0
 #   endif
 
 #ifndef wxUSE_SOCKETS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SOCKETS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SOCKETS must be defined."
+#       error "wxUSE_SOCKETS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SOCKETS 0
 #   endif
 #endif /* !defined(wxUSE_SOCKETS) */
 
 #   else
 #       define wxUSE_SOCKETS 0
 #   endif
 #endif /* !defined(wxUSE_SOCKETS) */
 
+#ifndef wxUSE_STD_CONTAINERS
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_STD_CONTAINERS must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_STD_CONTAINERS 0
+#   endif
+#endif /* !defined(wxUSE_STD_CONTAINERS) */
+
+#ifndef wxUSE_STD_STRING_CONV_IN_WXSTRING
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_STD_STRING_CONV_IN_WXSTRING must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_STD_STRING_CONV_IN_WXSTRING 0
+#   endif
+#endif /* !defined(wxUSE_STD_STRING_CONV_IN_WXSTRING) */
+
 #ifndef wxUSE_STREAMS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_STREAMS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STREAMS must be defined."
+#       error "wxUSE_STREAMS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STREAMS 0
 #   endif
 #   else
 #       define wxUSE_STREAMS 0
 #   endif
 
 #ifndef wxUSE_STOPWATCH
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STOPWATCH
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STOPWATCH must be defined."
+#       error "wxUSE_STOPWATCH must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STOPWATCH 0
 #   endif
 #   else
 #       define wxUSE_STOPWATCH 0
 #   endif
 
 #ifndef wxUSE_TEXTBUFFER
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TEXTBUFFER
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TEXTBUFFER must be defined."
+#       error "wxUSE_TEXTBUFFER must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TEXTBUFFER 0
 #   endif
 #   else
 #       define wxUSE_TEXTBUFFER 0
 #   endif
 
 #ifndef wxUSE_TEXTFILE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TEXTFILE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TEXTFILE must be defined."
+#       error "wxUSE_TEXTFILE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TEXTFILE 0
 #   endif
 #   else
 #       define wxUSE_TEXTFILE 0
 #   endif
 
 #ifndef wxUSE_UNICODE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_UNICODE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_UNICODE must be defined."
+#       error "wxUSE_UNICODE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_UNICODE 0
 #   endif
 #   else
 #       define wxUSE_UNICODE 0
 #   endif
 
 #ifndef wxUSE_URL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_URL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_URL must be defined."
+#       error "wxUSE_URL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_URL 0
 #   endif
 #   else
 #       define wxUSE_URL 0
 #   endif
 
 #ifndef wxUSE_VARIANT
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_VARIANT
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_VARIANT must be defined."
+#       error "wxUSE_VARIANT must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_VARIANT 0
 #   endif
 #   else
 #       define wxUSE_VARIANT 0
 #   endif
 
 #ifndef wxUSE_XLOCALE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_XLOCALE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_XLOCALE must be defined."
+#       error "wxUSE_XLOCALE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_XLOCALE 0
 #   endif
 #   else
 #       define wxUSE_XLOCALE 0
 #   endif
 
 #ifndef wxUSE_ABOUTDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ABOUTDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ABOUTDLG must be defined."
+#       error "wxUSE_ABOUTDLG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ABOUTDLG 0
 #   endif
 #   else
 #       define wxUSE_ABOUTDLG 0
 #   endif
 
 #ifndef wxUSE_ACCEL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ACCEL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ACCEL must be defined."
+#       error "wxUSE_ACCEL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ACCEL 0
 #   endif
 #   else
 #       define wxUSE_ACCEL 0
 #   endif
 
 #ifndef wxUSE_ACCESSIBILITY
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ACCESSIBILITY
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ACCESSIBILITY must be defined."
+#       error "wxUSE_ACCESSIBILITY must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ACCESSIBILITY 0
 #   endif
 #   else
 #       define wxUSE_ACCESSIBILITY 0
 #   endif
 
 #ifndef wxUSE_ANIMATIONCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ANIMATIONCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ANIMATIONCTRL must be defined."
+#       error "wxUSE_ANIMATIONCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ANIMATIONCTRL 0
 #   endif
 #endif /* !defined(wxUSE_ANIMATIONCTRL) */
 
 #   else
 #       define wxUSE_ANIMATIONCTRL 0
 #   endif
 #endif /* !defined(wxUSE_ANIMATIONCTRL) */
 
+#ifndef wxUSE_ARTPROVIDER_STD
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_ARTPROVIDER_STD must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_ARTPROVIDER_STD 0
+#   endif
+#endif /* !defined(wxUSE_ARTPROVIDER_STD) */
+
+#ifndef wxUSE_ARTPROVIDER_TANGO
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_ARTPROVIDER_TANGO must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_ARTPROVIDER_TANGO 0
+#   endif
+#endif /* !defined(wxUSE_ARTPROVIDER_TANGO) */
+
 #ifndef wxUSE_AUTOID_MANAGEMENT
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_AUTOID_MANAGEMENT
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_AUTOID_MANAGEMENT must be defined."
+#       error "wxUSE_AUTOID_MANAGEMENT must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_AUTOID_MANAGEMENT 0
 #   endif
 #   else
 #       define wxUSE_AUTOID_MANAGEMENT 0
 #   endif
 
 #ifndef wxUSE_BITMAPCOMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_BITMAPCOMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_BITMAPCOMBOBOX must be defined."
+#       error "wxUSE_BITMAPCOMBOBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_BITMAPCOMBOBOX 0
 #   endif
 #   else
 #       define wxUSE_BITMAPCOMBOBOX 0
 #   endif
 
 #ifndef wxUSE_BMPBUTTON
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_BMPBUTTON
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_BMPBUTTON must be defined."
+#       error "wxUSE_BMPBUTTON must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_BMPBUTTON 0
 #   endif
 #   else
 #       define wxUSE_BMPBUTTON 0
 #   endif
 
 #ifndef wxUSE_BUTTON
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_BUTTON
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_BUTTON must be defined."
+#       error "wxUSE_BUTTON must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_BUTTON 0
 #   endif
 #endif /* !defined(wxUSE_BUTTON) */
 
 #   else
 #       define wxUSE_BUTTON 0
 #   endif
 #endif /* !defined(wxUSE_BUTTON) */
 
+#ifndef wxUSE_CAIRO
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_CAIRO must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_CAIRO 0
+#   endif
+#endif /* !defined(wxUSE_CAIRO) */
+
 #ifndef wxUSE_CALENDARCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_CALENDARCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CALENDARCTRL must be defined."
+#       error "wxUSE_CALENDARCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CALENDARCTRL 0
 #   endif
 #   else
 #       define wxUSE_CALENDARCTRL 0
 #   endif
 
 #ifndef wxUSE_CARET
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CARET
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CARET must be defined."
+#       error "wxUSE_CARET must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CARET 0
 #   endif
 #   else
 #       define wxUSE_CARET 0
 #   endif
 
 #ifndef wxUSE_CHECKBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CHECKBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CHECKBOX must be defined."
+#       error "wxUSE_CHECKBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CHECKBOX 0
 #   endif
 #   else
 #       define wxUSE_CHECKBOX 0
 #   endif
 
 #ifndef wxUSE_CHECKLISTBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CHECKLISTBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CHECKLISTBOX must be defined."
+#       error "wxUSE_CHECKLISTBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CHECKLISTBOX 0
 #   endif
 #   else
 #       define wxUSE_CHECKLISTBOX 0
 #   endif
 
 #ifndef wxUSE_CHOICE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CHOICE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CHOICE must be defined."
+#       error "wxUSE_CHOICE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CHOICE 0
 #   endif
 #   else
 #       define wxUSE_CHOICE 0
 #   endif
 
 #ifndef wxUSE_CHOICEBOOK
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CHOICEBOOK
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CHOICEBOOK must be defined."
+#       error "wxUSE_CHOICEBOOK must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CHOICEBOOK 0
 #   endif
 #   else
 #       define wxUSE_CHOICEBOOK 0
 #   endif
 
 #ifndef wxUSE_CHOICEDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CHOICEDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CHOICEDLG must be defined."
+#       error "wxUSE_CHOICEDLG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CHOICEDLG 0
 #   endif
 #   else
 #       define wxUSE_CHOICEDLG 0
 #   endif
 
 #ifndef wxUSE_CLIPBOARD
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_CLIPBOARD
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_CLIPBOARD must be defined."
+#       error "wxUSE_CLIPBOARD must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_CLIPBOARD 0
 #   endif
 #   else
 #       define wxUSE_CLIPBOARD 0
 #   endif
 
 #ifndef wxUSE_COLLPANE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_COLLPANE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_COLLPANE must be defined."
+#       error "wxUSE_COLLPANE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_COLLPANE 0
 #   endif
 #   else
 #       define wxUSE_COLLPANE 0
 #   endif
 
 #ifndef wxUSE_COLOURDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_COLOURDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_COLOURDLG must be defined."
+#       error "wxUSE_COLOURDLG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_COLOURDLG 0
 #   endif
 #   else
 #       define wxUSE_COLOURDLG 0
 #   endif
 
 #ifndef wxUSE_COLOURPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_COLOURPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_COLOURPICKERCTRL must be defined."
+#       error "wxUSE_COLOURPICKERCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_COLOURPICKERCTRL 0
 #   endif
 #   else
 #       define wxUSE_COLOURPICKERCTRL 0
 #   endif
 
 #ifndef wxUSE_COMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_COMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_COMBOBOX must be defined."
+#       error "wxUSE_COMBOBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_COMBOBOX 0
 #   endif
 #endif /* !defined(wxUSE_COMBOBOX) */
 
 #   else
 #       define wxUSE_COMBOBOX 0
 #   endif
 #endif /* !defined(wxUSE_COMBOBOX) */
 
+#ifndef wxUSE_COMMANDLINKBUTTON
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_COMMANDLINKBUTTON must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_COMMANDLINKBUTTON 0
+#   endif
+#endif /* !defined(wxUSE_COMMANDLINKBUTTON) */
+
 #ifndef wxUSE_COMBOCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_COMBOCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_COMBOCTRL must be defined."
+#       error "wxUSE_COMBOCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_COMBOCTRL 0
 #   endif
 #   else
 #       define wxUSE_COMBOCTRL 0
 #   endif
 
 #ifndef wxUSE_DATAOBJ
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_DATAOBJ
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DATAOBJ must be defined."
+#       error "wxUSE_DATAOBJ must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DATAOBJ 0
 #   endif
 #   else
 #       define wxUSE_DATAOBJ 0
 #   endif
 
 #ifndef wxUSE_DATAVIEWCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_DATAVIEWCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DATAVIEWCTRL must be defined."
+#       error "wxUSE_DATAVIEWCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DATAVIEWCTRL 0
 #   endif
 #   else
 #       define wxUSE_DATAVIEWCTRL 0
 #   endif
 
 #ifndef wxUSE_DATEPICKCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_DATEPICKCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DATEPICKCTRL must be defined."
+#       error "wxUSE_DATEPICKCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DATEPICKCTRL 0
 #   endif
 #endif /* !defined(wxUSE_DATEPICKCTRL) */
 
 #   else
 #       define wxUSE_DATEPICKCTRL 0
 #   endif
 #endif /* !defined(wxUSE_DATEPICKCTRL) */
 
+#ifndef wxUSE_DC_TRANSFORM_MATRIX
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_DC_TRANSFORM_MATRIX must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_DC_TRANSFORM_MATRIX 1
+#   endif
+#endif /* wxUSE_DC_TRANSFORM_MATRIX */
+
 #ifndef wxUSE_DIRPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_DIRPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DIRPICKERCTRL must be defined."
+#       error "wxUSE_DIRPICKERCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DIRPICKERCTRL 0
 #   endif
 #   else
 #       define wxUSE_DIRPICKERCTRL 0
 #   endif
 
 #ifndef wxUSE_DISPLAY
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_DISPLAY
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DISPLAY must be defined."
+#       error "wxUSE_DISPLAY must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DISPLAY 0
 #   endif
 #   else
 #       define wxUSE_DISPLAY 0
 #   endif
 
 #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
+#       error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_DOC_VIEW_ARCHITECTURE 0
 #   endif
 #   else
 #       define wxUSE_DOC_VIEW_ARCHITECTURE 0
 #   endif
 
 #ifndef wxUSE_FILECTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FILECTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FILECTRL must be defined."
+#       error "wxUSE_FILECTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FILECTRL 0
 #   endif
 #   else
 #       define wxUSE_FILECTRL 0
 #   endif
 
 #ifndef wxUSE_FILEDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FILEDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FILEDLG must be defined."
+#       error "wxUSE_FILEDLG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FILEDLG 0
 #   endif
 #   else
 #       define wxUSE_FILEDLG 0
 #   endif
 
 #ifndef wxUSE_FILEPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FILEPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FILEPICKERCTRL must be defined."
+#       error "wxUSE_FILEPICKERCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FILEPICKERCTRL 0
 #   endif
 #   else
 #       define wxUSE_FILEPICKERCTRL 0
 #   endif
 
 #ifndef wxUSE_FONTDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FONTDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FONTDLG must be defined."
+#       error "wxUSE_FONTDLG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FONTDLG 0
 #   endif
 #   else
 #       define wxUSE_FONTDLG 0
 #   endif
 
 #ifndef wxUSE_FONTMAP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FONTMAP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FONTMAP must be defined."
+#       error "wxUSE_FONTMAP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FONTMAP 0
 #   endif
 #   else
 #       define wxUSE_FONTMAP 0
 #   endif
 
 #ifndef wxUSE_FONTPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_FONTPICKERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_FONTPICKERCTRL must be defined."
+#       error "wxUSE_FONTPICKERCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_FONTPICKERCTRL 0
 #   endif
 #   else
 #       define wxUSE_FONTPICKERCTRL 0
 #   endif
 
 #ifndef wxUSE_GAUGE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_GAUGE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_GAUGE must be defined."
+#       error "wxUSE_GAUGE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_GAUGE 0
 #   endif
 #   else
 #       define wxUSE_GAUGE 0
 #   endif
 
 #ifndef wxUSE_GRAPHICS_CONTEXT
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_GRAPHICS_CONTEXT
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_GRAPHICS_CONTEXT must be defined."
+#       error "wxUSE_GRAPHICS_CONTEXT must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_GRAPHICS_CONTEXT 0
 #   endif
 #   else
 #       define wxUSE_GRAPHICS_CONTEXT 0
 #   endif
 
 #ifndef wxUSE_GRID
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_GRID
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_GRID must be defined."
+#       error "wxUSE_GRID must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_GRID 0
 #   endif
 #   else
 #       define wxUSE_GRID 0
 #   endif
 
 #ifndef wxUSE_HEADERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_HEADERCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_HEADERCTRL must be defined."
+#       error "wxUSE_HEADERCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_HEADERCTRL 0
 #   endif
 #   else
 #       define wxUSE_HEADERCTRL 0
 #   endif
 
 #ifndef wxUSE_HELP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_HELP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_HELP must be defined."
+#       error "wxUSE_HELP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_HELP 0
 #   endif
 #   else
 #       define wxUSE_HELP 0
 #   endif
 
 #ifndef wxUSE_HYPERLINKCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_HYPERLINKCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_HYPERLINKCTRL must be defined."
+#       error "wxUSE_HYPERLINKCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_HYPERLINKCTRL 0
 #   endif
 #   else
 #       define wxUSE_HYPERLINKCTRL 0
 #   endif
 
 #ifndef wxUSE_HTML
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_HTML
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_HTML must be defined."
+#       error "wxUSE_HTML must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_HTML 0
 #   endif
 #   else
 #       define wxUSE_HTML 0
 #   endif
 #       define wxUSE_LIBMSPACK 0
 #   else
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #       define wxUSE_LIBMSPACK 0
 #   else
 #       ifdef wxABORT_ON_CONFIG_ERROR
-#           error "wxUSE_LIBMSPACK must be defined."
+#           error "wxUSE_LIBMSPACK must be defined, please read comment near the top of this file."
 #       else
 #           define wxUSE_LIBMSPACK 0
 #       endif
 #       else
 #           define wxUSE_LIBMSPACK 0
 #       endif
 
 #ifndef wxUSE_ICO_CUR
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ICO_CUR
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ICO_CUR must be defined."
+#       error "wxUSE_ICO_CUR must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ICO_CUR 0
 #   endif
 #   else
 #       define wxUSE_ICO_CUR 0
 #   endif
 
 #ifndef wxUSE_IFF
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_IFF
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_IFF must be defined."
+#       error "wxUSE_IFF must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_IFF 0
 #   endif
 #   else
 #       define wxUSE_IFF 0
 #   endif
 
 #ifndef wxUSE_IMAGLIST
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_IMAGLIST
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_IMAGLIST must be defined."
+#       error "wxUSE_IMAGLIST must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_IMAGLIST 0
 #   endif
 #   else
 #       define wxUSE_IMAGLIST 0
 #   endif
 
 #ifndef wxUSE_INFOBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_INFOBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_INFOBAR must be defined."
+#       error "wxUSE_INFOBAR must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_INFOBAR 0
 #   endif
 #   else
 #       define wxUSE_INFOBAR 0
 #   endif
 
 #ifndef wxUSE_JOYSTICK
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_JOYSTICK
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_JOYSTICK must be defined."
+#       error "wxUSE_JOYSTICK must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_JOYSTICK 0
 #   endif
 #   else
 #       define wxUSE_JOYSTICK 0
 #   endif
 
 #ifndef wxUSE_LISTBOOK
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LISTBOOK
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LISTBOOK must be defined."
+#       error "wxUSE_LISTBOOK must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LISTBOOK 0
 #   endif
 #   else
 #       define wxUSE_LISTBOOK 0
 #   endif
 
 #ifndef wxUSE_LISTBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LISTBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LISTBOX must be defined."
+#       error "wxUSE_LISTBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LISTBOX 0
 #   endif
 #   else
 #       define wxUSE_LISTBOX 0
 #   endif
 
 #ifndef wxUSE_LISTCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LISTCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LISTCTRL must be defined."
+#       error "wxUSE_LISTCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LISTCTRL 0
 #   endif
 #   else
 #       define wxUSE_LISTCTRL 0
 #   endif
 
 #ifndef wxUSE_LOGGUI
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LOGGUI
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LOGGUI must be defined."
+#       error "wxUSE_LOGGUI must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LOGGUI 0
 #   endif
 #   else
 #       define wxUSE_LOGGUI 0
 #   endif
 
 #ifndef wxUSE_LOGWINDOW
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LOGWINDOW
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LOGWINDOW must be defined."
+#       error "wxUSE_LOGWINDOW must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LOGWINDOW 0
 #   endif
 #   else
 #       define wxUSE_LOGWINDOW 0
 #   endif
 
 #ifndef wxUSE_LOG_DIALOG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_LOG_DIALOG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_LOG_DIALOG must be defined."
+#       error "wxUSE_LOG_DIALOG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_LOG_DIALOG 0
 #   endif
 #endif /* !defined(wxUSE_LOG_DIALOG) */
 
 #   else
 #       define wxUSE_LOG_DIALOG 0
 #   endif
 #endif /* !defined(wxUSE_LOG_DIALOG) */
 
+#ifndef wxUSE_MARKUP
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_MARKUP must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_MARKUP 0
+#   endif
+#endif /* !defined(wxUSE_MARKUP) */
+
 #ifndef wxUSE_MDI
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_MDI
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_MDI must be defined."
+#       error "wxUSE_MDI must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_MDI 0
 #   endif
 #   else
 #       define wxUSE_MDI 0
 #   endif
 
 #ifndef wxUSE_MDI_ARCHITECTURE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_MDI_ARCHITECTURE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_MDI_ARCHITECTURE must be defined."
+#       error "wxUSE_MDI_ARCHITECTURE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_MDI_ARCHITECTURE 0
 #   endif
 #   else
 #       define wxUSE_MDI_ARCHITECTURE 0
 #   endif
 
 #ifndef wxUSE_MENUS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_MENUS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_MENUS must be defined."
+#       error "wxUSE_MENUS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_MENUS 0
 #   endif
 #   else
 #       define wxUSE_MENUS 0
 #   endif
 
 #ifndef wxUSE_MSGDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_MSGDLG
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_MSGDLG must be defined."
+#       error "wxUSE_MSGDLG must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_MSGDLG 0
 #   endif
 #   else
 #       define wxUSE_MSGDLG 0
 #   endif
 
 #ifndef wxUSE_NOTEBOOK
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_NOTEBOOK
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_NOTEBOOK must be defined."
+#       error "wxUSE_NOTEBOOK must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_NOTEBOOK 0
 #   endif
 #   else
 #       define wxUSE_NOTEBOOK 0
 #   endif
 
 #ifndef wxUSE_NOTIFICATION_MESSAGE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_NOTIFICATION_MESSAGE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_NOTIFICATION_MESSAGE must be defined."
+#       error "wxUSE_NOTIFICATION_MESSAGE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_NOTIFICATION_MESSAGE 0
 #   endif
 #   else
 #       define wxUSE_NOTIFICATION_MESSAGE 0
 #   endif
 
 #ifndef wxUSE_ODCOMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_ODCOMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_ODCOMBOBOX must be defined."
+#       error "wxUSE_ODCOMBOBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_ODCOMBOBOX 0
 #   endif
 #   else
 #       define wxUSE_ODCOMBOBOX 0
 #   endif
 
 #ifndef wxUSE_PALETTE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PALETTE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PALETTE must be defined."
+#       error "wxUSE_PALETTE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PALETTE 0
 #   endif
 #   else
 #       define wxUSE_PALETTE 0
 #   endif
 
 #ifndef wxUSE_POPUPWIN
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_POPUPWIN
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_POPUPWIN must be defined."
+#       error "wxUSE_POPUPWIN must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_POPUPWIN 0
 #   endif
 #   else
 #       define wxUSE_POPUPWIN 0
 #   endif
 
 #ifndef wxUSE_PRINTING_ARCHITECTURE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_PRINTING_ARCHITECTURE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_PRINTING_ARCHITECTURE must be defined."
+#       error "wxUSE_PRINTING_ARCHITECTURE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_PRINTING_ARCHITECTURE 0
 #   endif
 #   else
 #       define wxUSE_PRINTING_ARCHITECTURE 0
 #   endif
 
 #ifndef wxUSE_RADIOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_RADIOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_RADIOBOX must be defined."
+#       error "wxUSE_RADIOBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_RADIOBOX 0
 #   endif
 #   else
 #       define wxUSE_RADIOBOX 0
 #   endif
 
 #ifndef wxUSE_RADIOBTN
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_RADIOBTN
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_RADIOBTN must be defined."
+#       error "wxUSE_RADIOBTN must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_RADIOBTN 0
 #   endif
 #   else
 #       define wxUSE_RADIOBTN 0
 #   endif
 
 #ifndef wxUSE_REARRANGECTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_REARRANGECTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_REARRANGECTRL must be defined."
+#       error "wxUSE_REARRANGECTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_REARRANGECTRL 0
 #   endif
 #   else
 #       define wxUSE_REARRANGECTRL 0
 #   endif
 
 #ifndef wxUSE_RIBBON
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_RIBBON
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_RIBBON must be defined."
+#       error "wxUSE_RIBBON must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_RIBBON 0
 #   endif
 #endif /* !defined(wxUSE_RIBBON) */
 
 #   else
 #       define wxUSE_RIBBON 0
 #   endif
 #endif /* !defined(wxUSE_RIBBON) */
 
+#ifndef wxUSE_RICHMSGDLG
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_RICHMSGDLG must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_RICHMSGDLG 0
+#   endif
+#endif /* !defined(wxUSE_RIBBON) */
+
 #ifndef wxUSE_SASH
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_SASH
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SASH must be defined."
+#       error "wxUSE_SASH must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SASH 0
 #   endif
 #   else
 #       define wxUSE_SASH 0
 #   endif
 
 #ifndef wxUSE_SCROLLBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SCROLLBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SCROLLBAR must be defined."
+#       error "wxUSE_SCROLLBAR must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SCROLLBAR 0
 #   endif
 #   else
 #       define wxUSE_SCROLLBAR 0
 #   endif
 
 #ifndef wxUSE_SLIDER
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SLIDER
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SLIDER must be defined."
+#       error "wxUSE_SLIDER must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SLIDER 0
 #   endif
 #   else
 #       define wxUSE_SLIDER 0
 #   endif
 
 #ifndef wxUSE_SOUND
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SOUND
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SOUND must be defined."
+#       error "wxUSE_SOUND must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SOUND 0
 #   endif
 #   else
 #       define wxUSE_SOUND 0
 #   endif
 
 #ifndef wxUSE_SPINBTN
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SPINBTN
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SPINBTN must be defined."
+#       error "wxUSE_SPINBTN must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SPINBTN 0
 #   endif
 #   else
 #       define wxUSE_SPINBTN 0
 #   endif
 
 #ifndef wxUSE_SPINCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SPINCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SPINCTRL must be defined."
+#       error "wxUSE_SPINCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SPINCTRL 0
 #   endif
 #   else
 #       define wxUSE_SPINCTRL 0
 #   endif
 
 #ifndef wxUSE_SPLASH
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SPLASH
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SPLASH must be defined."
+#       error "wxUSE_SPLASH must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SPLASH 0
 #   endif
 #   else
 #       define wxUSE_SPLASH 0
 #   endif
 
 #ifndef wxUSE_SPLITTER
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_SPLITTER
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_SPLITTER must be defined."
+#       error "wxUSE_SPLITTER must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_SPLITTER 0
 #   endif
 #   else
 #       define wxUSE_SPLITTER 0
 #   endif
 
 #ifndef wxUSE_STATBMP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STATBMP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STATBMP must be defined."
+#       error "wxUSE_STATBMP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STATBMP 0
 #   endif
 #   else
 #       define wxUSE_STATBMP 0
 #   endif
 
 #ifndef wxUSE_STATBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STATBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STATBOX must be defined."
+#       error "wxUSE_STATBOX must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STATBOX 0
 #   endif
 #   else
 #       define wxUSE_STATBOX 0
 #   endif
 
 #ifndef wxUSE_STATLINE
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STATLINE
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STATLINE must be defined."
+#       error "wxUSE_STATLINE must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STATLINE 0
 #   endif
 #   else
 #       define wxUSE_STATLINE 0
 #   endif
 
 #ifndef wxUSE_STATTEXT
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STATTEXT
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STATTEXT must be defined."
+#       error "wxUSE_STATTEXT must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STATTEXT 0
 #   endif
 #   else
 #       define wxUSE_STATTEXT 0
 #   endif
 
 #ifndef wxUSE_STATUSBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_STATUSBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_STATUSBAR must be defined."
+#       error "wxUSE_STATUSBAR must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_STATUSBAR 0
 #   endif
 #   else
 #       define wxUSE_STATUSBAR 0
 #   endif
 
 #ifndef wxUSE_TASKBARICON
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TASKBARICON
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TASKBARICON must be defined."
+#       error "wxUSE_TASKBARICON must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TASKBARICON 0
 #   endif
 #   else
 #       define wxUSE_TASKBARICON 0
 #   endif
 
 #ifndef wxUSE_TEXTCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TEXTCTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TEXTCTRL must be defined."
+#       error "wxUSE_TEXTCTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TEXTCTRL 0
 #   endif
 #   else
 #       define wxUSE_TEXTCTRL 0
 #   endif
 
 #ifndef wxUSE_TIPWINDOW
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TIPWINDOW
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TIPWINDOW must be defined."
+#       error "wxUSE_TIPWINDOW must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TIPWINDOW 0
 #   endif
 #   else
 #       define wxUSE_TIPWINDOW 0
 #   endif
 
 #ifndef wxUSE_TOOLBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TOOLBAR
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TOOLBAR must be defined."
+#       error "wxUSE_TOOLBAR must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TOOLBAR 0
 #   endif
 #   else
 #       define wxUSE_TOOLBAR 0
 #   endif
 
 #ifndef wxUSE_TOOLTIPS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TOOLTIPS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TOOLTIPS must be defined."
+#       error "wxUSE_TOOLTIPS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TOOLTIPS 0
 #   endif
 #   else
 #       define wxUSE_TOOLTIPS 0
 #   endif
 
 #ifndef wxUSE_TREECTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_TREECTRL
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_TREECTRL must be defined."
+#       error "wxUSE_TREECTRL must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_TREECTRL 0
 #   endif
 #endif /* !defined(wxUSE_TREECTRL) */
 
 #   else
 #       define wxUSE_TREECTRL 0
 #   endif
 #endif /* !defined(wxUSE_TREECTRL) */
 
+#ifndef wxUSE_TREELISTCTRL
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_TREELISTCTRL must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_TREELISTCTRL 0
+#   endif
+#endif /* !defined(wxUSE_TREELISTCTRL) */
+
+#ifndef wxUSE_UIACTIONSIMULATOR
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_UIACTIONSIMULATOR must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_UIACTIONSIMULATOR 0
+#   endif
+#endif /* !defined(wxUSE_UIACTIONSIMULATOR) */
+
 #ifndef wxUSE_VALIDATORS
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #ifndef wxUSE_VALIDATORS
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_VALIDATORS must be defined."
+#       error "wxUSE_VALIDATORS must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_VALIDATORS 0
 #   endif
 #   else
 #       define wxUSE_VALIDATORS 0
 #   endif
 
 #ifndef wxUSE_WXHTML_HELP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_WXHTML_HELP
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_WXHTML_HELP must be defined."
+#       error "wxUSE_WXHTML_HELP must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_WXHTML_HELP 0
 #   endif
 #   else
 #       define wxUSE_WXHTML_HELP 0
 #   endif
 
 #ifndef wxUSE_XRC
 #   ifdef wxABORT_ON_CONFIG_ERROR
 
 #ifndef wxUSE_XRC
 #   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_XRC must be defined."
+#       error "wxUSE_XRC must be defined, please read comment near the top of this file."
 #   else
 #       define wxUSE_XRC 0
 #   endif
 #   else
 #       define wxUSE_XRC 0
 #   endif
 #   endif
 #endif /* wxUSE_TEXTFILE */
 
 #   endif
 #endif /* wxUSE_TEXTFILE */
 
-#if wxUSE_XML && !wxUSE_WCHAR_T
-#   ifdef wxABORT_ON_CONFIG_ERROR
-#       error "wxUSE_XML requires wxUSE_WCHAR_T"
-#   else
-#       undef wxUSE_XML
-#       define wxUSE_XML 0
-#   endif
-#endif /* wxUSE_XML */
-
 #if !wxUSE_DYNLIB_CLASS
 #   if wxUSE_DYNAMIC_LOADER
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #if !wxUSE_DYNLIB_CLASS
 #   if wxUSE_DYNAMIC_LOADER
 #       ifdef wxABORT_ON_CONFIG_ERROR
     wxUSE_STATUSBAR || \
     wxUSE_TEXTCTRL || \
     wxUSE_TOOLBAR || \
     wxUSE_STATUSBAR || \
     wxUSE_TEXTCTRL || \
     wxUSE_TOOLBAR || \
-    wxUSE_TREECTRL
+    wxUSE_TREECTRL || \
+    wxUSE_TREELISTCTRL
 #    if !wxUSE_CONTROLS
 #        ifdef wxABORT_ON_CONFIG_ERROR
 #            error "wxUSE_CONTROLS unset but some controls used"
 #    if !wxUSE_CONTROLS
 #        ifdef wxABORT_ON_CONFIG_ERROR
 #            error "wxUSE_CONTROLS unset but some controls used"
 #    endif
 #endif /* wxUSE_BMPBUTTON */
 
 #    endif
 #endif /* wxUSE_BMPBUTTON */
 
+#if wxUSE_COMMANDLINKBUTTON
+#    if !wxUSE_BUTTON
+#        ifdef wxABORT_ON_CONFIG_ERROR
+#            error "wxUSE_COMMANDLINKBUTTON requires wxUSE_BUTTON"
+#        else
+#            undef wxUSE_BUTTON
+#            define wxUSE_BUTTON 1
+#        endif
+#    endif
+#endif /* wxUSE_COMMANDLINKBUTTON */
+
 /*
    wxUSE_BOOKCTRL should be only used if any of the controls deriving from it
    are used
 /*
    wxUSE_BOOKCTRL should be only used if any of the controls deriving from it
    are used
 #   endif
 #endif /* wxUSE_REARRANGECTRL */
 
 #   endif
 #endif /* wxUSE_REARRANGECTRL */
 
+#if wxUSE_RICHMSGDLG
+#    if !wxUSE_MSGDLG
+#        ifdef wxABORT_ON_CONFIG_ERROR
+#            error "wxUSE_RICHMSGDLG requires wxUSE_MSGDLG"
+#        else
+#            undef wxUSE_MSGDLG
+#            define wxUSE_MSGDLG 1
+#        endif
+#    endif
+#endif /* wxUSE_RICHMSGDLG */
+
 /* don't attempt to use native status bar on the platforms not having it */
 #ifndef wxUSE_NATIVE_STATUSBAR
 #   define wxUSE_NATIVE_STATUSBAR 0
 /* don't attempt to use native status bar on the platforms not having it */
 #ifndef wxUSE_NATIVE_STATUSBAR
 #   define wxUSE_NATIVE_STATUSBAR 0
 #endif /* wxUSE_FILEDLG */
 
 /* common dependencies */
 #endif /* wxUSE_FILEDLG */
 
 /* common dependencies */
+#if wxUSE_ARTPROVIDER_TANGO
+#   if !(wxUSE_STREAMS && wxUSE_IMAGE && wxUSE_LIBPNG)
+#       ifdef wxABORT_ON_CONFIG_ERROR
+#           error "Tango art provider requires wxImage with streams and PNG support"
+#       else
+#           undef wxUSE_ARTPROVIDER_TANGO
+#           define wxUSE_ARTPROVIDER_TANGO 0
+#       endif
+#   endif
+#endif /* wxUSE_ARTPROVIDER_TANGO */
+
 #if wxUSE_CALENDARCTRL
 #   if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #if wxUSE_CALENDARCTRL
 #   if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #            define wxUSE_STREAMS 1
 #        endif
 #   endif
 #            define wxUSE_STREAMS 1
 #        endif
 #   endif
+
+#   if !wxUSE_FILE_HISTORY
+#        ifdef wxABORT_ON_CONFIG_ERROR
+#            error "DocView requires wxUSE_FILE_HISTORY"
+#        else
+#            undef wxUSE_FILE_HISTORY
+#            define wxUSE_FILE_HISTORY 1
+#        endif
+#   endif
 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
 
 #if wxUSE_PRINTING_ARCHITECTURE
 #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
 
 #if wxUSE_PRINTING_ARCHITECTURE
 #endif
 
 #if !wxUSE_IMAGLIST
 #endif
 
 #if !wxUSE_IMAGLIST
-#   if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
+#   if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL || wxUSE_TREELISTCTRL
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #           error "wxImageList must be compiled as well"
 #       else
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #           error "wxImageList must be compiled as well"
 #       else
 #   endif
 #endif /* wxUSE_SVG */
 
 #   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
 #if !wxUSE_VARIANT
 #   if wxUSE_DATAVIEWCTRL
 #       ifdef wxABORT_ON_CONFIG_ERROR
 #   endif
 #endif /* wxUSE_VARIANT */
 
 #   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 */
+
 #endif /* wxUSE_GUI */
 
 #endif /* _WX_CHKCONF_H_ */
 #endif /* wxUSE_GUI */
 
 #endif /* _WX_CHKCONF_H_ */