X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2ebf0b7303be387d2d5a55ea0cd672fdf0c4f25..92d21a8a07cdd029af796469c2a959c1c393baf3:/include/wx/chkconf.h diff --git a/include/wx/chkconf.h b/include/wx/chkconf.h index 49a1248b52..98ec5fbdcb 100644 --- a/include/wx/chkconf.h +++ b/include/wx/chkconf.h @@ -1,31 +1,49 @@ -/** -* Name: wx/chkconf.h -* Purpose: check the config settings for consistency -* Author: Vadim Zeitlin -* Modified by: -* Created: 09.08.00 -* RCS-ID: $Id$ -* Copyright: (c) 2000 Vadim Zeitlin -* Licence: wxWindows licence -*/ +/* + * Name: wx/chkconf.h + * Purpose: check the config settings for consistency + * Author: Vadim Zeitlin + * Modified by: + * Created: 09.08.00 + * RCS-ID: $Id$ + * Copyright: (c) 2000 Vadim Zeitlin + * Licence: wxWindows licence + */ /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ /* - Compiler-specific checking. + Platform-specific checking. */ -#if defined(__WXMSW__) +#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(__WXDFB__) +# include "wx/dfb/chkconf.h" +#elif defined(__WXMOTIF__) +# include "wx/motif/chkconf.h" +#elif defined(__WXX11__) +# include "wx/x11/chkconf.h" +#endif + +#ifdef __WXUNIVERSAL__ +# include "wx/univ/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 define BAR - (default, recommended) or give an error and abort (mainly useful for - developers only) + 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) */ #define wxABORT_ON_CONFIG_ERROR @@ -38,10 +56,43 @@ # define wxUSE_GUI 1 #endif /* !defined(wxUSE_GUI) */ +/* + If we're compiling without support for threads/exceptions we have to + disable the corresponding features. + */ +#ifdef wxNO_THREADS +# undef wxUSE_THREADS +# define wxUSE_THREADS 0 +#endif /* wxNO_THREADS */ + +#ifdef wxNO_EXCEPTIONS +# undef wxUSE_EXCEPTIONS +# define wxUSE_EXCEPTIONS 0 +#endif /* wxNO_EXCEPTIONS */ + +/* we also must disable exceptions if compiler doesn't support them */ +#if defined(_MSC_VER) && !defined(_CPPUNWIND) +# undef wxUSE_EXCEPTIONS +# define wxUSE_EXCEPTIONS 0 +#endif /* VC++ without exceptions support */ + + /* 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." +# else +# define wxUSE_CRASHREPORT 0 +# endif +#endif /* !defined(wxUSE_CRASHREPORT) */ + #ifndef wxUSE_DYNLIB_CLASS # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_DYNLIB_CLASS must be defined." @@ -66,6 +117,14 @@ # endif #endif /* !defined(wxUSE_FILESYSTEM) */ +#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) */ + /* don't give an error about this one yet, it's not fully implemented */ #ifndef wxUSE_FSVOLUME # define wxUSE_FSVOLUME 0 @@ -103,6 +162,22 @@ # endif #endif /* !defined(wxUSE_MIMETYPE) */ +#ifndef wxUSE_ON_FATAL_EXCEPTION +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ON_FATAL_EXCEPTION must be defined." +# else +# define wxUSE_ON_FATAL_EXCEPTION 0 +# 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." @@ -153,6 +228,14 @@ # endif #endif /* !defined(wxUSE_REGEX) */ +#ifndef wxUSE_STDPATHS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_STDPATHS must be defined." +# else +# define wxUSE_STDPATHS 1 +# endif +#endif /* !defined(wxUSE_STDPATHS) */ + #ifndef wxUSE_XML # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_XML must be defined." @@ -217,8 +300,18 @@ # 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 */ + /* all these tests are for GUI only + + please keep the options in alphabetical order! */ #if wxUSE_GUI @@ -227,6 +320,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." @@ -235,6 +336,22 @@ # endif #endif /* !defined(wxUSE_ACCEL) */ +#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_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." @@ -315,6 +432,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." @@ -323,6 +448,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." @@ -331,6 +464,14 @@ # 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." @@ -339,6 +480,30 @@ # 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." @@ -363,6 +528,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." @@ -379,6 +552,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." @@ -387,6 +568,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." @@ -403,21 +593,21 @@ # 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__ @@ -552,6 +742,14 @@ # endif #endif /* !defined(wxUSE_NOTEBOOK) */ +#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." @@ -760,12 +958,51 @@ # 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 */ +#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_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 @@ -822,6 +1059,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 @@ -831,6 +1087,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 @@ -864,6 +1130,17 @@ # 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" @@ -882,27 +1159,6 @@ # endif #endif /* wxUSE_TEXTFILE */ -#if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE" -# else -# undef wxUSE_UNICODE -# define wxUSE_UNICODE 1 -# endif -#endif /* wxUSE_UNICODE_MSLU */ - -/* ODBC and Unicode are now compatible */ - -#if 0 /* wxUSE_ODBC && wxUSE_UNICODE */ -# ifdef wxABORT_ON_CONFIG_ERROR - /* (ODBC classes aren't Unicode-compatible yet) */ -# error "wxUSE_ODBC can't be used with wxUSE_UNICODE" -# else -# undef wxUSE_ODBC -# define wxUSE_ODBC 0 -# endif -#endif /* wxUSE_ODBC */ - #if wxUSE_XML && !wxUSE_WCHAR_T # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_XML requires wxUSE_WCHAR_T" @@ -910,7 +1166,7 @@ # undef wxUSE_XML # define wxUSE_XML 0 # endif -#endif /* wxUSE_UNICODE_MSLU */ +#endif /* wxUSE_XML */ #if !wxUSE_DYNLIB_CLASS # if wxUSE_DYNAMIC_LOADER @@ -922,6 +1178,36 @@ # 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 */ + /* the rest of the tests is for the GUI settings only */ #if wxUSE_GUI @@ -973,19 +1259,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 @@ -1009,59 +1310,47 @@ # endif #endif /* wxUSE_CHOICEBOOK */ -/* wxUniv-specific dependencies */ -#if defined(__WXUNIVERSAL__) -# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN +#if wxUSE_TOOLBOOK +# if !wxUSE_TOOLBAR # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus" +# error "wxToolbook requires wxToolBar" # else -# undef wxUSE_POPUPWIN -# define wxUSE_POPUPWIN 1 +# undef wxUSE_TOOLBAR +# define wxUSE_TOOLBAR 1 # endif # endif +#endif /* wxUSE_TOOLBOOK */ -# 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_ODCOMBOBOX +# if wxUSE_BITMAPCOMBOBOX +# error "wxBitmapComboBox requires wxOwnerDrawnComboBox" +# else +# undef wxUSE_BITMAPCOMBOBOX +# define wxUSE_BITMAPCOMBOBOX 0 +# endif +#endif /* !wxUSE_ODCOMBOBOX */ -# 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 */ +/* don't attempt to use native status bar on the platforms not having it */ +#ifndef wxUSE_NATIVE_STATUSBAR +# define wxUSE_NATIVE_STATUSBAR 0 +#elif wxUSE_NATIVE_STATUSBAR +# if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \ + defined(__WXMAC__) || \ + defined(__WXPALMOS__) ) +# undef wxUSE_NATIVE_STATUSBAR +# define wxUSE_NATIVE_STATUSBAR 0 +# endif +#endif -# 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_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 /* wxUSE_GRAPHICS_CONTEXT */ -# 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__ @@ -1088,94 +1377,13 @@ # endif #endif /* wxGTK && !wxUniv */ -/* wxMSW-specific dependencies */ -#ifdef __WXMSW__ -# ifndef wxUSE_UNICODE_MSLU -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_UNICODE_MSLU must be defined." -# else -# define wxUSE_UNICODE_MSLU 0 -# endif -# endif /* wxUSE_UNICODE_MSLU */ -# ifndef wxUSE_UXTHEME -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_UXTHEME must be defined." -# else -# define wxUSE_UXTHEME 0 -# endif -# endif /* wxUSE_UXTHEME */ -# ifndef wxUSE_UXTHEME_AUTO -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_UXTHEME_AUTO must be defined." -# else -# define wxUSE_UXTHEME_AUTO 0 -# endif -# endif /* wxUSE_UXTHEME_AUTO */ -# ifndef wxUSE_MS_HTML_HELP -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_MS_HTML_HELP must be defined." -# else -# define wxUSE_MS_HTML_HELP 0 -# endif -# endif /* !defined(wxUSE_MS_HTML_HELP) */ -# ifndef wxUSE_DIALUP_MANAGER -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_DIALUP_MANAGER must be defined." -# else -# define wxUSE_DIALUP_MANAGER 0 -# endif -# endif /* !defined(wxUSE_DIALUP_MANAGER) */ - -# if !wxUSE_DYNAMIC_LOADER -# if wxUSE_MS_HTML_HELP -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER." -# else -# define wxUSE_DYNAMIC_LOADER 1 -# endif -# endif -# if wxUSE_DIALUP_MANAGER -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER." -# else -# define wxUSE_DYNAMIC_LOADER 1 -# endif -# endif -# endif /* wxUSE_DYNAMIC_LOADER */ -#endif /* wxMSW */ - -/* wxMAC-specific dependencies */ -#ifdef __WXMAC__ -# if wxUSE_UNICODE -# if !TARGET_CARBON -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_UNICODE is only supported for Carbon Targets." -# else -# define wxUSE_UNICODE 0 -# endif -# endif -# endif -#endif /* wxMAC */ -/* wxMotif-specific dependencies */ -#if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG -# undef wxUSE_TAB_DIALOG -# define wxUSE_TAB_DIALOG 1 -#endif - -/* 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 */ -#ifdef __SMARTPHONE__ +#if defined(__SMARTPHONE__) && defined(__WXWINCE__) # ifdef wxUSE_COLOURDLG # undef wxUSE_COLOURDLG # define wxUSE_COLOURDLG 0 # endif -#endif /* __SMARTPHONE__ */ +#endif /* __SMARTPHONE__ && __WXWINCE__ */ /* generic controls dependencies */ @@ -1228,6 +1436,17 @@ # endif #endif /* wxUSE_CALENDARCTRL */ +#if wxUSE_DATEPICKCTRL +# if !wxUSE_DATETIME +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxDatePickerCtrl requires wxUSE_DATETIME" +# else +# undef wxUSE_DATETIME +# define wxUSE_DATETIME 1 +# endif +# endif +#endif /* wxUSE_DATEPICKCTRL */ + #if wxUSE_CHECKLISTBOX # if !wxUSE_LISTBOX # ifdef wxABORT_ON_CONFIG_ERROR @@ -1270,8 +1489,20 @@ # 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 +# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL # ifdef wxABORT_ON_CONFIG_ERROR # error "Built in help controller can't be compiled" # else @@ -1283,6 +1514,8 @@ # define wxUSE_COMBOBOX 1 # undef wxUSE_NOTEBOOK # define wxUSE_NOTEBOOK 1 +# undef wxUSE_SPINCTRL +# define wxUSE_SPINCTRL 1 # endif # endif #endif /* wxUSE_WXHTML_HELP */ @@ -1437,7 +1670,7 @@ # if !wxUSE_DOC_VIEW_ARCHITECTURE # ifdef wxABORT_ON_CONFIG_ERROR -# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE" +# error "wxUSE_MDI_ARCHITECTURE requires wxUSE_DOC_VIEW_ARCHITECTURE" # else # undef wxUSE_DOC_VIEW_ARCHITECTURE # define wxUSE_DOC_VIEW_ARCHITECTURE 1 @@ -1448,7 +1681,7 @@ #if !wxUSE_FILEDLG # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxFileDialog must be compiled as well" +# error "wxUSE_FILEDLG is required by wxUSE_DOC_VIEW_ARCHITECTURE and wxUSE_WXHTML_HELP!" # else # undef wxUSE_FILEDLG # define wxUSE_FILEDLG 1 @@ -1456,9 +1689,21 @@ # endif #endif /* wxUSE_FILEDLG */ +#if !wxUSE_GAUGE || !wxUSE_BUTTON +# if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__) +# ifdef wxABORT_ON_CONFIG_ERROR +# error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON" +# else +# undef wxUSE_GAUGE +# undef wxUSE_BUTTON +# define wxUSE_GAUGE 1 +# define wxUSE_BUTTON 1 +# endif +# endif +#endif /* !wxUSE_GAUGE */ + #if !wxUSE_BUTTON -# if wxUSE_PROGRESSDLG || \ - wxUSE_FONTDLG || \ +# if wxUSE_FONTDLG || \ wxUSE_FILEDLG || \ wxUSE_CHOICEDLG || \ wxUSE_NUMBERDLG || \ @@ -1473,7 +1718,7 @@ # define wxUSE_BUTTON 1 # endif # endif -#endif /* wxUSE_PROGRESSDLG */ +#endif /* !wxUSE_BUTTON */ #if !wxUSE_TOOLBAR # if wxUSE_TOOLBAR_NATIVE @@ -1484,15 +1729,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 @@ -1517,13 +1753,19 @@ #endif #if wxUSE_RADIOBOX -# if !wxUSE_RADIOBTN || !wxUSE_STATBOX +# if !wxUSE_RADIOBTN # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX" +# error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN" # else # undef wxUSE_RADIOBTN -# undef wxUSE_STATBOX # define wxUSE_RADIOBTN 1 +# endif +# endif +# if !wxUSE_STATBOX && !defined(__WXPALMOS__) +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_RADIOBOX requires wxUSE_STATBOX" +# else +# undef wxUSE_STATBOX # define wxUSE_STATBOX 1 # endif # endif @@ -1553,17 +1795,6 @@ # endif #endif /* wxUSE_LOG_DIALOG */ -/* I wonder if we shouldn't just remove all occurrences of - wxUSE_DYNAMIC_CLASSES from the sources? */ -#if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_DYNAMIC_CLASSES must be defined as 1" -# else -# undef wxUSE_DYNAMIC_CLASSES -# define wxUSE_DYNAMIC_CLASSES 1 -# endif -#endif /* wxUSE_DYNAMIC_CLASSES */ - #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ # ifdef wxABORT_ON_CONFIG_ERROR # error "wxClipboard requires wxDataObject" @@ -1589,7 +1820,35 @@ # undef wxUSE_XRC # define wxUSE_XRC 0 # endif -#endif /* wxUSE_UNICODE_XRC */ +#endif /* wxUSE_XRC */ -#endif /* wxUSE_GUI */ +#if wxUSE_SOCKETS && !wxUSE_STOPWATCH +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_SOCKETS requires wxUSE_STOPWATCH" +# else +# undef wxUSE_SOCKETS +# define wxUSE_SOCKETS 0 +# endif +#endif /* wxUSE_SOCKETS */ +#if !wxUSE_VARIANT +# if wxUSE_DATAVIEWCTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxDataViewCtrl requires wxVariant" +# else +# undef wxUSE_DATAVIEWCTRL +# define wxUSE_DATAVIEWCTRL 0 +# endif +# endif + +# if wxUSE_ODBC +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_ODBC requires wxVariant" +# else +# undef wxUSE_ODBC +# define wxUSE_ODBC 0 +# endif +# endif +#endif /* wxUSE_VARIANT */ + +#endif /* wxUSE_GUI */