X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cbf656555e872684a74eb0badffe1aa33bedf95d..981cf2aadb40b112e3372aeffb7898bbe2ed0acb:/include/wx/chkconf.h diff --git a/include/wx/chkconf.h b/include/wx/chkconf.h index 7a03b31938..4d5fd211a2 100644 --- a/include/wx/chkconf.h +++ b/include/wx/chkconf.h @@ -6,21 +6,219 @@ * Created: 09.08.00 * RCS-ID: $Id$ * Copyright: (c) 2000 Vadim Zeitlin - * Licence: wxWindows license + * Licence: wxWindows licence */ /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ /* - this global setting determintes what should we do if the setting FOO + Compiler-specific checking. + */ + +#if defined(__WXMSW__) +# include "wx/msw/chkconf.h" +#elif defined(__WXMAC__) +# include "wx/mac/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 - developpers only) + developers only) */ #define wxABORT_ON_CONFIG_ERROR /* - all these tests are for GUI onlu + global features + */ + +/* GUI build by default */ +#if !defined(wxUSE_GUI) +# define wxUSE_GUI 1 +#endif /* !defined(wxUSE_GUI) */ + +/* + tests for non GUI features + */ + +#ifndef wxUSE_DYNLIB_CLASS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_DYNLIB_CLASS must be defined." +# else +# define wxUSE_DYNLIB_CLASS 0 +# endif +#endif /* !defined(wxUSE_DYNLIB_CLASS) */ + +#ifndef wxUSE_EXCEPTIONS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_EXCEPTIONS must be defined." +# else +# define wxUSE_EXCEPTIONS 0 +# endif +#endif /* !defined(wxUSE_EXCEPTIONS) */ + +#ifndef wxUSE_FILESYSTEM +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_FILESYSTEM must be defined." +# else +# define wxUSE_FILESYSTEM 0 +# endif +#endif /* !defined(wxUSE_FILESYSTEM) */ + +/* don't give an error about this one yet, it's not fully implemented */ +#ifndef wxUSE_FSVOLUME +# define wxUSE_FSVOLUME 0 +#endif /* !defined(wxUSE_FSVOLUME) */ + +#ifndef wxUSE_DYNAMIC_LOADER +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_DYNAMIC_LOADER must be defined." +# else +# define wxUSE_DYNAMIC_LOADER 0 +# endif +#endif /* !defined(wxUSE_DYNAMIC_LOADER) */ + +#ifndef wxUSE_LOG +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_LOG must be defined." +# else +# define wxUSE_LOG 0 +# endif +#endif /* !defined(wxUSE_LOG) */ + +#ifndef wxUSE_LONGLONG +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_LONGLONG must be defined." +# else +# define wxUSE_LONGLONG 0 +# endif +#endif /* !defined(wxUSE_LONGLONG) */ + +#ifndef wxUSE_MIMETYPE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_MIMETYPE must be defined." +# else +# define wxUSE_MIMETYPE 0 +# endif +#endif /* !defined(wxUSE_MIMETYPE) */ + +#ifndef wxUSE_PROTOCOL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_PROTOCOL must be defined." +# else +# define wxUSE_PROTOCOL 0 +# endif +#endif /* !defined(wxUSE_PROTOCOL) */ + +/* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */ +#if !wxUSE_PROTOCOL +# undef wxUSE_PROTOCOL_HTTP +# undef wxUSE_PROTOCOL_FTP +# undef wxUSE_PROTOCOL_FILE +# define wxUSE_PROTOCOL_HTTP 0 +# define wxUSE_PROTOCOL_FTP 0 +# define wxUSE_PROTOCOL_FILE 0 +#endif /* wxUSE_PROTOCOL */ + +#ifndef wxUSE_PROTOCOL_HTTP +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_PROTOCOL_HTTP must be defined." +# else +# define wxUSE_PROTOCOL_HTTP 0 +# endif +#endif /* !defined(wxUSE_PROTOCOL_HTTP) */ + +#ifndef wxUSE_PROTOCOL_FTP +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_PROTOCOL_FTP must be defined." +# else +# define wxUSE_PROTOCOL_FTP 0 +# endif +#endif /* !defined(wxUSE_PROTOCOL_FTP) */ + +#ifndef wxUSE_PROTOCOL_FILE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_PROTOCOL_FILE must be defined." +# else +# define wxUSE_PROTOCOL_FILE 0 +# endif +#endif /* !defined(wxUSE_PROTOCOL_FILE) */ + +#ifndef wxUSE_REGEX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_REGEX must be defined." +# else +# define wxUSE_REGEX 0 +# endif +#endif /* !defined(wxUSE_REGEX) */ + +#ifndef wxUSE_XML +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_XML must be defined." +# else +# define wxUSE_XML 0 +# endif +#endif /* !defined(wxUSE_XML) */ + +#ifndef wxUSE_SOCKETS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_SOCKETS must be defined." +# else +# define wxUSE_SOCKETS 0 +# endif +#endif /* !defined(wxUSE_SOCKETS) */ + +#ifndef wxUSE_STREAMS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_STREAMS must be defined." +# else +# define wxUSE_STREAMS 0 +# endif +#endif /* !defined(wxUSE_STREAMS) */ + +#ifndef wxUSE_STOPWATCH +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_STOPWATCH must be defined." +# else +# define wxUSE_STOPWATCH 0 +# endif +#endif /* !defined(wxUSE_STOPWATCH) */ + +#ifndef wxUSE_TEXTBUFFER +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_TEXTBUFFER must be defined." +# else +# define wxUSE_TEXTBUFFER 0 +# endif +#endif /* !defined(wxUSE_TEXTBUFFER) */ + +#ifndef wxUSE_TEXTFILE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_TEXTFILE must be defined." +# else +# define wxUSE_TEXTFILE 0 +# endif +#endif /* !defined(wxUSE_TEXTFILE) */ + +#ifndef wxUSE_UNICODE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_UNICODE must be defined." +# else +# define wxUSE_UNICODE 0 +# endif +#endif /* !defined(wxUSE_UNICODE) */ + +#ifndef wxUSE_URL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_URL must be defined." +# else +# define wxUSE_URL 0 +# endif +#endif /* !defined(wxUSE_URL) */ + +/* + all these tests are for GUI only */ #if wxUSE_GUI @@ -93,6 +291,14 @@ # endif #endif /* !defined(wxUSE_CHOICE) */ +#ifndef wxUSE_CHOICEDLG +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_CHOICEDLG must be defined." +# else +# define wxUSE_CHOICEDLG 0 +# endif +#endif /* !defined(wxUSE_CHOICEDLG) */ + #ifndef wxUSE_CLIPBOARD # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_CLIPBOARD must be defined." @@ -101,6 +307,14 @@ # endif #endif /* !defined(wxUSE_CLIPBOARD) */ +#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_COMBOBOX # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_COMBOBOX must be defined." @@ -117,6 +331,22 @@ # endif #endif /* !defined(wxUSE_DATAOBJ) */ +#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_FILEDLG # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_FILEDLG must be defined." @@ -157,6 +387,51 @@ # 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_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 +# ifndef __UNIX__ + /* 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." @@ -165,6 +440,22 @@ # 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." @@ -181,13 +472,29 @@ # endif #endif /* !defined(wxUSE_LISTCTRL) */ -#ifndef wxUSE_MSGDLG +#ifndef wxUSE_LOGGUI # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_MSGDLG must be defined." +# error "wxUSE_LOGGUI must be defined." # else -# define wxUSE_MSGDLG 0 +# define wxUSE_LOGGUI 0 # endif -#endif /* !defined(wxUSE_MSGDLG) */ +#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_ARCHITECTURE # ifdef wxABORT_ON_CONFIG_ERROR @@ -205,21 +512,13 @@ # endif #endif /* !defined(wxUSE_MENUS) */ -#ifndef wxUSE_MIMETYPE -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_MIMETYPE must be defined." -# else -# define wxUSE_MIMETYPE 0 -# endif -#endif /* !defined(wxUSE_MIMETYPE) */ - -#ifndef wxUSE_NEW_GRID +#ifndef wxUSE_MSGDLG # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_NEW_GRID must be defined." +# error "wxUSE_MSGDLG must be defined." # else -# define wxUSE_NEW_GRID 0 +# define wxUSE_MSGDLG 0 # endif -#endif /* !defined(wxUSE_NEW_GRID) */ +#endif /* !defined(wxUSE_MSGDLG) */ #ifndef wxUSE_NOTEBOOK # ifdef wxABORT_ON_CONFIG_ERROR @@ -229,6 +528,14 @@ # endif #endif /* !defined(wxUSE_NOTEBOOK) */ +#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." @@ -237,6 +544,14 @@ # 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." @@ -293,6 +608,14 @@ # 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." @@ -325,21 +648,21 @@ # endif #endif /* !defined(wxUSE_STATLINE) */ -#ifndef wxUSE_STATUSBAR +#ifndef wxUSE_STATTEXT # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_STATUSBAR must be defined." +# error "wxUSE_STATTEXT must be defined." # else -# define wxUSE_STATUSBAR 0 +# define wxUSE_STATTEXT 0 # endif -#endif /* !defined(wxUSE_STATUSBAR) */ +#endif /* !defined(wxUSE_STATTEXT) */ -#ifndef wxUSE_STOPWATCH +#ifndef wxUSE_STATUSBAR # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_STOPWATCH must be defined." +# error "wxUSE_STATUSBAR must be defined." # else -# define wxUSE_STOPWATCH 0 +# define wxUSE_STATUSBAR 0 # endif -#endif /* !defined(wxUSE_STOPWATCH) */ +#endif /* !defined(wxUSE_STATUSBAR) */ #ifndef wxUSE_TAB_DIALOG # ifdef wxABORT_ON_CONFIG_ERROR @@ -357,6 +680,14 @@ # 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." @@ -381,63 +712,481 @@ # 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) */ + +#endif /* wxUSE_GUI */ + /* check consistency of the settings */ -#if wxUSE_BUTTON || \ - wxUSE_CALENDARCTRL || \ - wxUSE_CARET || \ - wxUSE_COMBOBOX || \ - wxUSE_BMPBUTTON || \ - wxUSE_CHECKBOX || \ - wxUSE_CHECKLISTBOX || \ - wxUSE_CHOICE || \ - wxUSE_GAUGE || \ - wxUSE_GRID || \ - wxUSE_NEW_GRID || \ - wxUSE_LISTBOX || \ - wxUSE_LISTCTRL || \ - wxUSE_NOTEBOOK || \ - wxUSE_RADIOBOX || \ - wxUSE_RADIOBTN || \ - wxUSE_SCROLLBAR || \ - wxUSE_SLIDER || \ - wxUSE_SPINBTN || \ - wxUSE_SPINCTRL || \ - wxUSE_STATBMP || \ - wxUSE_STATBOX || \ - wxUSE_STATLINE || \ - wxUSE_STATUSBAR || \ - wxUSE_TEXTCTRL || \ - wxUSE_TOOLBAR || \ - wxUSE_TREECTRL -# if !wxUSE_CONTROLS + +#if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP +# if !wxUSE_PROTOCOL # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_CONTROLS unset but some controls used" +# error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL" # else -# undef wxUSE_CONTROLS -# define wxUSE_CONTROLS 1 +# undef wxUSE_PROTOCOL +# define wxUSE_PROTOCOL 1 # endif -# endif -#endif /* controls */ - -#if wxUSE_CALENDARCTRL -# if !(wxUSE_SPINBTN && wxUSE_COMBOBOX) -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxCalendarCtrl requires wxSpinButton and wxComboBox" -# else -# undef wxUSE_SPINBTN -# undef wxUSE_COMBOBOX -# define wxUSE_SPINBTN 1 -# define wxUSE_COMBOBOX 1 -# endif # endif -#endif /* wxUSE_CALENDARCTRL */ +#endif /* wxUSE_PROTOCOL_XXX */ -#if wxUSE_CHECKLISTBOX -# if !wxUSE_LISTBOX +#if wxUSE_URL +# if !wxUSE_PROTOCOL # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxCheckListBox requires wxListBox" +# 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 */ + +#if wxUSE_GZSTREAM +# if !wxUSE_ZLIB +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_GZSTREAM requires wxUSE_ZLIB" +# else +# undef wxUSE_ZLIB +# define wxUSE_ZLIB 1 +# endif +# endif +#endif /* wxUSE_GZSTREAM */ + +/* 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_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 +#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_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 */ + +#if 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" +# else +# undef wxUSE_XML +# define wxUSE_XML 0 +# endif +#endif /* wxUSE_UNICODE_MSLU */ + +#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 */ + +/* the rest of the tests is for the GUI settings only */ +#if wxUSE_GUI + +#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 || \ + wxUSE_SPINCTRL || \ + wxUSE_STATBMP || \ + wxUSE_STATBOX || \ + wxUSE_STATLINE || \ + wxUSE_STATTEXT || \ + wxUSE_STATUSBAR || \ + wxUSE_TEXTCTRL || \ + wxUSE_TOOLBAR || \ + wxUSE_TREECTRL +# if !wxUSE_CONTROLS +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_CONTROLS unset but some controls used" +# else +# undef wxUSE_CONTROLS +# define wxUSE_CONTROLS 1 +# endif +# endif +#endif /* controls */ + +#if wxUSE_NOTEBOOK || wxUSE_LISTBOOK +# if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_BOOKCTRL must be set." +# else +# undef wxUSE_BOOKCTRL +# endif +# endif + +# ifndef wxUSE_BOOKCTRL +# define wxUSE_BOOKCTRL 1 +# endif +#endif /* wxUSE_NOTEBOOK */ + +#if wxUSE_LISTBOOK +# if !wxUSE_LISTCTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxListbook requires wxListCtrl" +# else +# undef wxUSE_LISTCTRL +# define wxUSE_LISTCTRL 1 +# endif +# endif +#endif /* wxUSE_LISTBOOK */ + +/* 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 */ + +/* 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 +#if wxUSE_SMARTPHONE +# ifdef wxUSE_COLOURDLG +# undef wxUSE_COLOURDLG +# define wxUSE_COLOURDLG 0 +# endif +#endif /* wxUSE_SMARTPHONE */ + + +/* generic controls dependencies */ +#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__) +# if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG + /* all common controls are needed by these dialogs */ +# if !defined(wxUSE_CHOICE) || \ + !defined(wxUSE_TEXTCTRL) || \ + !defined(wxUSE_BUTTON) || \ + !defined(wxUSE_CHECKBOX) || \ + !defined(wxUSE_STATTEXT) +# ifdef wxABORT_ON_CONFIG_ERROR +# error "These common controls are needed by common dialogs" +# else +# undef wxUSE_CHOICE +# define wxUSE_CHOICE 1 +# undef wxUSE_TEXTCTRL +# define wxUSE_TEXTCTRL 1 +# undef wxUSE_BUTTON +# define wxUSE_BUTTON 1 +# undef wxUSE_CHECKBOX +# define wxUSE_CHECKBOX 1 +# undef wxUSE_STATTEXT +# define wxUSE_STATTEXT 1 +# endif +# endif +# endif +#endif /* !wxMSW || wxUniv */ + +/* common dependencies */ +#if wxUSE_CALENDARCTRL +# if !(wxUSE_SPINBTN && wxUSE_COMBOBOX) +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxCalendarCtrl requires wxSpinButton and wxComboBox" +# else +# undef wxUSE_SPINBTN +# undef wxUSE_COMBOBOX +# define wxUSE_SPINBTN 1 +# define wxUSE_COMBOBOX 1 +# endif +# endif + +# if !wxUSE_DATETIME +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxCalendarCtrl requires wxUSE_DATETIME" +# else +# undef wxUSE_DATETIME +# define wxUSE_DATETIME 1 +# endif +# endif +#endif /* wxUSE_CALENDARCTRL */ + +#if wxUSE_CHECKLISTBOX +# if !wxUSE_LISTBOX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxCheckListBox requires wxListBox" # else # undef wxUSE_LISTBOX # define wxUSE_LISTBOX 1 @@ -445,19 +1194,67 @@ # endif #endif /* wxUSE_RADIOBTN */ -#if wxUSE_COMBOBOX -# if defined(__WXUNIVERSAL__) && !wxUSE_LISTBOX +#if wxUSE_WXHTML_HELP +# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK +# ifdef wxABORT_ON_CONFIG_ERROR +# error "Built in help controller can't be compiled" +# else +# undef wxUSE_HELP +# define wxUSE_HELP 1 +# undef wxUSE_HTML +# define wxUSE_HTML 1 +# undef wxUSE_COMBOBOX +# define wxUSE_COMBOBOX 1 +# undef wxUSE_NOTEBOOK +# define wxUSE_NOTEBOOK 1 +# endif +# endif +#endif /* wxUSE_WXHTML_HELP */ + +#if wxUSE_DOC_VIEW_ARCHITECTURE +# if !wxUSE_MENUS # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxComboBox requires wxListBox in wxUniversal" +# error "DocView requires wxUSE_MENUS" # else -# undef wxUSE_LISTBOX -# define wxUSE_LISTBOX 1 +# undef wxUSE_MENUS +# define wxUSE_MENUS 1 # endif # endif -#endif /* wxUSE_COMBOBOX */ + +# if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM +# ifdef wxABORT_ON_CONFIG_ERROR +# error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM" +# else +# undef wxUSE_STREAMS +# define wxUSE_STREAMS 1 +# endif +# endif +#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */ + +#if wxUSE_PRINTING_ARCHITECTURE +# if !wxUSE_COMBOBOX +# ifdef wxABORT_ON_CONFIG_ERROR +# error "Print dialog requires wxUSE_COMBOBOX" +# else +# undef wxUSE_COMBOBOX +# define wxUSE_COMBOBOX 1 +# endif +# endif +#endif /* wxUSE_PRINTING_ARCHITECTURE */ + +#if wxUSE_MDI_ARCHITECTURE +# if !wxUSE_DOC_VIEW_ARCHITECTURE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE" +# else +# undef wxUSE_DOC_VIEW_ARCHITECTURE +# define wxUSE_DOC_VIEW_ARCHITECTURE 1 +# endif +# endif +#endif /* wxUSE_MDI_ARCHITECTURE */ #if !wxUSE_FILEDLG -# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_HTML +# if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP # ifdef wxABORT_ON_CONFIG_ERROR # error "wxFileDialog must be compiled as well" # else @@ -467,16 +1264,25 @@ # endif #endif /* wxUSE_FILEDLG */ -#if !wxUSE_FONTDLG -# if wxUSE_FONTMAP -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxFontDialog must be compiled as well" -# else -# undef wxUSE_FONTDLG -# define wxUSE_FONTDLG 1 -# endif +#if !wxUSE_TOOLBAR +# if wxUSE_TOOLBAR_NATIVE +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1" +# else +# undef wxUSE_TOOLBAR_NATIVE +# define wxUSE_TOOLBAR_NATIVE 0 +# endif # endif -#endif /* !wxUSE_FONTDLG */ + +# 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 # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL @@ -499,17 +1305,6 @@ # endif #endif -#if wxUSE_RADIOBTN -# if defined(__WXUNIVERSAL__) && !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_RADIOBOX # if !wxUSE_RADIOBTN || !wxUSE_STATBOX # ifdef wxABORT_ON_CONFIG_ERROR @@ -523,70 +1318,41 @@ # endif #endif /* wxUSE_RADIOBOX */ -#if wxUSE_STOPWATCH -# if !wxUSE_LONGLONG +#if wxUSE_LOGWINDOW +# if !wxUSE_TEXTCTRL # ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_STOPWATCH requires wxUSE_LONGLONG" +# error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL" # else -# undef wxUSE_LONGLONG -# define wxUSE_LONGLONG 1 +# undef wxUSE_TEXTCTRL +# define wxUSE_TEXTCTRL 1 # endif # endif -#endif /* wxUSE_STOPWATCH */ - -#if wxUSE_TEXTCTRL -# ifdef __WXUNIVERSAL__ -# 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 */ +#endif /* wxUSE_LOGWINDOW */ -# 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 /* __WXUNIVERSAL__ */ -#endif /* wxUSE_RADIOBTN */ +#if wxUSE_LOG_DIALOG +# if !wxUSE_LISTCTRL +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL" +# else +# undef wxUSE_LISTCTRL +# define wxUSE_LISTCTRL 1 +# endif +# 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 -# if wxABORT_ON_CONFIG_ERROR +# ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_DYNAMIC_CLASSES must be defined as 1" # else # undef wxUSE_DYNAMIC_CLASSES -# define wxUSE_DYNAMIC_CLASSES +# define wxUSE_DYNAMIC_CLASSES 1 # endif #endif /* wxUSE_DYNAMIC_CLASSES */ -#if wxUSE_MIMETYPE && !wxUSE_TEXTFILE -# if 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_FILE -# if wxABORT_ON_CONFIG_ERROR -# error "wxUSE_TEXTFILE requires wxUSE_FILE" -# else -# undef wxUSE_FILE -# define wxUSE_FILE 1 -# endif -#endif /* wxUSE_TEXTFILE */ - #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ -# if wxABORT_ON_CONFIG_ERROR +# ifdef wxABORT_ON_CONFIG_ERROR # error "wxClipboard requires wxDataObject" # else # undef wxUSE_DATAOBJ @@ -594,29 +1360,14 @@ # endif #endif /* wxUSE_CLIPBOARD */ -/* wxUniv-specific dependencies */ -#if defined(__WXUNIVERSAL__) -# if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN -# if wxABORT_ON_CONFIG_ERROR -# error "wxUSE_POPUPWIN must be defined to use comboboxes/menus" -# else -# undef wxUSE_POPUPWIN -# define wxUSE_POPUPWIN 1 -# endif -# endif -#endif /* wxUSE_POPUPWIN */ - -/* wxGTK-specific dependencies */ -#if defined(__WXGTK__) && !defined(__WXUNIVERSAL__) -# if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS -# if wxABORT_ON_CONFIG_ERROR -# error "MDI requires wxUSE_MENUS in wxGTK" -# else -# undef wxUSE_MENUS -# define wxUSE_MENUS 1 -# endif +#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 /* wxGTK && !wxUniv */ +#endif /* wxUSE_WX_RESOURCES */ #endif /* wxUSE_GUI */