+#ifndef wxUSE_CLIPBOARD
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_CLIPBOARD must be defined."
+# else
+# define wxUSE_CLIPBOARD 0
+# endif
+#endif /* !defined(wxUSE_CLIPBOARD) */
+
+#ifndef wxUSE_COLLPANE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_COLLPANE must be defined."
+# else
+# define wxUSE_COLLPANE 0
+# endif
+#endif /* !defined(wxUSE_COLLPANE) */
+
+#ifndef wxUSE_COLOURDLG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_COLOURDLG must be defined."
+# else
+# define wxUSE_COLOURDLG 0
+# endif
+#endif /* !defined(wxUSE_COLOURDLG) */
+
+#ifndef wxUSE_COLOURPICKERCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_COLOURPICKERCTRL must be defined."
+# else
+# define wxUSE_COLOURPICKERCTRL 0
+# endif
+#endif /* !defined(wxUSE_COLOURPICKERCTRL) */
+
+#ifndef wxUSE_COMBOBOX
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_COMBOBOX must be defined."
+# else
+# define wxUSE_COMBOBOX 0
+# endif
+#endif /* !defined(wxUSE_COMBOBOX) */
+
+#ifndef wxUSE_COMBOCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_COMBOCTRL must be defined."
+# else
+# define wxUSE_COMBOCTRL 0
+# endif
+#endif /* !defined(wxUSE_COMBOCTRL) */
+
+#ifndef wxUSE_DATAOBJ
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_DATAOBJ must be defined."
+# else
+# define wxUSE_DATAOBJ 0
+# endif
+#endif /* !defined(wxUSE_DATAOBJ) */
+
+#ifndef wxUSE_DATAVIEWCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_DATAVIEWCTRL must be defined."
+# else
+# define wxUSE_DATAVIEWCTRL 0
+# endif
+#endif /* !defined(wxUSE_DATAVIEWCTRL) */
+
+#ifndef wxUSE_DATEPICKCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_DATEPICKCTRL must be defined."
+# else
+# define wxUSE_DATEPICKCTRL 0
+# endif
+#endif /* !defined(wxUSE_DATEPICKCTRL) */
+
+#ifndef wxUSE_DIRPICKERCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_DIRPICKERCTRL must be defined."
+# else
+# define wxUSE_DIRPICKERCTRL 0
+# endif
+#endif /* !defined(wxUSE_DIRPICKERCTRL) */
+
+#ifndef wxUSE_DISPLAY
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_DISPLAY must be defined."
+# else
+# define wxUSE_DISPLAY 0
+# endif
+#endif /* !defined(wxUSE_DISPLAY) */
+
+#ifndef wxUSE_DOC_VIEW_ARCHITECTURE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
+# else
+# define wxUSE_DOC_VIEW_ARCHITECTURE 0
+# endif
+#endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
+
+#ifndef wxUSE_FILECTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FILECTRL must be defined."
+# else
+# define wxUSE_FILECTRL 0
+# endif
+#endif /* !defined(wxUSE_FILECTRL) */
+
+#ifndef wxUSE_FILEDLG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FILEDLG must be defined."
+# else
+# define wxUSE_FILEDLG 0
+# endif
+#endif /* !defined(wxUSE_FILEDLG) */
+
+#ifndef wxUSE_FILEPICKERCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FILEPICKERCTRL must be defined."
+# else
+# define wxUSE_FILEPICKERCTRL 0
+# endif
+#endif /* !defined(wxUSE_FILEPICKERCTRL) */
+
+#ifndef wxUSE_FONTDLG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FONTDLG must be defined."
+# else
+# define wxUSE_FONTDLG 0
+# endif
+#endif /* !defined(wxUSE_FONTDLG) */
+
+#ifndef wxUSE_FONTMAP
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FONTMAP must be defined."
+# else
+# define wxUSE_FONTMAP 0
+# endif
+#endif /* !defined(wxUSE_FONTMAP) */
+
+#ifndef wxUSE_FONTPICKERCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FONTPICKERCTRL must be defined."
+# else
+# define wxUSE_FONTPICKERCTRL 0
+# endif
+#endif /* !defined(wxUSE_FONTPICKERCTRL) */
+
+#ifndef wxUSE_GAUGE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_GAUGE must be defined."
+# else
+# define wxUSE_GAUGE 0
+# endif
+#endif /* !defined(wxUSE_GAUGE) */
+
+#ifndef wxUSE_GRAPHICS_CONTEXT
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_GRAPHICS_CONTEXT must be defined."
+# else
+# define wxUSE_GRAPHICS_CONTEXT 0
+# endif
+#endif /* !defined(wxUSE_GRAPHICS_CONTEXT) */
+
+
+#ifndef wxUSE_GRID
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_GRID must be defined."
+# else
+# define wxUSE_GRID 0
+# endif
+#endif /* !defined(wxUSE_GRID) */
+
+#ifndef wxUSE_HELP
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_HELP must be defined."
+# else
+# define wxUSE_HELP 0
+# endif
+#endif /* !defined(wxUSE_HELP) */
+
+#ifndef wxUSE_HYPERLINKCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_HYPERLINKCTRL must be defined."
+# else
+# define wxUSE_HYPERLINKCTRL 0
+# endif
+#endif /* !defined(wxUSE_HYPERLINKCTRL) */
+
+#ifndef wxUSE_HTML
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_HTML must be defined."
+# else
+# define wxUSE_HTML 0
+# endif
+#endif /* !defined(wxUSE_HTML) */
+
+#ifndef wxUSE_LIBMSPACK
+# if !defined(__UNIX__) || defined(__WXPALMOS__)
+ /* set to 0 on platforms that don't have libmspack */
+# define wxUSE_LIBMSPACK 0
+# else
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LIBMSPACK must be defined."
+# else
+# define wxUSE_LIBMSPACK 0
+# endif
+# endif
+#endif /* !defined(wxUSE_LIBMSPACK) */
+
+#ifndef wxUSE_ICO_CUR
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_ICO_CUR must be defined."
+# else
+# define wxUSE_ICO_CUR 0
+# endif
+#endif /* !defined(wxUSE_ICO_CUR) */
+
+#ifndef wxUSE_IFF
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_IFF must be defined."
+# else
+# define wxUSE_IFF 0
+# endif
+#endif /* !defined(wxUSE_IFF) */
+
+#ifndef wxUSE_IMAGLIST
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_IMAGLIST must be defined."
+# else
+# define wxUSE_IMAGLIST 0
+# endif
+#endif /* !defined(wxUSE_IMAGLIST) */
+
+#ifndef wxUSE_JOYSTICK
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_JOYSTICK must be defined."
+# else
+# define wxUSE_JOYSTICK 0
+# endif
+#endif /* !defined(wxUSE_JOYSTICK) */
+
+#ifndef wxUSE_LISTBOOK
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LISTBOOK must be defined."
+# else
+# define wxUSE_LISTBOOK 0
+# endif
+#endif /* !defined(wxUSE_LISTBOOK) */
+
+#ifndef wxUSE_LISTBOX
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LISTBOX must be defined."
+# else
+# define wxUSE_LISTBOX 0
+# endif
+#endif /* !defined(wxUSE_LISTBOX) */
+
+#ifndef wxUSE_LISTCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LISTCTRL must be defined."
+# else
+# define wxUSE_LISTCTRL 0
+# endif
+#endif /* !defined(wxUSE_LISTCTRL) */
+
+#ifndef wxUSE_LOGGUI
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LOGGUI must be defined."
+# else
+# define wxUSE_LOGGUI 0
+# endif
+#endif /* !defined(wxUSE_LOGGUI) */
+
+#ifndef wxUSE_LOGWINDOW
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LOGWINDOW must be defined."
+# else
+# define wxUSE_LOGWINDOW 0
+# endif
+#endif /* !defined(wxUSE_LOGWINDOW) */
+
+#ifndef wxUSE_LOG_DIALOG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_LOG_DIALOG must be defined."
+# else
+# define wxUSE_LOG_DIALOG 0
+# endif
+#endif /* !defined(wxUSE_LOG_DIALOG) */
+
+#ifndef wxUSE_MDI
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_MDI must be defined."
+# else
+# define wxUSE_MDI 0
+# endif
+#endif /* !defined(wxUSE_MDI) */
+
+#ifndef wxUSE_MDI_ARCHITECTURE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_MDI_ARCHITECTURE must be defined."
+# else
+# define wxUSE_MDI_ARCHITECTURE 0
+# endif
+#endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
+
+#ifndef wxUSE_MENUS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_MENUS must be defined."
+# else
+# define wxUSE_MENUS 0
+# endif
+#endif /* !defined(wxUSE_MENUS) */
+
+#ifndef wxUSE_MSGDLG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_MSGDLG must be defined."
+# else
+# define wxUSE_MSGDLG 0
+# endif
+#endif /* !defined(wxUSE_MSGDLG) */
+
+#ifndef wxUSE_NOTEBOOK
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_NOTEBOOK must be defined."
+# else
+# define wxUSE_NOTEBOOK 0
+# endif
+#endif /* !defined(wxUSE_NOTEBOOK) */
+
+#ifndef wxUSE_NOTIFICATION_MESSAGE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_NOTIFICATION_MESSAGE must be defined."
+# else
+# define wxUSE_NOTIFICATION_MESSAGE 0
+# endif
+#endif /* !defined(wxUSE_NOTIFICATION_MESSAGE) */
+
+#ifndef wxUSE_ODCOMBOBOX
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_ODCOMBOBOX must be defined."
+# else
+# define wxUSE_ODCOMBOBOX 0
+# endif
+#endif /* !defined(wxUSE_ODCOMBOBOX) */
+
+#ifndef wxUSE_PALETTE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_PALETTE must be defined."
+# else
+# define wxUSE_PALETTE 0
+# endif
+#endif /* !defined(wxUSE_PALETTE) */
+
+#ifndef wxUSE_POPUPWIN
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_POPUPWIN must be defined."
+# else
+# define wxUSE_POPUPWIN 0
+# endif
+#endif /* !defined(wxUSE_POPUPWIN) */
+
+#ifndef wxUSE_PRINTING_ARCHITECTURE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_PRINTING_ARCHITECTURE must be defined."
+# else
+# define wxUSE_PRINTING_ARCHITECTURE 0
+# endif
+#endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
+
+#ifndef wxUSE_RADIOBOX
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_RADIOBOX must be defined."
+# else
+# define wxUSE_RADIOBOX 0
+# endif
+#endif /* !defined(wxUSE_RADIOBOX) */
+
+#ifndef wxUSE_RADIOBTN
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_RADIOBTN must be defined."
+# else
+# define wxUSE_RADIOBTN 0
+# endif
+#endif /* !defined(wxUSE_RADIOBTN) */
+
+#ifndef wxUSE_SASH
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SASH must be defined."
+# else
+# define wxUSE_SASH 0
+# endif
+#endif /* !defined(wxUSE_SASH) */
+
+#ifndef wxUSE_SCROLLBAR
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SCROLLBAR must be defined."
+# else
+# define wxUSE_SCROLLBAR 0
+# endif
+#endif /* !defined(wxUSE_SCROLLBAR) */
+
+#ifndef wxUSE_SLIDER
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SLIDER must be defined."
+# else
+# define wxUSE_SLIDER 0
+# endif
+#endif /* !defined(wxUSE_SLIDER) */
+
+#ifndef wxUSE_SOUND
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SOUND must be defined."
+# else
+# define wxUSE_SOUND 0
+# endif
+#endif /* !defined(wxUSE_SOUND) */
+
+#ifndef wxUSE_SPINBTN
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SPINBTN must be defined."
+# else
+# define wxUSE_SPINBTN 0
+# endif
+#endif /* !defined(wxUSE_SPINBTN) */
+
+#ifndef wxUSE_SPINCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SPINCTRL must be defined."
+# else
+# define wxUSE_SPINCTRL 0
+# endif
+#endif /* !defined(wxUSE_SPINCTRL) */
+
+#ifndef wxUSE_SPLASH
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SPLASH must be defined."
+# else
+# define wxUSE_SPLASH 0
+# endif
+#endif /* !defined(wxUSE_SPLASH) */
+
+#ifndef wxUSE_SPLITTER
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_SPLITTER must be defined."
+# else
+# define wxUSE_SPLITTER 0
+# endif
+#endif /* !defined(wxUSE_SPLITTER) */
+
+#ifndef wxUSE_STATBMP
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_STATBMP must be defined."
+# else
+# define wxUSE_STATBMP 0
+# endif
+#endif /* !defined(wxUSE_STATBMP) */
+
+#ifndef wxUSE_STATBOX
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_STATBOX must be defined."
+# else
+# define wxUSE_STATBOX 0
+# endif
+#endif /* !defined(wxUSE_STATBOX) */
+
+#ifndef wxUSE_STATLINE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_STATLINE must be defined."
+# else
+# define wxUSE_STATLINE 0
+# endif
+#endif /* !defined(wxUSE_STATLINE) */
+
+#ifndef wxUSE_STATTEXT
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_STATTEXT must be defined."
+# else
+# define wxUSE_STATTEXT 0
+# endif
+#endif /* !defined(wxUSE_STATTEXT) */
+
+#ifndef wxUSE_STATUSBAR
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_STATUSBAR must be defined."
+# else
+# define wxUSE_STATUSBAR 0
+# endif
+#endif /* !defined(wxUSE_STATUSBAR) */
+
+#ifndef wxUSE_TAB_DIALOG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TAB_DIALOG must be defined."
+# else
+# define wxUSE_TAB_DIALOG 0
+# endif
+#endif /* !defined(wxUSE_TAB_DIALOG) */
+
+#ifndef wxUSE_TASKBARICON
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TASKBARICON must be defined."
+# else
+# define wxUSE_TASKBARICON 0
+# endif
+#endif /* !defined(wxUSE_TASKBARICON) */
+
+#ifndef wxUSE_TEXTCTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TEXTCTRL must be defined."
+# else
+# define wxUSE_TEXTCTRL 0
+# endif
+#endif /* !defined(wxUSE_TEXTCTRL) */
+
+#ifndef wxUSE_TIPWINDOW
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TIPWINDOW must be defined."
+# else
+# define wxUSE_TIPWINDOW 0
+# endif
+#endif /* !defined(wxUSE_TIPWINDOW) */
+
+#ifndef wxUSE_TOOLBAR
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TOOLBAR must be defined."
+# else
+# define wxUSE_TOOLBAR 0
+# endif
+#endif /* !defined(wxUSE_TOOLBAR) */
+
+#ifndef wxUSE_TOOLTIPS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TOOLTIPS must be defined."
+# else
+# define wxUSE_TOOLTIPS 0
+# endif
+#endif /* !defined(wxUSE_TOOLTIPS) */
+
+#ifndef wxUSE_TREECTRL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TREECTRL must be defined."
+# else
+# define wxUSE_TREECTRL 0
+# endif
+#endif /* !defined(wxUSE_TREECTRL) */
+
+#ifndef wxUSE_VALIDATORS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_VALIDATORS must be defined."
+# else
+# define wxUSE_VALIDATORS 0
+# endif
+#endif /* !defined(wxUSE_VALIDATORS) */
+
+#ifndef wxUSE_WXHTML_HELP
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_WXHTML_HELP must be defined."
+# else
+# define wxUSE_WXHTML_HELP 0
+# endif
+#endif /* !defined(wxUSE_WXHTML_HELP) */
+
+#ifndef wxUSE_XRC
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_XRC must be defined."
+# else
+# define wxUSE_XRC 0
+# endif
+#endif /* !defined(wxUSE_XRC) */
+
+#endif /* wxUSE_GUI */
+
+/*
+ Section 2: platform-specific checks.
+
+ This must be done after checking that everything is defined as the platform
+ checks use wxUSE_XXX symbols in #if tests.
+ */
+
+#if defined(__WXPALMOS__)
+# include "wx/palmos/chkconf.h"
+#elif defined(__WXWINCE__)
+# include "wx/msw/wince/chkconf.h"
+#elif defined(__WXMSW__)
+# include "wx/msw/chkconf.h"
+#elif defined(__WXGTK__)
+# include "wx/gtk/chkconf.h"
+#elif defined(__WXMAC__)
+# include "wx/mac/chkconf.h"
+#elif defined(__OS2__)
+# include "wx/os2/chkconf.h"
+#elif defined(__WXMGL__)
+# include "wx/mgl/chkconf.h"
+#elif defined(__WXDFB__)
+# include "wx/dfb/chkconf.h"
+#elif defined(__WXMOTIF__)
+# include "wx/motif/chkconf.h"
+#elif defined(__WXX11__)
+# include "wx/x11/chkconf.h"
+#endif
+
+/*
+ __UNIX__ is also defined under Cygwin but we shouldn't perform these checks
+ there if we're building wxMSW.
+ */
+#if defined(__UNIX__) && !defined(__WXMSW__)
+# include "wx/unix/chkconf.h"
+#endif
+
+#ifdef __WXUNIVERSAL__
+# include "wx/univ/chkconf.h"
+#endif
+
+/*
+ Section 3a: check consistency of the non-GUI settings.
+ */
+
+#if WXWIN_COMPATIBILITY_2_6
+# if !WXWIN_COMPATIBILITY_2_8
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "2.6.X compatibility requires 2.8.X compatibility"
+# else
+# undef WXWIN_COMPATIBILITY_2_8
+# define WXWIN_COMPATIBILITY_2_8 1
+# endif
+# endif
+#endif /* WXWIN_COMPATIBILITY_2_6 */
+
+#if wxUSE_ARCHIVE_STREAMS
+# if !wxUSE_DATETIME
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxArchive requires wxUSE_DATETIME"
+# else
+# undef wxUSE_ARCHIVE_STREAMS
+# define wxUSE_ARCHIVE_STREAMS 0
+# endif
+# endif
+#endif /* wxUSE_ARCHIVE_STREAMS */
+
+#if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
+# if !wxUSE_PROTOCOL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
+# else
+# undef wxUSE_PROTOCOL
+# define wxUSE_PROTOCOL 1
+# endif
+# endif
+#endif /* wxUSE_PROTOCOL_XXX */
+
+#if wxUSE_URL
+# if !wxUSE_PROTOCOL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_URL requires wxUSE_PROTOCOL"
+# else
+# undef wxUSE_PROTOCOL
+# define wxUSE_PROTOCOL 1
+# endif
+# endif
+#endif /* wxUSE_URL */
+
+#if wxUSE_PROTOCOL
+# if !wxUSE_SOCKETS
+# if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
+# else
+# undef wxUSE_SOCKETS
+# define wxUSE_SOCKETS 1
+# endif
+# endif
+# endif
+
+# if !wxUSE_STREAMS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
+# else
+# undef wxUSE_STREAMS
+# define wxUSE_STREAMS 1
+# endif
+# endif
+#endif /* wxUSE_PROTOCOL */
+
+/* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
+#if wxUSE_HTML
+# if !wxUSE_FILESYSTEM
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxHTML requires wxFileSystem"
+# else
+# undef wxUSE_FILESYSTEM
+# define wxUSE_FILESYSTEM 1
+# endif
+# endif
+#endif /* wxUSE_HTML */
+
+#if wxUSE_FS_ARCHIVE
+# if !wxUSE_FILESYSTEM
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxArchiveFSHandler requires wxFileSystem"
+# else
+# undef wxUSE_FILESYSTEM
+# define wxUSE_FILESYSTEM 1
+# endif
+# endif
+# if !wxUSE_ARCHIVE_STREAMS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxArchiveFSHandler requires wxArchive"
+# else
+# undef wxUSE_ARCHIVE_STREAMS
+# define wxUSE_ARCHIVE_STREAMS 1
+# endif
+# endif
+#endif /* wxUSE_FS_ARCHIVE */
+
+#if wxUSE_FILESYSTEM
+# if !wxUSE_STREAMS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
+# else
+# undef wxUSE_STREAMS
+# define wxUSE_STREAMS 1
+# endif
+# endif
+# if !wxUSE_FILE && !wxUSE_FFILE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FILESYSTEM requires either wxUSE_FILE or wxUSE_FFILE"
+# else
+# undef wxUSE_FILE
+# define wxUSE_FILE 1
+# undef wxUSE_FFILE
+# define wxUSE_FFILE 1
+# endif
+# endif
+#endif /* wxUSE_FILESYSTEM */
+
+#if wxUSE_FS_INET
+# if !wxUSE_PROTOCOL
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
+# else
+# undef wxUSE_PROTOCOL
+# define wxUSE_PROTOCOL 1
+# endif
+# endif
+#endif /* wxUSE_FS_INET */
+
+#if wxUSE_STOPWATCH || wxUSE_DATETIME
+# if !wxUSE_LONGLONG
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
+# else
+# undef wxUSE_LONGLONG
+# define wxUSE_LONGLONG 1
+# endif
+# endif
+#endif /* wxUSE_STOPWATCH */
+
+#if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
+# else
+# undef wxUSE_TEXTFILE
+# define wxUSE_TEXTFILE 1
+# endif
+#endif /* wxUSE_MIMETYPE */
+
+#if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
+# else
+# undef wxUSE_TEXTBUFFER
+# define wxUSE_TEXTBUFFER 1
+# endif
+#endif /* wxUSE_TEXTFILE */
+
+#if wxUSE_TEXTFILE && !wxUSE_FILE
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_TEXTFILE requires wxUSE_FILE"
+# else
+# undef wxUSE_FILE
+# define wxUSE_FILE 1
+# 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
+# error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
+# else
+# define wxUSE_DYNLIB_CLASS 1
+# endif
+# endif
+#endif /* wxUSE_DYNLIB_CLASS */
+
+#if wxUSE_ZIPSTREAM
+# if !wxUSE_ZLIB
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxZip requires wxZlib"
+# else
+# undef wxUSE_ZLIB
+# define wxUSE_ZLIB 1
+# endif
+# endif
+# if !wxUSE_ARCHIVE_STREAMS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxZip requires wxArchive"
+# else
+# undef wxUSE_ARCHIVE_STREAMS
+# define wxUSE_ARCHIVE_STREAMS 1
+# endif
+# endif
+#endif /* wxUSE_ZIPSTREAM */
+
+#if wxUSE_TARSTREAM
+# if !wxUSE_ARCHIVE_STREAMS
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxTar requires wxArchive"
+# else
+# undef wxUSE_ARCHIVE_STREAMS
+# define wxUSE_ARCHIVE_STREAMS 1
+# endif
+# endif
+#endif /* wxUSE_TARSTREAM */
+
+/*
+ Section 3b: the tests for the GUI settings only.
+ */
+#if wxUSE_GUI
+
+#if wxUSE_ACCESSIBILITY && !defined(__WXMSW__)
+# ifdef wxABORT_ON_CONFIG_ERROR
+# error "wxUSE_ACCESSIBILITY is currently only supported under wxMSW"
+# else
+# undef wxUSE_ACCESSIBILITY
+# define wxUSE_ACCESSIBILITY 0
+# endif
+#endif /* wxUSE_ACCESSIBILITY */
+
+#if wxUSE_BUTTON || \
+ wxUSE_CALENDARCTRL || \
+ wxUSE_CARET || \
+ wxUSE_COMBOBOX || \
+ wxUSE_BMPBUTTON || \
+ wxUSE_CHECKBOX || \
+ wxUSE_CHECKLISTBOX || \
+ wxUSE_CHOICE || \
+ wxUSE_GAUGE || \
+ wxUSE_GRID || \
+ wxUSE_LISTBOX || \
+ wxUSE_LISTCTRL || \
+ wxUSE_NOTEBOOK || \
+ wxUSE_RADIOBOX || \
+ wxUSE_RADIOBTN || \
+ wxUSE_SCROLLBAR || \
+ wxUSE_SLIDER || \
+ wxUSE_SPINBTN || \