X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05815ab32f501810bf0923a511f7d99b90b808a2..bda3d86af93436fb611948634cf77035a1bc417c:/include/wx/chkconf.h diff --git a/include/wx/chkconf.h b/include/wx/chkconf.h index e11fad03ac..2049b2d224 100644 --- a/include/wx/chkconf.h +++ b/include/wx/chkconf.h @@ -6,16 +6,26 @@ * 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 @@ -28,16 +38,6 @@ # define wxUSE_GUI 1 #endif /* !defined(wxUSE_GUI) */ -/* wxBase doesn't need compatibility settings as it's a new port */ -#if !wxUSE_GUI -# undef WXWIN_COMPATIBILITY -# undef WXWIN_COMPATIBILITY_2 -# undef WXWIN_COMPATIBILITY_2_2 -# define WXWIN_COMPATIBILITY 0 -# define WXWIN_COMPATIBILITY_2 0 -# define WXWIN_COMPATIBILITY_2_2 0 -#endif /* !wxUSE_GUI */ - /* tests for non GUI features */ @@ -50,12 +50,25 @@ # endif #endif /* !defined(wxUSE_DYNLIB_CLASS) */ -#ifndef wxUSE_FSVOLUME +#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_FSVOLUME +# error "wxUSE_FILESYSTEM must be defined." # else -# define wxUSE_FSVOLUME 0 +# 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 @@ -140,6 +153,14 @@ # 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." @@ -310,6 +331,14 @@ # 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." @@ -406,6 +435,14 @@ # 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." @@ -470,14 +507,6 @@ # endif #endif /* !defined(wxUSE_MSGDLG) */ -#ifndef wxUSE_NEW_GRID -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_NEW_GRID must be defined." -# else -# define wxUSE_NEW_GRID 0 -# endif -#endif /* !defined(wxUSE_NEW_GRID) */ - #ifndef wxUSE_NOTEBOOK # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_NOTEBOOK must be defined." @@ -670,6 +699,14 @@ # 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." @@ -728,11 +765,44 @@ # endif #endif /* wxUSE_PROTOCOL */ -/* non GUI settings */ -#if wxUSE_STOPWATCH +/* 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 requires wxUSE_LONGLONG" +# error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG" # else # undef wxUSE_LONGLONG # define wxUSE_LONGLONG 1 @@ -776,6 +846,35 @@ # 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 @@ -789,7 +888,6 @@ wxUSE_CHOICE || \ wxUSE_GAUGE || \ wxUSE_GRID || \ - wxUSE_NEW_GRID || \ wxUSE_LISTBOX || \ wxUSE_LISTCTRL || \ wxUSE_NOTEBOOK || \ @@ -817,6 +915,31 @@ # 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 @@ -905,6 +1028,20 @@ # 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." @@ -938,15 +1075,39 @@ # 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 -#if defined(__WXMOTIF__) && wxUSE_TOGGLEBTN -# undef wxUSE_TOGGLEBTN -# define wxUSE_TOGGLEBTN 0 -#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__) @@ -987,6 +1148,15 @@ # 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 @@ -1001,7 +1171,7 @@ #endif /* wxUSE_RADIOBTN */ #if wxUSE_WXHTML_HELP -# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX +# if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK # ifdef wxABORT_ON_CONFIG_ERROR # error "Built in help controller can't be compiled" # else @@ -1011,10 +1181,32 @@ # 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 "DocView requires wxUSE_MENUS" +# else +# undef wxUSE_MENUS +# define wxUSE_MENUS 1 +# endif +# endif + +# 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 @@ -1026,16 +1218,16 @@ # endif #endif /* wxUSE_PRINTING_ARCHITECTURE */ -#if wxUSE_DOC_VIEW_ARCHITECTURE -# if !wxUSE_MENUS +#if wxUSE_MDI_ARCHITECTURE +# if !wxUSE_DOC_VIEW_ARCHITECTURE # ifdef wxABORT_ON_CONFIG_ERROR -# error "DocView requires wxUSE_MENUS" +# error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE" # else -# undef wxUSE_MENUS -# define wxUSE_MENUS 1 +# undef wxUSE_DOC_VIEW_ARCHITECTURE +# define wxUSE_DOC_VIEW_ARCHITECTURE 1 # endif # endif -#endif /* wxUSE_DOC_VIEW_ARCHITECTURE */ +#endif /* wxUSE_MDI_ARCHITECTURE */ #if !wxUSE_FILEDLG # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP @@ -1048,6 +1240,26 @@ # endif #endif /* wxUSE_FILEDLG */ +#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 + +# 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 # ifdef wxABORT_ON_CONFIG_ERROR @@ -1124,5 +1336,14 @@ # 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 */ + #endif /* wxUSE_GUI */