+/* 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 */
+
+/* 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
+
+/* 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 */