+dnl ---------------------------------------------------------------------------
+dnl compile options
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED)
+WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
+WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
+
+if test "$wxUSE_DEBUG" = "yes"; then
+ DEFAULT_wxUSE_DEBUG_FLAG=yes
+ DEFAULT_wxUSE_DEBUG_INFO=yes
+elif test "$wxUSE_DEBUG" = "no"; then
+ DEFAULT_wxUSE_DEBUG_FLAG=no
+ DEFAULT_wxUSE_DEBUG_INFO=no
+fi
+
+WX_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
+WX_ARG_ENABLE(debug_info, [ --enable-debug_info create code with debugging information], wxUSE_DEBUG_INFO)
+WX_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
+WX_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt use wxDebugContext], wxUSE_DEBUG_CONTEXT)
+WX_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing create code with memory tracing], wxUSE_MEM_TRACING)
+WX_ARG_ENABLE(profile, [ --enable-profile create code with profiling information], wxUSE_PROFILE)
+WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI information], wxUSE_NO_RTTI)
+WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without exceptions information], wxUSE_NO_EXCEPTIONS)
+WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
+WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
+
+dnl ---------------------------------------------------------------------------
+dnl (small) optional non GUI classes
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
+WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
+
+dnl can't use sockets without GUI so far
+if test "$wxUSE_GUI" = "yes"; then
+WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
+else
+wxUSE_SOCKETS=no
+fi
+
+WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER)
+WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
+WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE)
+WX_ARG_ENABLE(timedate, [ --enable-timedate use date/time classes], wxUSE_TIMEDATE)
+WX_ARG_ENABLE(wave, [ --enable-wave use wxWave class], wxUSE_WAVE)
+WX_ARG_ENABLE(fraction, [ --enable-fraction use wxFraction class], wxUSE_FRACTION)
+WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
+WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG)
+WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG)
+WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS)
+WX_ARG_ENABLE(file, [ --enable-file use wxFile classes], wxUSE_FILE)
+WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile classes], wxUSE_TEXTFILE)
+WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
+WX_ARG_ENABLE(wcsrtombs, [ --enable-wcsrtombs use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
+WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
+WX_ARG_ENABLE(joystick, [ --enable-joystick compile in joystick support (Linux only)], wxUSE_JOYSTICK)
+WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
+WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP)
+WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], wxUSE_ZIPSTREAM)
+
+dnl ---------------------------------------------------------------------------
+dnl "big" options (i.e. those which change a lot of things throughout the library)
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS)
+WX_ARG_ENABLE(serial, [ --enable-serial use class serialization], wxUSE_SERIAL)
+
+if test "$wxUSE_GUI" = "yes"; then
+
+dnl ---------------------------------------------------------------------------
+dnl "big" GUI options
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
+WX_ARG_ENABLE(help, [ --enable-help use help (using external browser at present)], wxUSE_HELP)
+WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
+WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
+WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
+
+dnl ---------------------------------------------------------------------------
+dnl PostScript options
+dnl ---------------------------------------------------------------------------
+WX_ARG_ENABLE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
+
+dnl VZ: these options seem to be always on, if someone wants to change it please do
+dnl WX_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts], dnl wxUSE_NORMALIZED_PS_FONTS)
+dnl WX_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table], dnl wxUSE_AFM_FOR_POSTSCRIPT)
+
+dnl ---------------------------------------------------------------------------
+dnl resources
+dnl ---------------------------------------------------------------------------
+WX_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library], wxUSE_PROLOGIO)
+WX_ARG_ENABLE(resources, [ --enable-resources use wxWindows resources], wxUSE_RESOURCES)
+
+WX_ARG_ENABLE(xresources, [ --enable-xresources use X resources for save (default for gtk+)], wxUSE_X_RESOURCES)
+
+dnl ---------------------------------------------------------------------------
+dnl IPC &c
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard classes], wxUSE_CLIPBOARD)
+WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
+
+dnl TODO: doesn't work yet
+WX_ARG_ENABLE(wxtree, [ --enable-wxtree make wxTree library], wxUSE_WXTREE)
+
+dnl ---------------------------------------------------------------------------
+dnl optional GUI controls (in alphabetical order except the first one)
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(controls, [ --enable-controls use all usual controls], wxUSE_CONTROLS)
+
+dnl even with --enable-controls, some may be disabled by giving
+dnl --disable-<control> later on the command line - but by default all will be
+dnl used (and vice versa)
+if test "$wxUSE_CONTROLS" = "yes"; then
+ DEFAULT_wxUSE_ACCEL=yes
+ DEFAULT_wxUSE_CARET=yes
+ DEFAULT_wxUSE_COMBOBOX=yes
+ DEFAULT_wxUSE_BMPBUTTON=yes
+ DEFAULT_wxUSE_CHECKBOX=yes
+ DEFAULT_wxUSE_CHECKLISTBOX=yes
+ DEFAULT_wxUSE_CHOICE=yes
+ DEFAULT_wxUSE_GAUGE=yes
+ DEFAULT_wxUSE_GRID=yes
+ DEFAULT_wxUSE_NEW_GRID=no
+ DEFAULT_wxUSE_IMAGLIST=yes
+ DEFAULT_wxUSE_LISTBOX=yes
+ DEFAULT_wxUSE_LISTCTRL=yes
+ DEFAULT_wxUSE_NOTEBOOK=yes
+ DEFAULT_wxUSE_RADIOBOX=yes
+ DEFAULT_wxUSE_RADIOBTN=yes
+ DEFAULT_wxUSE_SASH=yes
+ DEFAULT_wxUSE_SCROLLBAR=yes
+ DEFAULT_wxUSE_SLIDER=yes
+ DEFAULT_wxUSE_SPINBTN=yes
+ DEFAULT_wxUSE_SPINCTRL=yes
+ DEFAULT_wxUSE_SPLITTER=yes
+ DEFAULT_wxUSE_STATBMP=yes
+ DEFAULT_wxUSE_STATBOX=yes
+ DEFAULT_wxUSE_STATLINE=yes
+ DEFAULT_wxUSE_STATUSBAR=yes
+ DEFAULT_wxUSE_TAB_DIALOG=yes
+ DEFAULT_wxUSE_TOOLBAR=yes
+ DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
+ DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
+ DEFAULT_wxUSE_TOOLTIPS=yes
+ DEFAULT_wxUSE_TREECTRL=yes
+elif test "$wxUSE_CONTROLS" = "no"; then
+ DEFAULT_wxUSE_ACCEL=no
+ DEFAULT_wxUSE_CARET=no
+ DEFAULT_wxUSE_COMBOBOX=no
+ DEFAULT_wxUSE_BMPBUTTON=no
+ DEFAULT_wxUSE_CHECKBOX=no
+ DEFAULT_wxUSE_CHECKLISTBOX=no
+ DEFAULT_wxUSE_CHOICE=no
+ DEFAULT_wxUSE_GAUGE=no
+ DEFAULT_wxUSE_GRID=no
+ DEFAULT_wxUSE_NEW_GRID=no
+ DEFAULT_wxUSE_IMAGLIST=no
+ DEFAULT_wxUSE_LISTBOX=no
+ DEFAULT_wxUSE_LISTCTRL=no
+ DEFAULT_wxUSE_NOTEBOOK=no
+ DEFAULT_wxUSE_RADIOBOX=no
+ DEFAULT_wxUSE_RADIOBTN=no
+ DEFAULT_wxUSE_SASH=no
+ DEFAULT_wxUSE_SCROLLBAR=no
+ DEFAULT_wxUSE_SLIDER=no
+ DEFAULT_wxUSE_SPINBTN=no
+ DEFAULT_wxUSE_SPINCTRL=no
+ DEFAULT_wxUSE_SPLITTER=no
+ DEFAULT_wxUSE_STATBMP=no
+ DEFAULT_wxUSE_STATBOX=no
+ DEFAULT_wxUSE_STATLINE=no
+ DEFAULT_wxUSE_STATUSBAR=no
+ DEFAULT_wxUSE_TAB_DIALOG=no
+ DEFAULT_wxUSE_TOOLBAR=no
+ DEFAULT_wxUSE_TOOLBAR_NATIVE=no
+ DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
+ DEFAULT_wxUSE_TOOLTIPS=no
+ DEFAULT_wxUSE_TREECTRL=no
+fi
+
+WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
+WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET)
+WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
+WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX)
+WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
+WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE)
+WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox classes], wxUSE_COMBOBOX)
+WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
+WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
+WX_ARG_ENABLE(newgrid, [ --enable-newgrid use new wxGrid class], wxUSE_NEW_GRID)
+WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST)
+WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX)
+WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL)
+WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK)
+WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX)
+WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN)
+WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH)
+WX_ARG_ENABLE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
+WX_ARG_ENABLE(slider, [ --enable-slider use wxSlider class], wxUSE_SLIDER)
+WX_ARG_ENABLE(spinbtn, [ --enable-spinbtn use wxSpinButton class], wxUSE_SPINBTN)
+WX_ARG_ENABLE(spinctrl, [ --enable-spinctrl use wxSpinCtrl class], wxUSE_SPINCTRL)
+WX_ARG_ENABLE(splitter, [ --enable-splitter use wxSplitterWindow class], wxUSE_SPLITTER)
+WX_ARG_ENABLE(statbmp, [ --enable-statbmp use wxStaticBitmap class], wxUSE_STATBMP)
+WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wxUSE_STATBOX)
+WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE)
+WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR)
+WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TABDIALOG)
+WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR)
+WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
+WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
+WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
+
+dnl ---------------------------------------------------------------------------
+dnl misc GUI options
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(commondlg, [ --enable-commondlg use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
+WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
+WX_ARG_ENABLE(textdlg, [ --enable-textdlg use wxTextDialog], wxUSE_TEXTDLG)
+WX_ARG_ENABLE(tipdlg, [ --enable-tipdlg use startup tips], wxUSE_STARTUP_TIPS)
+WX_ARG_ENABLE(progressdlg, [ --enable-progressdlg use wxProgressDialog], wxUSE_PROGRESSDLG)
+WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME)
+WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML)
+WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS)
+WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
+WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
+WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
+
+dnl ---------------------------------------------------------------------------
+dnl support for image formats that do not rely on external library
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF)
+WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX)
+WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM)
+
+fi
+dnl for GUI only
+
+dnl cache the options values before (may be) aborting below
+WX_ARG_CACHE_FLUSH
+
+dnl check that no more than one toolkit is given and that if none are given that
+dnl we have a default one
+
+AC_MSG_CHECKING(for toolkit)
+
+if test "$wxUSE_GUI" = "yes"; then
+
+if test "$USE_BEOS" = 1; then
+ AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
+fi
+
+if test "$TOOLKIT_GIVEN" = 1; then
+ dnl convert "yes" to 1 and "no" to 0
+ for toolkit in `echo $ALL_TOOLKITS`; do
+ var=wxUSE_$toolkit
+ eval "value=\$${var}"
+ eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
+ done
+else
+ dnl try to guess the most apropriate toolkit for this platform
+ for toolkit in `echo $ALL_TOOLKITS`; do
+ if test "$has_toolkit_in_cache" != 1; then
+ var=DEFAULT_DEFAULT_wxUSE_$toolkit
+ else
+ var=DEFAULT_wxUSE_$toolkit
+ fi
+ eval "wxUSE_$toolkit=\$${var}"
+ done
+fi