]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/chkconf.h
added wxprec.h
[wxWidgets.git] / include / wx / chkconf.h
index 1f4d44c86d395b2b2424e74bd9b7b55b4a10417f..c8b30802807c003c16d11ac98a0b4e4da6d2d51f 100644 (file)
@@ -6,16 +6,26 @@
  * Created:     09.08.00
  * RCS-ID:      $Id$
  * Copyright:   (c) 2000 Vadim Zeitlin <vadim@wxwindows.org>
- * 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
 
 #   endif
 #endif /* !defined(wxUSE_DYNLIB_CLASS) */
 
+#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
 #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."
 #   endif
 #endif /* !defined(wxUSE_TREECTRL) */
 
+#ifndef wxUSE_DISPLAY
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_DISPLAY must be defined."
+#   else
+#       define wxUSE_DISPLAY 0
+#   endif
+#endif /* !defined(wxUSE_TREECTRL) */
+
 #ifndef wxUSE_WXHTML_HELP
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #       error "wxUSE_WXHTML_HELP must be defined."
 #   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
     wxUSE_CHOICE || \
     wxUSE_GAUGE || \
     wxUSE_GRID || \
-    wxUSE_NEW_GRID || \
     wxUSE_LISTBOX || \
     wxUSE_LISTCTRL || \
     wxUSE_NOTEBOOK || \
 #   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 */
 
 /* generic controls dependencies */
 #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
 #           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
 #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
 #           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
 #           define wxUSE_COMBOBOX 1
 #       endif
 #   endif
+
+#   if !wxUSE_DOC_VIEW_ARCHITECTURE
+#       ifdef wxABORT_ON_CONFIG_ERROR
+#           error "Print architecture requires wxUSE_DOC_VIEW_ARCHITECTURE"
+#       else
+#           undef wxUSE_DOC_VIEW_ARCHITECTURE
+#           define wxUSE_DOC_VIEW_ARCHITECTURE 1
+#       endif
+#   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
 #   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
 #   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 */