X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/481e2766c23a4e12fa14501bffbf39dc08af5cde..613de0e89efab1cbf8463ea06e0cf0b2914fbce9:/include/wx/chkconf.h diff --git a/include/wx/chkconf.h b/include/wx/chkconf.h index 2efc1eea21..35c988dbb8 100644 --- a/include/wx/chkconf.h +++ b/include/wx/chkconf.h @@ -10,27 +10,20 @@ */ /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ +#ifndef _WX_CHKCONF_H_ +#define _WX_CHKCONF_H_ /* - Platform-specific checking. + This file has the following sections: + 1. checks that all wxUSE_XXX symbols we use are defined + a) first the non-GUI ones + b) then the GUI-only ones + 2. platform-specific checks done in the platform headers + 3. generic consistency checks + a) first the non-GUI ones + b) then the GUI-only ones */ -#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(__WXMAC__) -# include "wx/mac/chkconf.h" -#elif defined(__OS2__) -# include "wx/os2/chkconf.h" -#elif defined(__WXMGL__) -# include "wx/mgl/chkconf.h" -#elif defined(__WXMOTIF__) -# include "wx/motif/chkconf.h" -#endif - /* 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 @@ -70,18 +63,18 @@ /* - tests for non GUI features + Section 1a: tests for non GUI features. + + please keep the options in alphabetical order! */ -#ifndef wxUSE_CRASHREPORT - /* this one is special: as currently it is Windows-only, don't force it - to be defined on other platforms */ -# if defined(wxABORT_ON_CONFIG_ERROR) && defined(__WXMSW__) -# error "wxUSE_CRASHREPORT must be defined." +#ifndef wxUSE_CONSOLE_EVENTLOOP +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_CONSOLE_EVENTLOOP must be defined." # else -# define wxUSE_CRASHREPORT 0 +# define wxUSE_CONSOLE_EVENTLOOP 0 # endif -#endif /* !defined(wxUSE_CRASHREPORT) */ +#endif /* !defined(wxUSE_CONSOLE_EVENTLOOP) */ #ifndef wxUSE_DYNLIB_CLASS # ifdef wxABORT_ON_CONFIG_ERROR @@ -107,9 +100,20 @@ # endif #endif /* !defined(wxUSE_FILESYSTEM) */ -/* don't give an error about this one yet, it's not fully implemented */ +#ifndef wxUSE_FS_ARCHIVE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_FS_ARCHIVE must be defined." +# else +# define wxUSE_FS_ARCHIVE 0 +# endif +#endif /* !defined(wxUSE_FS_ARCHIVE) */ + #ifndef wxUSE_FSVOLUME -# define wxUSE_FSVOLUME 0 +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_FSVOLUME must be defined." +# else +# define wxUSE_FSVOLUME 0 +# endif #endif /* !defined(wxUSE_FSVOLUME) */ #ifndef wxUSE_DYNAMIC_LOADER @@ -120,6 +124,22 @@ # endif #endif /* !defined(wxUSE_DYNAMIC_LOADER) */ +#ifndef wxUSE_INTL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_INTL must be defined." +# else +# define wxUSE_INTL 0 +# endif +#endif /* !defined(wxUSE_INTL) */ + +#ifndef wxUSE_IPV6 +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_IPV6 must be defined." +# else +# define wxUSE_IPV6 0 +# endif +#endif /* !defined(wxUSE_IPV6) */ + #ifndef wxUSE_LOG # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_LOG must be defined." @@ -152,6 +172,14 @@ # endif #endif /* !defined(wxUSE_ON_FATAL_EXCEPTION) */ +#ifndef wxUSE_PRINTF_POS_PARAMS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_PRINTF_POS_PARAMS must be defined." +# else +# define wxUSE_PRINTF_POS_PARAMS 0 +# endif +#endif /* !defined(wxUSE_PRINTF_POS_PARAMS) */ + #ifndef wxUSE_PROTOCOL # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_PROTOCOL must be defined." @@ -274,8 +302,26 @@ # endif #endif /* !defined(wxUSE_URL) */ +#ifndef wxUSE_VARIANT +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_VARIANT must be defined." +# else +# define wxUSE_VARIANT 0 +# endif +#endif /* wxUSE_VARIANT */ + +#ifndef wxUSE_XLOCALE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_XLOCALE must be defined." +# else +# define wxUSE_XLOCALE 0 +# endif +#endif /* !defined(wxUSE_XLOCALE) */ + /* - all these tests are for GUI only + Section 1b: all these tests are for GUI only. + + please keep the options in alphabetical order! */ #if wxUSE_GUI @@ -284,6 +330,14 @@ preprocessor about invalid integer expression */ +#ifndef wxUSE_ABOUTDLG +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ABOUTDLG must be defined." +# else +# define wxUSE_ABOUTDLG 0 +# endif +#endif /* !defined(wxUSE_ABOUTDLG) */ + #ifndef wxUSE_ACCEL # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_ACCEL must be defined." @@ -292,6 +346,38 @@ # endif #endif /* !defined(wxUSE_ACCEL) */ +#ifndef wxUSE_ACCESSIBILITY +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ACCESSIBILITY must be defined." +# else +# define wxUSE_ACCESSIBILITY 0 +# endif +#endif /* !defined(wxUSE_ACCESSIBILITY) */ + +#ifndef wxUSE_ANIMATIONCTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ANIMATIONCTRL must be defined." +# else +# define wxUSE_ANIMATIONCTRL 0 +# endif +#endif /* !defined(wxUSE_ANIMATIONCTRL) */ + +#ifndef wxUSE_AUTOID_MANAGEMENT +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_AUTOID_MANAGEMENT must be defined." +# else +# define wxUSE_AUTOID_MANAGEMENT 0 +# endif +#endif /* !defined(wxUSE_AUTOID_MANAGEMENT) */ + +#ifndef wxUSE_BITMAPCOMBOBOX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_BITMAPCOMBOBOX must be defined." +# else +# define wxUSE_BITMAPCOMBOBOX 0 +# endif +#endif /* !defined(wxUSE_BITMAPCOMBOBOX) */ + #ifndef wxUSE_BMPBUTTON # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_BMPBUTTON must be defined." @@ -372,6 +458,14 @@ # 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." @@ -380,6 +474,14 @@ # 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." @@ -388,13 +490,13 @@ # endif #endif /* !defined(wxUSE_COMBOBOX) */ -#ifndef wxUSE_COMBOCONTROL +#ifndef wxUSE_COMBOCTRL # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_COMBOCONTROL must be defined." +# error "wxUSE_COMBOCTRL must be defined." # else -# define wxUSE_COMBOCONTROL 0 +# define wxUSE_COMBOCTRL 0 # endif -#endif /* !defined(wxUSE_COMBOBOX) */ +#endif /* !defined(wxUSE_COMBOCTRL) */ #ifndef wxUSE_DATAOBJ # ifdef wxABORT_ON_CONFIG_ERROR @@ -404,6 +506,14 @@ # 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." @@ -412,6 +522,14 @@ # 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." @@ -428,6 +546,14 @@ # 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." @@ -436,6 +562,14 @@ # 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." @@ -452,6 +586,14 @@ # 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." @@ -460,6 +602,15 @@ # 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." @@ -476,24 +627,24 @@ # endif #endif /* !defined(wxUSE_HELP) */ -#ifndef wxUSE_HTML +#ifndef wxUSE_HYPERLINKCTRL # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_HTML must be defined." +# error "wxUSE_HYPERLINKCTRL must be defined." # else -# define wxUSE_HTML 0 +# define wxUSE_HYPERLINKCTRL 0 # endif -#endif /* !defined(wxUSE_HTML) */ +#endif /* !defined(wxUSE_HYPERLINKCTRL) */ -#ifndef wxUSE_XRC +#ifndef wxUSE_HTML # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_XRC must be defined." +# error "wxUSE_HTML must be defined." # else -# define wxUSE_XRC 0 +# define wxUSE_HTML 0 # endif -#endif /* !defined(wxUSE_XRC) */ +#endif /* !defined(wxUSE_HTML) */ #ifndef wxUSE_LIBMSPACK -# ifndef __UNIX__ +# if !defined(__UNIX__) || defined(__WXPALMOS__) /* set to 0 on platforms that don't have libmspack */ # define wxUSE_LIBMSPACK 0 # else @@ -625,13 +776,21 @@ # endif #endif /* !defined(wxUSE_NOTEBOOK) */ -#ifndef wxUSE_OWNERDRAWNCOMBOBOX +#ifndef wxUSE_NOTIFICATION_MESSAGE # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_OWNERDRAWNCOMBOBOX must be defined." +# error "wxUSE_NOTIFICATION_MESSAGE must be defined." # else -# define wxUSE_OWNERDRAWNCOMBOBOX 0 +# define wxUSE_NOTIFICATION_MESSAGE 0 # endif -#endif /* !defined(wxUSE_COMBOBOX) */ +#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 @@ -785,6 +944,14 @@ # 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." @@ -841,22 +1008,73 @@ # 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 */ /* - check consistency of the settings + 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 WXWIN_COMPATIBILITY_2_4 -# if !WXWIN_COMPATIBILITY_2_6 +#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(__WXCOCOA__) +# include "wx/cocoa/chkconf.h" +#elif defined(__WXMAC__) +# include "wx/osx/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.4.X compatibility requires 2.6.X compatibility" +# error "2.6.X compatibility requires 2.8.X compatibility" # else -# undef WXWIN_COMPATIBILITY_2_6 -# define WXWIN_COMPATIBILITY_2_6 1 +# undef WXWIN_COMPATIBILITY_2_8 +# define WXWIN_COMPATIBILITY_2_8 1 # endif # endif -#endif /* WXWIN_COMPATIBILITY_2_4 */ +#endif /* WXWIN_COMPATIBILITY_2_6 */ #if wxUSE_ARCHIVE_STREAMS # if !wxUSE_DATETIME @@ -869,15 +1087,6 @@ # endif #endif /* wxUSE_ARCHIVE_STREAMS */ -#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_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP # if !wxUSE_PROTOCOL # ifdef wxABORT_ON_CONFIG_ERROR @@ -934,6 +1143,25 @@ # 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 @@ -943,6 +1171,16 @@ # 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 @@ -976,17 +1214,6 @@ # endif #endif /* wxUSE_MIMETYPE */ -#if wxUSE_ODBC -# if !wxUSE_DATETIME -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxODBC requires wxUSE_DATETIME" -# else -# undef wxUSE_ODBC -# define wxUSE_ODBC 0 -# endif -# endif -#endif /* wxUSE_ODBC */ - #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER" @@ -1043,9 +1270,31 @@ # endif #endif /* wxUSE_ZIPSTREAM */ -/* the rest of the tests is for the GUI settings only */ +#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__) && !defined(__GCCXML__) +# 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 || \ @@ -1094,19 +1343,34 @@ # endif #endif /* wxUSE_BMPBUTTON */ -#if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK -# if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL +/* + wxUSE_BOOKCTRL should be only used if any of the controls deriving from it + are used + */ +#ifdef wxUSE_BOOKCTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_BOOKCTRL is defined automatically, don't define it" +# else +# undef wxUSE_BOOKCTRL +# endif +#endif + +#define wxUSE_BOOKCTRL (wxUSE_NOTEBOOK || \ + wxUSE_LISTBOOK || \ + wxUSE_CHOICEBOOK || \ + wxUSE_TOOLBOOK || \ + wxUSE_TREEBOOK) + +#if wxUSE_COLLPANE +# if !wxUSE_BUTTON || !wxUSE_STATLINE # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_BOOKCTRL must be set." +# error "wxUSE_COLLPANE requires wxUSE_BUTTON and wxUSE_STATLINE" # else -# undef wxUSE_BOOKCTRL +# undef wxUSE_COLLPANE +# define wxUSE_COLLPANE 0 # endif # endif - -# ifndef wxUSE_BOOKCTRL -# define wxUSE_BOOKCTRL 1 -# endif -#endif /* wxUSE_NOTEBOOK */ +#endif /* wxUSE_COLLPANE */ #if wxUSE_LISTBOOK # if !wxUSE_LISTCTRL @@ -1130,6 +1394,26 @@ # endif #endif /* wxUSE_CHOICEBOOK */ +#if wxUSE_TOOLBOOK +# if !wxUSE_TOOLBAR +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxToolbook requires wxToolBar" +# else +# undef wxUSE_TOOLBAR +# define wxUSE_TOOLBAR 1 +# endif +# endif +#endif /* wxUSE_TOOLBOOK */ + +#if !wxUSE_ODCOMBOBOX +# if wxUSE_BITMAPCOMBOBOX +# error "wxBitmapComboBox requires wxOwnerDrawnComboBox" +# else +# undef wxUSE_BITMAPCOMBOBOX +# define wxUSE_BITMAPCOMBOBOX 0 +# endif +#endif /* !wxUSE_ODCOMBOBOX */ + /* don't attempt to use native status bar on the platforms not having it */ #ifndef wxUSE_NATIVE_STATUSBAR # define wxUSE_NATIVE_STATUSBAR 0 @@ -1142,99 +1426,14 @@ # endif #endif -/* wxUniv-specific dependencies */ -#if defined(__WXUNIVERSAL__) -# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus" -# else -# undef wxUSE_POPUPWIN -# define wxUSE_POPUPWIN 1 -# endif -# endif - -# if wxUSE_COMBOBOX -# if !wxUSE_LISTBOX -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxComboBox requires wxListBox in wxUniversal" -# else -# undef wxUSE_LISTBOX -# define wxUSE_LISTBOX 1 -# endif -# endif -# endif /* wxUSE_COMBOBOX */ - -# if wxUSE_RADIOBTN -# if !wxUSE_CHECKBOX -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal" -# else -# undef wxUSE_CHECKBOX -# define wxUSE_CHECKBOX 1 -# endif -# endif -# endif /* wxUSE_RADIOBTN */ - -# if wxUSE_TEXTCTRL -# if !wxUSE_CARET -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxTextCtrl requires wxCaret in wxUniversal" -# else -# undef wxUSE_CARET -# define wxUSE_CARET 1 -# endif -# endif /* wxUSE_CARET */ - -# if !wxUSE_SCROLLBAR -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxTextCtrl requires wxScrollBar in wxUniversal" -# else -# undef wxUSE_SCROLLBAR -# define wxUSE_SCROLLBAR 1 -# endif -# endif /* wxUSE_SCROLLBAR */ -# endif /* wxUSE_TEXTCTRL */ -#endif /* __WXUNIVERSAL__ */ - -/* wxGTK-specific dependencies */ -#ifdef __WXGTK__ -# ifndef __WXUNIVERSAL__ -# if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS -# ifdef wxABORT_ON_CONFIG_ERROR -# error "MDI requires wxUSE_MENUS in wxGTK" -# else -# undef wxUSE_MENUS -# define wxUSE_MENUS 1 -# endif -# endif -# endif /* !__WXUNIVERSAL__ */ - -# if wxUSE_JOYSTICK -# if !wxUSE_THREADS -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxJoystick requires threads in wxGTK" -# else -# undef wxUSE_JOYSTICK -# define wxUSE_JOYSTICK 0 -# endif -# endif -# endif -#endif /* wxGTK && !wxUniv */ - -/* wxMGL-specific dependencies */ -#ifdef __WXMGL__ -# if !wxUSE_PALETTE -# error "wxMGL requires wxUSE_PALETTE=1" -# endif -#endif /* wxMGL */ - -/* Hopefully we can emulate these dialogs in due course */ -#if defined(__SMARTPHONE__) && defined(__WXWINCE__) -# ifdef wxUSE_COLOURDLG -# undef wxUSE_COLOURDLG -# define wxUSE_COLOURDLG 0 +#if wxUSE_GRAPHICS_CONTEXT && !wxUSE_GEOMETRY +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_GRAPHICS_CONTEXT requires wxUSE_GEOMETRY" +# else +# undef wxUSE_GRAPHICS_CONTEXT +# define wxUSE_GRAPHICS_CONTEXT 0 # endif -#endif /* __SMARTPHONE__ && __WXWINCE__ */ +#endif /* wxUSE_GRAPHICS_CONTEXT */ /* generic controls dependencies */ @@ -1264,6 +1463,17 @@ # endif #endif /* !wxMSW || wxUniv */ +/* generic file dialog depends on (generic) file control */ +#if wxUSE_FILEDLG && !wxUSE_FILECTRL && \ + (defined(__WXUNIVERSAL__) || defined(__WXGTK__)) +# ifdef wxABORT_ON_CONFIG_ERROR +# error "Generic wxFileDialog requires wxFileCtrl" +# else +# undef wxUSE_FILECTRL +# define wxUSE_FILECTRL 1 +# endif +#endif /* wxUSE_FILEDLG */ + /* common dependencies */ #if wxUSE_CALENDARCTRL # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX) @@ -1340,6 +1550,18 @@ # endif #endif /* wxUSE_HELP */ +#if wxUSE_MS_HTML_HELP + /* + this doesn't make sense for platforms other than MSW but we still + define it in wx/setup_inc.h so don't complain if it happens to be + defined under another platform but just silently fix it. + */ +# ifndef __WXMSW__ +# undef wxUSE_MS_HTML_HELP +# define wxUSE_MS_HTML_HELP 0 +# endif +#endif /* wxUSE_MS_HTML_HELP */ + #if wxUSE_WXHTML_HELP # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL # ifdef wxABORT_ON_CONFIG_ERROR @@ -1568,15 +1790,6 @@ # define wxUSE_TOOLBAR_NATIVE 0 # endif # endif - -# if wxUSE_TOOLBAR_SIMPLE -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1" -# else -# undef wxUSE_TOOLBAR_SIMPLE -# define wxUSE_TOOLBAR_SIMPLE 0 -# endif -# endif #endif #if !wxUSE_IMAGLIST @@ -1590,16 +1803,6 @@ # endif #endif /* !wxUSE_IMAGLIST */ -#if !wxUSE_MSGDLG -# ifdef wxABORT_ON_CONFIG_ERROR - /* FIXME: should compile without it, of course, but doesn't */ -# error "wxMessageBox is always needed" -# else -# undef wxUSE_MSGDLG -# define wxUSE_MSGDLG 1 -# endif -#endif - #if wxUSE_RADIOBOX # if !wxUSE_RADIOBTN # ifdef wxABORT_ON_CONFIG_ERROR @@ -1652,15 +1855,6 @@ # endif #endif /* wxUSE_CLIPBOARD */ -#if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxr resources require PrologIO" -# else -# undef wxUSE_PROLOGIO -# define wxUSE_PROLOGIO 1 -# endif -#endif /* wxUSE_WX_RESOURCES */ - #if wxUSE_XRC && !wxUSE_XML # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_XRC requires wxUSE_XML" @@ -1679,4 +1873,44 @@ # 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_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 */ + #endif /* wxUSE_GUI */ + +#endif /* _WX_CHKCONF_H_ */