]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Forgot this one.
[wxWidgets.git] / configure.in
index 183302db13f3795b87a35431d903d6f7d3639ef0..de9b95c6dacefcf1c9851cef26e5e1dc41762295 100644 (file)
-dnl ////////////////////////////////////////////////////////////////////////
+dnl Process this file with autoconf to produce a configure script.
+AC_REVISION($Id$)dnl
+
+dnl ---------------------------------------------------------------------------
 dnl
 dnl
-dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
-dnl and Martin Sperl.
+dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker and
+dnl Vadim Zeitlin
 dnl
 dnl This script is under the wxWindows licence.
 dnl
 dnl This script is under the wxWindows licence.
-dnl $Id$
-dnl ////////////////////////////////////////////////////////////////////////
+dnl
+dnl Version: $Id$
+dnl ---------------------------------------------------------------------------
 
 
+dnl ---------------------------------------------------------------------------
+dnl initialization
+dnl ---------------------------------------------------------------------------
 
 
-dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
-dnl
-AC_DEFUN(AM_PATH_GTK,
-[dnl
-dnl Get the cflags and libraries from the gtk-config script
-dnl
-AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX       Prefix where GTK is installed],
-            gtk_config_prefix="$withval", gtk_config_prefix="")
-AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX  Exec prefix where GTK is installed],
-            gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
+dnl the file passed to AC_INIT should be specific to our package
+AC_INIT(wx-config.in)
 
 
-  if test x$gtk_config_exec_prefix != x ; then
-     gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
-     if test x${GTK_CONFIG+set} != xset ; then
-        GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
-     fi
-  fi
-  if test x$gtk_config_prefix != x ; then
-     gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
-     if test x${GTK_CONFIG+set} != xset ; then
-        GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
-     fi
-  fi
+AC_CANONICAL_HOST
 
 
-  AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
-  min_gtk_version=ifelse([$1], ,0.99.7,$1)
-  AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
-  no_gtk=""
-  if test "$GTK_CONFIG" != "no" ; then
-    GTK_CFLAGS=`$GTK_CONFIG --cflags`
-    GTK_LIBS=`$GTK_CONFIG --libs`
-    ac_save_CFLAGS="$CFLAGS"
-    ac_save_LIBS="$LIBS"
-    CFLAGS="$CFLAGS $GTK_CFLAGS"
-    LIBS="$LIBS $GTK_LIBS"
+dnl When making releases do:
 dnl
 dnl
-dnl Now check if the installed GTK is sufficiently new. (Also sanity
-dnl checks the results of gtk-config to some extent
+dnl WX_RELEASE_NUMBER += 1
+dnl WX_INTERFACE_AGE += 1
+dnl WX_BINARY_AGE += 1
 dnl
 dnl
-    AC_TRY_RUN([
-#include <gtk/gtk.h>
-#include <stdio.h>
-
-int
-main ()
-{
-  int major, minor, micro;
-
-  if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_gtk_version");
-     exit(1);
-   }
-
-   if (gtk_minor_version == 1) return FALSE;
-
-   return !((gtk_major_version > major) ||
-           ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
-           ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
-}
-],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-     CFLAGS="$ac_save_CFLAGS"
-     LIBS="$ac_save_LIBS"
-  else
-     no_gtk=yes
-  fi
-  if test "x$no_gtk" = x ; then
-     AC_MSG_RESULT(yes)
-     ifelse([$2], , :, [$2])
-  else
-     AC_MSG_RESULT(no)
-     GTK_CFLAGS=""
-     GTK_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(GTK_CFLAGS)
-  AC_SUBST(GTK_LIBS)
-])
+dnl if any functions have been added, do:
+dnl
+dnl WX_INTERFACE_AGE = 0
+
+WX_MAJOR_VERSION_NUMBER=2
+WX_MINOR_VERSION_NUMBER=1
+WX_RELEASE_NUMBER=0
+
+WX_INTERFACE_AGE=0
+WX_BINARY_AGE=0
+
+WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
+
+AM_INIT_AUTOMAKE(wxWindows, $WX_VERSION)
+
+dnl libtool versioning
+LT_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
+LT_CURRENT=`expr $WX_RELEASE_NUMBER - $WX_INTERFACE_AGE`
+LT_REVISION=$WX_INTERFACE_AGE
+LT_AGE=`expr $WX_BINARY_AGE - $WX_INTERFACE_AGE`
+AC_SUBST(LT_RELEASE)
+AC_SUBST(LT_CURRENT)
+AC_SUBST(LT_REVISION)
+AC_SUBST(LT_AGE)
+
+dnl FIXME this hack suppresses automake 1.4 warning about @LTLIBOBJS@ being
+dnl       never defined in configure.in (remove these lines to see what I'm
+dnl       speaking about) - Tom Tromey <tromey@cygnus.com> told me that it will
+dnl       be fixed in the next release.
+LIBOBJS=
+LIBOBJS="$LIBOBJS ../common/extended.o"
 
 dnl ------------------------------------------------------------------------
 
 dnl ------------------------------------------------------------------------
-dnl custom macros
+dnl Check platform (host system)
 dnl ------------------------------------------------------------------------
 
 dnl ------------------------------------------------------------------------
 
-AC_DEFUN(AC_OVERRIDES_PREPARE,
-[
-rm -f ${OSTYPE}.system.cache.tmp
-touch ${OSTYPE}.system.cache.tmp
-touch ${OSTYPE}.system.cache
-])
+dnl assume Unix
+USE_UNIX=1
+USE_LINUX=
+USE_SGI=
+USE_HPUX=
+USE_SYSV=
+USE_SVR4=
+USE_AIX=
+USE_SUN=
+USE_SOLARIS=
+USE_SUNOS=
+USE_ALPHA=
+USE_OSF=
+USE_BSD=
+USE_FREEBSD=
+USE_VMS=
+USE_ULTRIX=
+USE_CYGWIN=
+USE_MINGW32=
+USE_DATA_GENERAL=
 
 
-AC_DEFUN(AC_OVERRIDES_DONE,
-[
-mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
-])
+dnl the list of all available toolkits
+ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE"
 
 
-dnl package,message,helpmessage,variable
-AC_DEFUN(AC_OVERRIDES,
-[
-AC_MSG_CHECKING("for $2")
-AC_ARG_WITH($1,$3,
-[if test "x$with_$1" = xyes; then
-  ac_cv_use_$1='$4="1"'
-else
-  ac_cv_use_$1='$4="0"'
-fi],
-[
-  LINE=`grep "$4" ${OSTYPE}.system.cache`
-  if test "x$LINE" != x ; then
-    eval "DEFAULT_$LINE"
-  fi
-  ac_cv_use_$1='$4='$DEFAULT_$4
-])
-eval "$ac_cv_use_$1"
-echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
-if test "$$4" = 1; then
-  AC_MSG_RESULT(yes)
-else
-  AC_MSG_RESULT(no)
+dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
+dnl     which are either yes or no
+DEFAULT_wxUSE_GTK=0
+DEFAULT_wxUSE_MOTIF=0
+DEFAULT_wxUSE_MSW=0
+DEFAULT_wxUSE_WINE=0
+
+dnl these are the values which are really default for the given platform -
+dnl they're not cached and are only used if no --with-toolkit was given *and*
+dnl nothing was found in the cache
+DEFAULT_DEFAULT_wxUSE_GTK=0
+DEFAULT_DEFAULT_wxUSE_MOTIF=0
+DEFAULT_DEFAULT_wxUSE_MSW=0
+DEFAULT_DEFAULT_wxUSE_WINE=0
+
+case "${host}" in
+  *-hp-hpux* )
+    USE_HPUX=1
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+    AC_DEFINE(__HPUX__)
+  ;;
+  *-*-linux* )
+    USE_LINUX=1
+    AC_DEFINE(__LINUX__)
+    TMP=`uname -m`
+    if test "x$TMP" = "xalpha"; then
+      USE_ALPHA=1
+      AC_DEFINE(__ALPHA__)
+    fi
+    DEFAULT_DEFAULT_wxUSE_GTK=1
+  ;;
+  *-*-irix5* | *-*-irix6* )
+    USE_SGI=1
+    USE_SVR4=1
+    AC_DEFINE(__SGI__)
+    AC_DEFINE(__SVR4__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+  *-*-solaris2* )
+    USE_SUN=1
+    USE_SOLARIS=1
+    USE_SVR4=1
+    AC_DEFINE(__SUN__)
+    AC_DEFINE(__SOLARIS__)
+    AC_DEFINE(__SVR4__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+  *-*-sunos4* )
+    USE_SUN=1
+    USE_SUNOS=1
+    USE_BSD=1
+    AC_DEFINE(__SUN__)
+    AC_DEFINE(__SUNOS__)
+    AC_DEFINE(__BSD__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+  *-*-freebsd* | *-*-netbsd*)
+    USE_BSD=1
+    USE_FREEBSD=1
+    AC_DEFINE(__FREEBSD__)
+    AC_DEFINE(__BSD__)
+    DEFAULT_DEFAULT_wxUSE_GTK=1
+  ;;
+  *-*-osf* )
+    USE_ALPHA=1
+    USE_OSF=1
+    AC_DEFINE(__ALPHA__)
+    AC_DEFINE(__OSF__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+  *-*-dgux5* )
+    USE_ALPHA=1
+    USE_SVR4=1
+    AC_DEFINE(__ALPHA__)
+    AC_DEFINE(__SVR4__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+  *-*-sysv5* )
+    USE_SYSV=1
+    USE_SVR4=1
+    AC_DEFINE(__SYSV__)
+    AC_DEFINE(__SVR4__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+  *-*-aix* )
+    USE_AIX=1
+    USE_SYSV=1
+    USE_SVR4=1
+    AC_DEFINE(__AIX__)
+    AC_DEFINE(__SYSV__)
+    AC_DEFINE(__SVR4__)
+    DEFAULT_DEFAULT_wxUSE_MOTIF=1
+  ;;
+
+  *-*-cygwin32* )
+    USE_UNIX=0
+    AC_DEFINE(__WIN32__)
+    AC_DEFINE(__WIN95__)
+    AC_DEFINE(__WINDOWS__)
+    AC_DEFINE(__GNUWIN32__)
+    DEFAULT_DEFAULT_wxUSE_MSW=1
+  ;;
+
+  *-pc-os2_emx )
+    AC_DEFINE(__EMX__)
+  ;;
+
+  *)
+    AC_MSG_ERROR(unknown system type ${host}.)
+esac
+
+if test "$USE_UNIX" = 1 ; then
+  wxUSE_UNIX=yes
+  AC_DEFINE(__UNIX__)
+  EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../unix"
+  SRC_SUBDIRS="$SRC_SUBDIRS unix"
+  INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
 fi
 fi
-])
 
 
-dnl package,message,helpmessage,variable
-AC_DEFUN(AC_OVERRIDES_OLD,
-[
-AC_MSG_CHECKING("for $2")
-AC_CACHE_VAL(ac_cv_use_$1,
-[
-AC_ARG_WITH($1,$3,
-[if test "x$with_$1" = xyes; then
-  ac_cv_use_$1='$4="1"'
-else
-  ac_cv_use_$1='$4="0"'
-fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
-])
-eval "$ac_cv_use_$1"
+dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
+if test "$USE_LINUX" = 1; then
+  AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
+fi
 
 
-if test "$$4" = 1; then
-  AC_MSG_RESULT(yes)
+dnl ---------------------------------------------------------------------------
+dnl command line options for configure
+dnl ---------------------------------------------------------------------------
+
+dnl the default values for all options - we collect them all here to simplify
+dnl modification of the default values (for example, if the defaults for some
+dnl platform should be changed, it can be done here too)
+dnl
+dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
+
+WX_ARG_CACHE_INIT
+
+dnl useful to test the compilation with minimum options, define as 0 for normal
+dnl usage
+DEBUG_CONFIGURE=0
+if test $DEBUG_CONFIGURE = 1; then
+  DEFAULT_wxUSE_THREADS=yes
+
+  DEFAULT_wxUSE_OPTIMISE=no
+  DEFAULT_wxUSE_PROFILE=no
+  DEFAULT_wxUSE_DEBUG_FLAG=yes
+  DEFAULT_wxUSE_DEBUG_INFO=yes
+  DEFAULT_wxUSE_DEBUG_GDB=yes
+  DEFAULT_wxUSE_MEM_TRACING=no
+  DEFAULT_wxUSE_DEBUG_CONTEXT=no
+  DEFAULT_wxUSE_DMALLOC=no
+  DEFAULT_wxUSE_APPLE_IEEE=no
+
+  DEFAULT_wxUSE_LOG=yes
+
+  DEFAULT_wxUSE_GUI=yes
+
+  DEFAULT_wxUSE_ZLIB=no
+  DEFAULT_wxUSE_LIBPNG=no
+  DEFAULT_wxUSE_LIBGIF=no
+  DEFAULT_wxUSE_LIBJPEG=no
+  DEFAULT_wxUSE_ODBC=no
+
+  DEFAULT_wxUSE_FILE=no
+  DEFAULT_wxUSE_TEXTFILE=no
+  DEFAULT_wxUSE_TIMEDATE=no
+  DEFAULT_wxUSE_WAVE=no
+  DEFAULT_wxUSE_INTL=no
+  DEFAULT_wxUSE_CONFIG=no
+  DEFAULT_wxUSE_STREAMS=no
+  DEFAULT_wxUSE_SOCKETS=no
+  DEFAULT_wxUSE_SERIAL=no
+  DEFAULT_wxUSE_JOYSTICK=no
+  DEFAULT_wxUSE_DYNLIB_CLASS=no
+  DEFAULT_wxUSE_LONGLONG=no
+
+  DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
+  DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
+  DEFAULT_wxUSE_POSTSCRIPT=no
+
+  DEFAULT_wxUSE_X_RESOURCES=no
+  DEFAULT_wxUSE_CLIPBOARD=no
+  DEFAULT_wxUSE_TOOLTIPS=no
+  DEFAULT_wxUSE_DRAG_AND_DROP=no
+  DEFAULT_wxUSE_SPLINES=no
+
+  DEFAULT_wxUSE_MDI_ARCHITECTURE=no
+  DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
+  DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
+
+  DEFAULT_wxUSE_PROLOGIO=no
+  DEFAULT_wxUSE_RESOURCES=no
+  DEFAULT_wxUSE_CONSTRAINTS=no
+  DEFAULT_wxUSE_IPC=no
+  DEFAULT_wxUSE_HELP=no
+  DEFAULT_wxUSE_WXTREE=no
+  DEFAULT_wxUSE_METAFILE=no
+
+  DEFAULT_wxUSE_COMMONDLGS=no
+  DEFAULT_wxUSE_DIRDLG=no
+  DEFAULT_wxUSE_PROGRESSDLG=no
+  DEFAULT_wxUSE_MINIFRAME=no
+  DEFAULT_wxUSE_VALIDATORS=yes
+
+  DEFAULT_wxUSE_ACCEL=no
+  DEFAULT_wxUSE_CARET=no
+  DEFAULT_wxUSE_BMPBUTTON=no
+  DEFAULT_wxUSE_CHECKBOX=no
+  DEFAULT_wxUSE_CHECKLST=no
+  DEFAULT_wxUSE_CHOICE=no
+  DEFAULT_wxUSE_COMBOBOX=no
+  DEFAULT_wxUSE_GAUGE=no
+  DEFAULT_wxUSE_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_SPLITTER=no
+  DEFAULT_wxUSE_STATBMP=no
+  DEFAULT_wxUSE_STATBOX=no
+  DEFAULT_wxUSE_STATLINE=no
+  DEFAULT_wxUSE_STATUSBAR=yes
+  DEFAULT_wxUSE_TABDIALOG=no
+  DEFAULT_wxUSE_TOOLBAR=no
+  DEFAULT_wxUSE_TREECTRL=no
+
+  DEFAULT_wxUSE_UNICODE=no
+  DEFAULT_wxUSE_WCSRTOMBS=no
 else
 else
-  AC_MSG_RESULT(no)
+  DEFAULT_wxUSE_THREADS=yes
+
+  DEFAULT_wxUSE_OPTIMISE=yes
+  DEFAULT_wxUSE_PROFILE=no
+  DEFAULT_wxUSE_DEBUG_FLAG=no
+  DEFAULT_wxUSE_DEBUG_INFO=no
+  DEFAULT_wxUSE_DEBUG_GDB=no
+  DEFAULT_wxUSE_MEM_TRACING=no
+  DEFAULT_wxUSE_DEBUG_CONTEXT=no
+  DEFAULT_wxUSE_DMALLOC=no
+  DEFAULT_wxUSE_APPLE_IEEE=yes
+
+  DEFAULT_wxUSE_LOG=yes
+
+  DEFAULT_wxUSE_GUI=yes
+
+  DEFAULT_wxUSE_ZLIB=yes
+  DEFAULT_wxUSE_LIBPNG=yes
+  DEFAULT_wxUSE_LIBGIF=yes
+  DEFAULT_wxUSE_LIBJPEG=yes
+  DEFAULT_wxUSE_ODBC=no
+
+  DEFAULT_wxUSE_FILE=yes
+  DEFAULT_wxUSE_TEXTFILE=yes
+  DEFAULT_wxUSE_TIMEDATE=yes
+  DEFAULT_wxUSE_WAVE=no
+  DEFAULT_wxUSE_INTL=yes
+  DEFAULT_wxUSE_CONFIG=yes
+  DEFAULT_wxUSE_STREAMS=yes
+  DEFAULT_wxUSE_SOCKETS=yes
+  DEFAULT_wxUSE_SERIAL=yes
+  DEFAULT_wxUSE_JOYSTICK=yes
+  DEFAULT_wxUSE_DYNLIB_CLASS=yes
+  DEFAULT_wxUSE_LONGLONG=no
+
+  DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
+  DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
+  DEFAULT_wxUSE_POSTSCRIPT=yes
+
+  DEFAULT_wxUSE_X_RESOURCES=no
+  DEFAULT_wxUSE_CLIPBOARD=yes
+  DEFAULT_wxUSE_TOOLTIPS=yes
+  DEFAULT_wxUSE_DRAG_AND_DROP=yes
+  DEFAULT_wxUSE_SPLINES=yes
+
+  DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
+  DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
+  DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
+
+  DEFAULT_wxUSE_PROLOGIO=yes
+  DEFAULT_wxUSE_RESOURCES=yes
+  DEFAULT_wxUSE_CONSTRAINTS=yes
+  DEFAULT_wxUSE_IPC=yes
+  DEFAULT_wxUSE_HELP=yes
+  DEFAULT_wxUSE_WXTREE=yes
+  DEFAULT_wxUSE_METAFILE=yes
+
+  DEFAULT_wxUSE_COMMONDLGS=yes
+  DEFAULT_wxUSE_DIRDLG=yes
+  DEFAULT_wxUSE_PROGRESSDLG=yes
+  DEFAULT_wxUSE_MINIFRAME=yes
+  DEFAULT_wxUSE_VALIDATORS=yes
+
+  DEFAULT_wxUSE_ACCEL=yes
+  DEFAULT_wxUSE_CARET=yes
+  DEFAULT_wxUSE_BMPBUTTON=yes
+  DEFAULT_wxUSE_CHECKBOX=yes
+  DEFAULT_wxUSE_CHECKLST=yes
+  DEFAULT_wxUSE_CHOICE=yes
+  DEFAULT_wxUSE_COMBOBOX=yes
+  DEFAULT_wxUSE_GAUGE=yes
+  DEFAULT_wxUSE_GRID=yes
+  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_SPLITTER=yes
+  DEFAULT_wxUSE_STATBMP=yes
+  DEFAULT_wxUSE_STATBOX=yes
+  DEFAULT_wxUSE_STATLINE=yes
+  DEFAULT_wxUSE_STATUSBAR=yes
+  DEFAULT_wxUSE_TABDIALOG=no
+  DEFAULT_wxUSE_TOOLBAR=yes
+  DEFAULT_wxUSE_TREECTRL=yes
+
+  DEFAULT_wxUSE_UNICODE=no
+  DEFAULT_wxUSE_WCSRTOMBS=no
 fi
 fi
-])
 
 
-AC_DEFUN(AC_PATH_FIND_INCLUDES,
-[
-ac_find_includes=
-for ac_dir in $1;
-  do
-    if test -f "$ac_dir/$2"; then
-      ac_find_includes=$ac_dir
-      break
-    fi
-  done
-])
+dnl WX_ARG_WITH should be used to select whether an external package will be
+dnl used or not, to configure compile-time features of this package itself,
+dnl use WX_ARG_ENABLE instead
 
 
-AC_DEFUN(AC_PATH_FIND_LIBRARIES,
-[
-ac_find_libraries=
-for ac_dir in $1;
-  do
-    for ac_extension in a so sl; do
-      if test -f "$ac_dir/lib$2.$ac_extension"; then
-        ac_find_libraries=$ac_dir
-        break 2
-      fi
-    done
-  done
-])
+dnl ============================
+dnl external package dependecies
+dnl ============================
 
 
-dnl Path to include, allready defined
-AC_DEFUN(AC_INCLUDE_PATH_EXIST,
-[
-  ac_path_to_include=$1
-  echo "$2" | grep "\-I$1" > /dev/null
-  result=$?
-  if test $result = 0; then
-    ac_path_to_include=""
-  else
-    ac_path_to_include="-I$1"
+dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
+dnl these values manually
+for toolkit in `echo $ALL_TOOLKITS`; do
+  LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
+  if test "x$LINE" != x ; then
+    has_toolkit_in_cache=1
+    eval "DEFAULT_$LINE"
+    eval "CACHE_$toolkit=1"
   fi
   fi
-])
+done
 
 
-dnl Path to link, allready defined
-AC_DEFUN(AC_LINK_PATH_EXIST,
-[
-  echo "$2" | grep "\-L$1" > /dev/null
-  result=$?
-  if test $result = 0; then
-    ac_path_to_link=""
-  else
-    ac_path_to_link="-L$1"
-  fi
-])
+AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(cygwin,        [  --with-cygwin           use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(mingw,         [  --with-mingw            use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1])
 
 
-dnl ------------------------------------------------------------------------
-dnl Process this file with autoconf to produce a configure script.
-dnl ------------------------------------------------------------------------
+AC_ARG_WITH(gtk-prefix,    [  --with-gtk-prefix=PFX   Prefix where GTK is installed],
+            gtk_config_prefix="$withval", gtk_config_prefix="")
+AC_ARG_WITH(gtk-exec-prefix, [  --with-gtk-exec-prefix=PFX  Exec prefix where GTK is installed],
+            gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
 
 
-AC_INIT(configure.in)
+WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
+WX_ARG_WITH(zlib,          [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
+WX_ARG_WITH(libpng,        [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
+WX_ARG_WITH(libgif,        [  --with-libgif           use libgif (GIF file format)], wxUSE_LIBGIF)
+WX_ARG_WITH(libjpeg,       [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
+WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
+WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
 
 
-dnl ------------------------------------------------------------------------
-dnl Check platform
-dnl ------------------------------------------------------------------------
+dnl ====================
+dnl compile-time options
+dnl ====================
 
 
-OS="${OSTYPE}"
+dnl ---------------------------------------------------------------------------
+dnl compile options
+dnl ---------------------------------------------------------------------------
 
 
-if test "x$OS" = "x"; then
-  UNAME=`uname`
-  AC_MSG_ERROR("The system variable OS has not been set"
-               "please set is everytime befor compiling on this system"
-               "A good example for this system would be:"
-               "setenv OSTYPE $UNAME        for csh as a SHELL"
-               "EXPORT OSTYPE=$UNAME        for sh as SHELL"
-               "please set this and restart again."
-              )
-fi
+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)
 
 
-dnl ------------------------------------------------------------------------
-dnl Set base directory
-dnl ------------------------------------------------------------------------
+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
 
 
-WXBASEDIR=`pwd`
-AC_SUBST(WXBASEDIR)
+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)
 
 
-dnl ------------------------------------------------------------------------
-dnl search path for includes and libraries
-dnl ------------------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl --disable-gui will build only non-GUI part of wxWindows
+dnl
+dnl NB: this is still in testing stage, don't use if you don't know what you're
+dnl     doing
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
+
+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)
+WX_ARG_ENABLE(sockets,     [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
+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)
+
+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)
+
+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_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_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_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_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_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_TOOLTIPS=no
+  DEFAULT_wxUSE_TREECTRL=no
+fi
 
 
-dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
-SEARCH_INCLUDE="\
-    /usr/Motif-1.2/include    \
-    /usr/Motif-2.1/include    \
-                              \
-    /usr/include/Motif1.2     \
-    /opt/xpm/include/X11      \
-                              \
-    /usr/Motif1.2/include     \
-    /usr/dt/include           \
-    /usr/include/Xm           \
-                              \
-    /usr/X11R6/include        \
-    /usr/X11R5/include        \
-    /usr/X11R4/include        \
-                              \
-    /usr/X11R6/lib            \
-    /usr/X11R5/lib            \
-    /usr/X11R4/lib            \
-                              \
-    /usr/include/X11R6        \
-    /usr/include/X11R5        \
-    /usr/include/X11R4        \
-                              \
-    /usr/local/X11R6/include  \
-    /usr/local/X11R5/include  \
-    /usr/local/X11R4/include  \
-                              \
-    /usr/local/include/X11R6  \
-    /usr/local/include/X11R5  \
-    /usr/local/include/X11R4  \
-                              \
-    /usr/X11/include          \
-    /usr/include/X11          \
-    /usr/local/X11/include    \
-    /usr/local/include/X11    \
-                              \
-    /usr/X386/include         \
-    /usr/x386/include         \
-    /usr/XFree86/include/X11  \
-                              \
-    /usr/include              \
-    /usr/include/gtk          \
-    /usr/include/gdk          \
-    /usr/include/glib         \
-    /usr/local/include        \
-    /usr/unsupported/include  \
-    /usr/athena/include       \
-    /usr/local/x11r5/include  \
-    /usr/lpp/Xamples/include  \
-                              \
-    /usr/local/include/gtk    \
-    /usr/local/include/qt     \
-    /usr/include/qt           \
-                              \
-    /usr/openwin/include      \
-    /usr/openwin/share/include \
-    "
+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(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(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(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(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
+WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
+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)
+
+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 "$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
 
 
-SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
+dnl we suppose that expr exists...
+NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}`
 
 
-dnl ------------------------------------------------------------------------
-dnl standard checks
-dnl ------------------------------------------------------------------------
+case "$NUM_TOOLKITS" in
+  1)
+  ;;
+  0)
+    AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
+  ;;
+  *)
+    AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
+esac
 
 
-dnl ###################
-dnl # checks programs #
-dnl ###################
+dnl cache the wxUSE_<TOOLKIT> values too
+for toolkit in `echo $ALL_TOOLKITS`; do
+  var=wxUSE_$toolkit
+  eval "value=\$${var}"
+  if test "x$value" != x; then
+    cache_var=CACHE_$toolkit
+    eval "cache=\$${cache_var}"
+    if test "$cache" = 1; then
+      echo "$var=$value" >> ${wx_arg_cache_file}
+    fi
+    if test "$value" = 1; then
+      AC_MSG_RESULT(`echo $toolkit | tr [[A-Z]] [[a-z]]`)
+    fi
+  fi
+done
+
+dnl ---------------------------------------------------------------------------
+dnl Checks for programs
+dnl ---------------------------------------------------------------------------
+
+dnl flush the cache because checking for programs might abort
+AC_CACHE_SAVE
+
+dnl cross-compiling support: we're cross compiling if the build system is
+dnl different from the target one (assume host and target be always the same)
+if eval "test $host != $build"; then
+  if eval "test $build != NONE"; then
+    CC="$build-gcc"
+    CXX="$build-g++"
+    RANLIB="$build-ranlib"
+    NM="$build-nm"
+  fi
+fi
 
 dnl C-compiler checks
 
 dnl C-compiler checks
-dnl =================
-dnl use what compiler
-AC_PROG_CC
 dnl   defines CC with the compiler to use
 dnl   defines GCC with yes if using gcc
 dnl   defines GCC empty if not using gcc
 dnl   defines CFLAGS
 dnl   defines CC with the compiler to use
 dnl   defines GCC with yes if using gcc
 dnl   defines GCC empty if not using gcc
 dnl   defines CFLAGS
+AC_PROG_CC
 
 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
 
 
 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
 
-dnl does compiler support -c and -o simultaniously
-AC_PROG_CC_C_O
-dnl   defines NO_MINUS_C_MINUS_O if compiler does not accept
-dnl                              both switches simultaniously
 dnl what is the c-preprocessor
 dnl what is the c-preprocessor
-AC_PROG_CPP
 dnl   defines CPP with the c-preprocessor
 dnl   defines CPP with the c-preprocessor
+AC_PROG_CPP
+
 dnl is -traditional needed for correct compilations
 dnl is -traditional needed for correct compilations
-AC_PROG_GCC_TRADITIONAL
 dnl   adds -traditional for gcc if needed
 dnl   adds -traditional for gcc if needed
+AC_PROG_GCC_TRADITIONAL
 
 AC_LANG_SAVE
 
 AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
 
 dnl C++-compiler checks
 
 dnl C++-compiler checks
-dnl ===================
-dnl use what compiler
-AC_PROG_CXX
 dnl   defines CXX with the compiler to use
 dnl   defines GXX with yes if using gxx
 dnl   defines GXX empty if not using gxx
 dnl   defines CXXFLAGS
 dnl   defines CXX with the compiler to use
 dnl   defines GXX with yes if using gxx
 dnl   defines GXX empty if not using gxx
 dnl   defines CXXFLAGS
+AC_PROG_CXX
+
 dnl what is the C++-preprocessor
 dnl what is the C++-preprocessor
-AC_PROG_CXXCPP
 dnl   defines CXXCPP with the C++-preprocessor
 dnl   defines CXXCPP with the C++-preprocessor
+AC_PROG_CXXCPP
 
 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
 
 AC_LANG_RESTORE
 
 dnl ranlib command
 
 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
 
 AC_LANG_RESTORE
 
 dnl ranlib command
-dnl ==============
-AC_PROG_RANLIB
 dnl   defines RANLIB with the appropriate command
 dnl   defines RANLIB with the appropriate command
+AC_PROG_RANLIB
 
 dnl ar command
 
 dnl ar command
-dnl ==========
-AC_CHECK_PROG(AR, ar, ar, ar)
 dnl   defines AR with the appropriate command
 dnl   defines AR with the appropriate command
+AC_CHECK_PROG(AR, ar, ar, ar)
 
 dnl install checks
 
 dnl install checks
-dnl ==============
-AC_PROG_INSTALL
 dnl   defines INSTALL with the appropriate command
 dnl   defines INSTALL with the appropriate command
-
-dnl does ln -s works
-dnl ================
-AC_PROG_LN_S
-dnl   defines LN_S with the appropriate command
-
-dnl awk command
-dnl ===========
-AC_PROG_AWK
-dnl   defines AWK with the appropriate command
+AC_PROG_INSTALL
 
 dnl strip command
 
 dnl strip command
-dnl =============
-AC_CHECK_PROG(STRIP, strip, strip, true)
 dnl   defines STRIP as strip or nothing if not found
 dnl   defines STRIP as strip or nothing if not found
+AC_CHECK_PROG(STRIP, strip, strip, true)
 
 
-dnl ###############
-dnl # make checks #
-dnl ###############
 dnl check if VPATH works
 AC_MSG_CHECKING("make for VPATH support")
 dnl create Makefile
 dnl check if VPATH works
 AC_MSG_CHECKING("make for VPATH support")
 dnl create Makefile
@@ -412,1312 +823,1321 @@ you are trying to compile.
 )
 fi
 
 )
 fi
 
-dnl ####################
-dnl # checks libraries #
-dnl ####################
-
-dnl find the X11 include and library files
-AC_PATH_XTRA
-dnl   defines x_includes and x_libraries
-
-dnl #######################
-dnl # checks header files #
-dnl #######################
-AC_HEADER_DIRENT
-dnl   defines DIR
-dnl   defines MACRO HAVE_DIRENT_H if dirent.h exists
-dnl   defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
-dnl   defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
-dnl   defines MACRO HAVE_NDIR_H if ndir.h exists
-AC_HEADER_STDC
-dnl   defines STDC_HEADERS if ANSI-C header
-AC_HEADER_SYS_WAIT
-dnl   defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
-AC_CHECK_HEADERS(fcntl.h)
-dnl   defines HAVE_FCNTL_H
-AC_CHECK_HEADERS(limits.h)
-dnl   defines HAVE_LIMITS_h
-AC_CHECK_HEADERS(sys/file.h)
-dnl   defines HAVE_SYS_FILE_H
-AC_CHECK_HEADERS(sys/time.h)
-dnl   defines HAVE_SYS_TIME_H
-AC_CHECK_HEADERS(unistd.h)
-dnl   defines HAVE_UNISTD_H
-AC_CHECK_HEADERS(fnmatch.h)
-dnl   defines HAVE_FNMATCH_H
-dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
-AC_CHECK_HEADERS(linux/joystick.h)
-GTK_JOYSTICK=""
-if test "$ac_cv_header_linux_joystick_h" = "yes"; then
-  GTK_JOYSTICK="gtk/joystick.cpp"
-fi
-AC_SUBST(GTK_JOYSTICK)
-
-dnl some systems (AIX) define some of string function in strings.h
-AC_CHECK_HEADERS(strings.h)
-
-dnl #######################
-dnl # check for functions #
-dnl #######################
-
-dnl check for vprintf/vsprintf() which are GNU extensions
-AC_FUNC_VPRINTF
-
-dnl check for vsnprintf() - a safe version of vsprintf()
-AC_CHECK_FUNCS(vsnprintf,
-               AC_DEFINE(HAVE_VSNPRINTF),
-               AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
-              )
-
-dnl check for vfork() (even if it's the same as fork() in modern Unices)
-AC_CHECK_FUNCS(vfork)
-
-POSIX4_LINK=
-AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
-    AC_CHECK_LIB(posix4, nanosleep, [
-           AC_DEFINE(HAVE_NANOSLEEP)
-           POSIX4_LINK="-lposix4"
-    ], [
-    AC_CHECK_FUNCS(usleep,
-        AC_DEFINE(HAVE_USLEEP),
-        AC_MSG_WARN(Sleep() function will not work))
-    ])
-])
-
-dnl check for uname (POSIX) and gethostname (BSD)
-AC_CHECK_FUNCS(uname gethostname, break)
-
-dnl ###################
-dnl # checks typedefs #
-dnl ###################
-AC_TYPE_GETGROUPS
-dnl   defines GETGROUPS_T
-AC_TYPE_MODE_T
-dnl   defines mode_t if not already defined
-AC_TYPE_OFF_T
-dnl   defines off_t if not already defined
-AC_TYPE_PID_T
-dnl   defines pid_t if not already defined
-AC_TYPE_SIGNAL
-dnl   defines RETSIGTYPE for the correct return type of signal
-AC_TYPE_SIZE_T
-dnl   defines size_t if not already defined
-AC_TYPE_UID_T
-dnl   defines uid_t and gid_t if not already defined
-
-dnl #####################
-dnl # checks structures #
-dnl #####################
-
-AC_HEADER_STAT
-dnl   defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
-dnl                              do not work properly
-AC_HEADER_TIME
-dnl   defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
-dnl                              both be included
-AC_STRUCT_ST_BLKSIZE
-dnl   defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
-AC_STRUCT_ST_BLOCKS
-dnl   defines HAVE_ST_BLOCKS if struct stat contains st_blocks
-AC_STRUCT_ST_RDEV
-dnl   defines HAVE_ST_RDEV if struct stat contains st_rdev
-AC_STRUCT_TM
-dnl   defines TM_IN_SYS_TIME if struct tm is not in time.h
-AC_STRUCT_TIMEZONE
-dnl   defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
-dnl   otherwise
-dnl   defines HAVE_TZNAME if external array tzname is found
-
-dnl ###################################
-dnl # checks compiler characteristics #
-dnl ###################################
-
-AC_C_CONST
-dnl   defines const to be empty if c-compiler does not support const fully
-AC_C_INLINE
-dnl   defines inline to a sensible value for the c-compiler
-AC_C_CHAR_UNSIGNED
-dnl   defines __CHAR_UNSIGNED__ if char is unsigned
-AC_C_LONG_DOUBLE
-dnl   defines HAVE_LONGDOUBLE if compiler supports long double
-
-AC_C_BIGENDIAN
-dnl   defines WORDS_BIGENDIAN if system is big endian
-
-dnl give some default values for cross-compiling
-AC_CHECK_SIZEOF(int *, 4)
-AC_CHECK_SIZEOF(int, 4)
-AC_CHECK_SIZEOF(long, 4)
-AC_CHECK_SIZEOF(long long, 0)
-dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
-
-dnl ######################
-dnl # check C++ features #
-dnl ######################
-
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
-dnl check for iostream (as opposed to iostream.h) standard header
-AC_CHECK_HEADERS(iostream)
-if test "x$HAVE_IOSTREAM" = "x" ; then
-  AC_DEFINE(wxUSE_IOSTREAMH)
-fi
-
-dnl Check for existence of builtin 'bool' data type
-dnl
-dnl do nothing for cross-compilation - assume bool is not defined 
-AC_MSG_CHECKING(if C++ compiler supports bool)
-AC_TRY_RUN([
-
-int main()
-{
-    bool b = true;
-
-    return 0;
-}
-       ],
-          AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
-          AC_MSG_RESULT(no),
-          AC_MSG_RESULT(no assumed for cross-compilation))
-
-dnl Check whether overloading on size_t/int parameter works
-AC_MSG_CHECKING(if size_t and int are different types)
-AC_TRY_RUN([
-#include <stdlib.h>
-
-void wxFoo(int i) { }
-void wxFoo(size_t n) { }
-
-int main()
-{
-    int i;
-    size_t n;
-    wxFoo(0);
-    wxFoo(1);
-    wxFoo(0u);
-    wxFoo(i);
-    wxFoo(n);
-
-    return 0;
-}
-
-    ],
-    AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes),
-    AC_MSG_RESULT(no),
-    AC_MSG_RESULT(no assumed for cross-compilation))
-
-AC_LANG_RESTORE
-
-dnl ############################
-dnl # checks library functions #
-dnl ############################
-
-dnl ##########################
-dnl # checks system services #
-dnl ##########################
-
-
-AC_SYS_LONG_FILE_NAMES
-dnl   defines HAVE_LONG_FILENAMES if filenames longer then
-dnl                               14 chars are supported
-
-dnl AC_SYS_RESTARTABLE_SYSCALLS
-dnl   defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
-dnl                                     system call that is interrupted
-dnl                                     by a signal
-
-dnl #################
-dnl # checks PARSER #
-dnl #################
-
 dnl YACC checks
 dnl YACC checks
-dnl ===========
-AC_PROG_YACC
 dnl   defines YACC with the appropriate command
 dnl   defines YACC with the appropriate command
+AC_PROG_YACC
 
 dnl LEX checks
 
 dnl LEX checks
-dnl ==========
-AC_PROG_LEX
 dnl   defines LEX with the appropriate command
 dnl   defines LEXLIB with the appropriate library
 dnl   defines LEX with the appropriate command
 dnl   defines LEXLIB with the appropriate library
-dnl what type is yytext
-AC_DECL_YYTEXT
+dnl this AM version (don't use AC_PROG_LEX!) also
 dnl   defines YYTEXT_POINTER  if yytext is char*
 dnl   defines LEX_OUTPUT_ROOT as to the base of the
 dnl                           filename output by the lexer
 dnl   defines YYTEXT_POINTER  if yytext is char*
 dnl   defines LEX_OUTPUT_ROOT as to the base of the
 dnl                           filename output by the lexer
+AM_PROG_LEX
 
 
-dnl ###################################
-dnl ##  Check for dynamic load module #
-dnl ###################################
-
-DL_LIBRARY=
-AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
-[AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
- [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
-   [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
-  )]
- )]
-)
-AC_SUBST(DL_LIBRARY)
-
-AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
-  echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
-  ${CC} -c conftest.c > /dev/null
-  if (nm conftest.o | grep _fnord) > /dev/null; then
-    libltdl_cv_uscore=yes
-  else
-    libltdl_cv_uscore=no
-  fi
-  rm -f conftest*
-])
-
-if test x"$libltdl_cv_uscore" = xyes; then
-  if test x"$ac_cv_func_dlopen" = xyes ||
-     test x"$ac_cv_lib_dl_dlopen" = xyes ; then
-       AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
-               libltdl_cv_need_uscore, [dnl
-               AC_TRY_RUN([
-#include <dlfcn.h>
-#include <stdio.h>
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-    if(ptr1 && !ptr2) exit(0); } exit(1); }
-],     libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
-       libltdl_cv_need_uscore=no
-)])
-  fi
-fi
-
-if test x"$libltdl_cv_need_uscore" = xyes; then
-   AC_DEFINE(NEED_USCORE)
-fi
-
-dnl ##########################################
-dnl ##  Check for specific library functions #
-dnl ##########################################
-
-dnl Checks for library functions.
-AC_CHECK_FUNCS(strerror)
-
-dnl ------------------------------------------------------------------------
-dnl main includes
-dnl ------------------------------------------------------------------------
+dnl needed for making link to setup.h
+AC_PROG_LN_S
 
 
-CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
-CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
+dnl without this (which just means that we use WXDLLEXPORT) libtool won't build
+dnl DLLs under Win32.
+AC_LIBTOOL_WIN32_DLL
 
 
-dnl ------------------------------------------------------------------------
-dnl host system
-dnl ------------------------------------------------------------------------
+dnl disable static libs by default, this takes too much time...
+AM_DISABLE_STATIC
+AM_PROG_LIBTOOL
 
 
-AC_CANONICAL_HOST
-canonical=$host
-configuration=$host_alias
-
-dnl ------------------------------------------------------------------------
-dnl system settings
-dnl ------------------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl Define search path for includes and libraries: all headers and libs will be
+dnl looked for in all directories of this path
+dnl ---------------------------------------------------------------------------
 
 
-USE_UNIX=1
-
-USE_LINUX=
-USE_SGI=
-USE_HPUX=
-USE_SYSV=
-USE_SVR4=
-USE_AIX=
-USE_SUN=
-USE_SOLARIS=
-USE_SUNOS=
-USE_ALPHA=
-USE_OSF=
-USE_BSD=
-USE_FREEBSD=
-USE_VMS=
-USE_ULTRIX=
-USE_DATA_GENERAL=
+SEARCH_INCLUDE="\
+    /usr/Motif-1.2/include    \
+    /usr/Motif-2.1/include    \
+                              \
+    /usr/include/Motif1.2     \
+    /opt/xpm/include/X11      \
+                              \
+    /usr/Motif1.2/include     \
+    /usr/dt/include           \
+    /usr/include/Xm           \
+                              \
+    /usr/X11R6/include        \
+    /usr/X11R5/include        \
+    /usr/X11R4/include        \
+                              \
+    /usr/X11R6/lib            \
+    /usr/X11R5/lib            \
+    /usr/X11R4/lib            \
+                              \
+    /usr/include/X11R6        \
+    /usr/include/X11R5        \
+    /usr/include/X11R4        \
+                              \
+    /usr/local/X11R6/include  \
+    /usr/local/X11R5/include  \
+    /usr/local/X11R4/include  \
+                              \
+    /usr/local/include/X11R6  \
+    /usr/local/include/X11R5  \
+    /usr/local/include/X11R4  \
+                              \
+    /usr/X11/include          \
+    /usr/include/X11          \
+    /usr/local/X11/include    \
+    /usr/local/include/X11    \
+                              \
+    /usr/X386/include         \
+    /usr/x386/include         \
+    /usr/XFree86/include/X11  \
+                              \
+    /usr/include              \
+    /usr/local/include        \
+                              \
+    /usr/include/gtk          \
+    /usr/local/include/gtk    \
+    /usr/include/glib         \
+    /usr/local/include/glib   \
+                              \
+    /usr/include/qt           \
+    /usr/local/include/qt     \
+                              \
+    /usr/include/windows      \
+    /usr/include/wine         \
+    /usr/local/include/wine   \
+                              \
+    /usr/unsupported/include  \
+    /usr/athena/include       \
+    /usr/local/x11r5/include  \
+    /usr/lpp/Xamples/include  \
+                              \
+    /usr/openwin/include      \
+    /usr/openwin/share/include \
+    "
 
 
-AC_DEFINE(__UNIX__)
-case "${canonical}" in
-  *-hp-hpux* )
-    USE_HPUX=1
-    AC_DEFINE(__HPUX__)
-  ;;
-  *-*-linux* )
-    USE_LINUX=1
-    AC_DEFINE(__LINUX__)
-    TMP=`uname -m`
-    if test "x$TMP" = "xalpha"
-    then
-      USE_ALPHA=1
-      AC_DEFINE(__ALPHA__)
-    fi
-  ;;
-  *-*-irix5* | *-*-irix6* )
-    USE_SGI=1
-    USE_SVR4=1
-    AC_DEFINE(__SGI__)
-    AC_DEFINE(__SVR4__)
-  ;;
-  *-*-solaris2* )
-    USE_SUN=1
-    USE_SOLARIS=1
-    USE_SVR4=1
-    AC_DEFINE(__SUN__)
-    AC_DEFINE(__SOLARIS__)
-    AC_DEFINE(__SVR4__)
-  ;;
-  *-*-sunos4* )
-    USE_SUN=1
-    USE_SUNOS=1
-    USE_BSD=1
-    AC_DEFINE(__SUN__)
-    AC_DEFINE(__SUNOS__)
-    AC_DEFINE(__BSD__)
-  ;;
-  *-*-freebsd* | *-*-netbsd*)
-    USE_BSD=1
-    USE_FREEBSD=1
-    AC_DEFINE(__FREEBSD__)
-    AC_DEFINE(__BSD__)
-  ;;
-  *-*-osf* )
-    USE_ALPHA=1
-    USE_OSF=1
-    AC_DEFINE(__ALPHA__)
-    AC_DEFINE(__OSF__)
-  ;;
-  *-*-dgux5* )
-    USE_ALPHA=1
-    USE_SVR4=1
-    AC_DEFINE(__ALPHA__)
-    AC_DEFINE(__SVR4__)
-  ;;
-  *-*-sysv5* )
-    USE_SYSV=1
-    USE_SVR4=1
-    AC_DEFINE(__SYSV__)
-    AC_DEFINE(__SVR4__)
-  ;;
-  *-*-aix* )
-    USE_AIX=1
-    USE_SYSV=1
-    USE_SVR4=1
-    AC_DEFINE(__AIX__)
-    AC_DEFINE(__SYSV__)
-    AC_DEFINE(__SVR4__)
-  ;;
-  *)
-    AC_MSG_ERROR(I don't know your system type.)
-esac
+SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
 
 dnl ------------------------------------------------------------------------
 
 dnl ------------------------------------------------------------------------
-dnl defaults for command options
+dnl Check for libraries
 dnl ------------------------------------------------------------------------
 
 dnl ------------------------------------------------------------------------
 
-AC_OVERRIDES_PREPARE
-
-DEFAULT_wxUSE_GTK=1
-DEFAULT_wxUSE_QT=0
-DEFAULT_wxUSE_MOTIF=0
-
-DEFAULT_wxUSE_THREADS=0
-
-DEFAULT_wxUSE_SHARED=1
-DEFAULT_wxUSE_OPTIMISE=1
-DEFAULT_wxUSE_PROFILE=0
-DEFAULT_wxUSE_DEBUG_FLAG=0
-DEFAULT_wxUSE_DEBUG_INFO=0
-DEFAULT_wxUSE_MEM_TRACING=0
-DEFAULT_wxUSE_DMALLOC=0
-DEFAULT_wxUSE_APPLE_IEEE=1
-DEFAULT_wxUSE_IOSTREAMH=1
-
-DEFAULT_wxUSE_ZLIB=1
-DEFAULT_wxUSE_LIBPNG=1
-DEFAULT_wxUSE_LIBJPEG=1
-DEFAULT_wxUSE_ODBC=1
-
-DEFAULT_wxUSE_TIMEDATE=1
-DEFAULT_wxUSE_INTL=1
-DEFAULT_wxUSE_CONFIG=1
-DEFAULT_wxUSE_STREAMS=1
-DEFAULT_wxUSE_SOCKETS=1
-DEFAULT_wxUSE_SERIAL=1
-DEFAULT_wxUSE_DYNLIB_CLASS=1
-
-DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
-DEFAULT_WX_NORMALIZED_PS_FONTS=1
-DEFAULT_wxUSE_POSTSCRIPT=1
-
-DEFAULT_wxUSE_IPC=1
-DEFAULT_wxUSE_RESOURCES=1
-DEFAULT_wxUSE_CLIPBOARD=1
-DEFAULT_wxUSE_TOOLTIPS=1
-DEFAULT_wxUSE_DRAG_AND_DROP=1
-
-DEFAULT_wxUSE_MDI_ARCHITECTURE=1
-DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
-DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
-
-DEFAULT_wxUSE_PROLOGIO=1
-DEFAULT_wxUSE_WX_RESOURCES=1
-DEFAULT_wxUSE_RPC=0
-DEFAULT_wxUSE_HELP=1
-
-DEFAULT_wxUSE_UNICODE=0
-DEFAULT_wxUSE_WCSRTOMBS=0
+dnl flush the cache because checking for libraries below might abort
+AC_CACHE_SAVE
 
 dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
-dnl toolkit options
+dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
 
-AC_OVERRIDES(gtk,gtk,
-**--with-gtk              use GTK,
-wxUSE_GTK)
+TOOLKIT=
+TOOLKIT_INCLUDE=
 
 
-AC_OVERRIDES(qt,qt,
-**--with-qt               use Qt,
-wxUSE_QT)
+GUI_TK_LIBRARY=
+GUI_TK_LINK=
 
 
-AC_OVERRIDES(motif,motif,
-**--with-motif            use Motif/Lesstif,
-wxUSE_MOTIF)
+WXGTK12=
 
 
-dnl ----------------------------------------------------------------
-dnl compile options
-dnl ----------------------------------------------------------------
+WXWINE=
 
 
-AC_OVERRIDES(shared,shared,
-**--with-shared           create shared libraries,
-wxUSE_SHARED)
+if test "$wxUSE_CYGWIN" = 1; then
+  AC_MSG_CHECKING(for Windows headers)
+  WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
 
 
-AC_OVERRIDES(optimise,optimise,
-**--with-optimise         create optimised code,
-wxUSE_OPTIMISE)
+  if test "$ac_find_includes" != "" ; then
+    AC_MSG_RESULT(found $ac_find_includes)
+    TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
+  else
+    AC_MSG_RESULT(no)
+    AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+  fi
 
 
-AC_OVERRIDES(debug_flag,debug_flag,
-**--with-debug_flag       create code with WXDEBUG define set to 1,
-wxUSE_DEBUG_FLAG)
+  TOOLKIT=MSW
+fi
 
 
-AC_OVERRIDES(debug_info,debug_info,
-**--with-debug_info       create code with debuging information,
-wxUSE_DEBUG_INFO)
+if test "$wxUSE_GTK" = 1; then
+  dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
+  dnl only then, if it wasn't found, for an older one
+  AM_PATH_GTK(1.2.0, WXGTK12=1)
+  if test "$WXGTK12" != 1; then
+    AM_PATH_GTK(1.0.0, , AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
+  fi
 
 
-AC_OVERRIDES(debug_gdb,debug_gdb,
-**--with-debug_gdb        create code with extra GDB debuging information,
-wxUSE_DEBUG_GDB)
+  TOOLKIT_INCLUDE="$GTK_CFLAGS"
+  GUI_TK_LIBRARY="$GTK_LIBS"
+  TOOLKIT=GTK
+fi
 
 
-AC_OVERRIDES(mem_tracing,mem_tracing,
-**--with-mem_traing       create code with memory tracing,
-wxUSE_MEM_TRACING)
+if test "$wxUSE_WINE" = 1; then
+    AC_MSG_CHECKING(for WINE includes)
+    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
+    if test "$ac_find_includes" != "" ; then
+        AC_MSG_RESULT(found $ac_find_includes)
+        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+    fi
 
 
-AC_OVERRIDES(dmalloc,dmalloc,
-**--with-dmalloc          use dmalloc memory debug library (www.letters.com/dmalloc/),
-wxUSE_DMALLOC)
+    XPM_LINK=""
+    AC_MSG_CHECKING(for Xpm library)
+    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
+    if test "$ac_find_libraries" != "" ; then
+        GUI_TK_LIBRARY="-L$ac_find_libraries"
+        XPM_LINK="-lXpm"
+        AC_DEFINE(wxHAVE_LIB_XPM)
+        AC_MSG_RESULT(found at $ac_find_libraries)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_WARN(library will be compiled without support for images in XPM format)
+    fi
+    
+    MESA_LINK=""
+    AC_MSG_CHECKING(for Mesa library)
+    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
+    if test "$ac_find_libraries" != "" ; then
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
+        MESA_LINK="-lMesaGL"
+        AC_MSG_RESULT(found at $ac_find_libraries)
+    else
+        AC_MSG_ERROR(no)
+    fi
 
 
-AC_OVERRIDES(profile,profile,
-**--with-profile          create code with profiling information,
-wxUSE_PROFILE)
+    GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -ldl -lm"
+    GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
+    WXWINE=1
+    TOOLKIT=MSW
+    LTLIBOBJS="$LTLIBOBJS winestub.lo"
+fi
 
 
-AC_OVERRIDES(apple_ieee, apple_ieee,
-**--with_apple_ieee      use the Apple IEEE codec,
-wxUSE_APPLE_IEEE)
+if test "$wxUSE_MOTIF" = 1; then
+    dnl find the X11 include and library files
+    dnl   defines x_includes and x_libraries
+    AC_PATH_XTRA
 
 
-AC_OVERRIDES(threads,threads,
-**--with-threads          for enabling threads,
-wxUSE_THREADS)
+    if test "$no_x" = "yes"; then
+      AC_MSG_ERROR(X11 libraries not found, aborting)
+    fi
 
 
-AC_OVERRIDES(dynlib,dynlib,
-**--with-dynlib           to compile wxLibrary class,
-wxUSE_DYNLIB_CLASS)
+    TOOLKIT_INCLUDE="$X_CFLAGS"
+    GUI_TK_LIBRARY="$X_LIBS"
 
 
-dnl ----------------------------------------------------------------
-dnl user options for libraries
-dnl ----------------------------------------------------------------
+    AC_MSG_CHECKING(for Motif/Lesstif includes)
+    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
+    if test "$ac_find_includes" != "" ; then
+        AC_MSG_RESULT(found $ac_find_includes)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+    fi
 
 
-AC_OVERRIDES(zlib,zlib,
-**--without-zlib             don't use zlib for LZW comression,
-wxUSE_ZLIB)
+    AC_MSG_CHECKING(for Motif/Lesstif library)
+    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
+    if test "$ac_find_libraries" != "" ; then
+        WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
+        WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
 
 
-AC_OVERRIDES(libpng,libpng,
-**--without-libpng           don't use libpng (PNG image format),
-wxUSE_LIBPNG)
+        CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
+        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
+        AC_MSG_RESULT(found at $ac_find_libraries)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+    fi
 
 
-AC_OVERRIDES(libjpeg,libjpeg,
-**--without-libjpeg          don't use libjpeg (JPEG image format),
-wxUSE_LIBJPEG)
+    AC_MSG_CHECKING(for Xt library)
+    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
+    if test "$ac_find_libraries" != "" ; then
+        WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+        CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
+        AC_MSG_RESULT(found at $ac_find_libraries)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
+    fi
 
 
-AC_OVERRIDES(odbc,odbc,
-**--with-odbc             use iODBC and wxODBC classes,
-wxUSE_ODBC)
+    XPM_LINK=""
+    AC_MSG_CHECKING(for Xpm library)
+    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
+    if test "$ac_find_libraries" != "" ; then
+        WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+        CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
+        XPM_LINK="-lXpm "
+        AC_DEFINE(wxHAVE_LIB_XPM)
+        AC_MSG_RESULT(found at $ac_find_libraries)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_WARN(library will be compiled without support for images in XPM format)
+    fi
 
 
-dnl ----------------------------------------------------------------
-dnl user options for non-GUI classes
-dnl ----------------------------------------------------------------
+    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
+    GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
+    TOOLKIT=MOTIF
+fi
 
 
-AC_OVERRIDES(timedate, timedate,
-**--with-timedate         use wxTime and wxDate classes,
-wxUSE_TIMEDATE)
+dnl the name of the directory where the files for this toolkit live
+TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
 
 
-AC_OVERRIDES(intl,intl,
-**--with-intl             use internationalization system,
-wxUSE_INTL)
+dnl the symbol which allows conditional compilation for the given toolkit
+TOOLKIT_DEF=-D__WX${TOOLKIT}__
 
 
-AC_OVERRIDES(config,config,
-**--with-config           use wxConfig class,
-wxUSE_CONFIG)
+dnl the name of the (libtool) library
+WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
 
 
-AC_OVERRIDES(streams,streams,
-**--with-streams          use wxStream etc classes,
-wxUSE_STREAMS)
+dnl the name of the library to be linked reported by wx-config
+WX_LIBRARY="wx_${TOOLKIT_DIR}"
 
 
-AC_OVERRIDES(serial,serial,
-**--with-serial           use class serialization,
-wxUSE_SERIAL)
+dnl ------------------------------------------------------------------------
+dnl Check for headers
+dnl ------------------------------------------------------------------------
 
 
-AC_OVERRIDES(sockets,sockets,
-**--with-sockets          use wxSocket etc classes,
-wxUSE_SOCKETS)
+dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
+AC_CHECK_HEADERS(strings.h)
+dnl defines HAVE_UNISTD_H
+AC_CHECK_HEADERS(unistd.h)
+dnl defines HAVE_WCHAR_H
+AC_CHECK_HEADERS(wchar.h)
+dnl defines HAVE_WCSTR_H
+AC_CHECK_HEADERS(wcstr.h)
+dnl defines HAVE_FNMATCH_H
+AC_CHECK_HEADERS(fnmatch.h)
+dnl defines HAVE_X11_XKBLIB_H
+AC_CHECK_HEADERS(X11/XKBlib.h)
 
 
-dnl ----------------------------------------------------------------
-dnl user options for PostScript
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl Checks for typedefs
+dnl ---------------------------------------------------------------------------
 
 
-AC_OVERRIDES(afmfonts,afmfonts,
-**--with-afmfonts         use Adobe Font Metric Font table,
-wxUSE_AFM_FOR_POSTSCRIPT)
+dnl   defines mode_t if not already defined
+AC_TYPE_MODE_T
+dnl   defines off_t if not already defined
+AC_TYPE_OFF_T
+dnl   defines pid_t if not already defined
+AC_TYPE_PID_T
+dnl   defines size_t if not already defined
+AC_TYPE_SIZE_T
+dnl   defines uid_t and gid_t if not already defined
+AC_TYPE_UID_T
 
 
-AC_OVERRIDES(normalized, normalized,
-**--with-PS-normalized    use normalized PS fonts,
-WX_NORMALIZED_PS_FONTS)
+dnl ---------------------------------------------------------------------------
+dnl Checks for structures
+dnl ---------------------------------------------------------------------------
 
 
-AC_OVERRIDES(postscript, postscript,
-**--with-postscript       use wxPostscriptDC device context,
-wxUSE_POSTSCRIPT)
+dnl ---------------------------------------------------------------------------
+dnl Checks for compiler characteristics
+dnl ---------------------------------------------------------------------------
 
 
-dnl ----------------------------------------------------------------
-dnl user options for wxString and Unicode
-dnl ----------------------------------------------------------------
+dnl defines const to be empty if c-compiler does not support const fully
+AC_C_CONST
+dnl defines inline to a sensible value for the c-compiler
+AC_C_INLINE
 
 
-AC_OVERRIDES(unicode,unicode,
-**--with-unicode          compile wxString with Unicode support,
-wxUSE_UNICODE)
+dnl check the sizes of integral types (give some reasonable default values for
+dnl cross-compiling)
+dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(int *, 4)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(long long, 0)
 
 
-AC_OVERRIDES(wcsrtombs,wcsrtombs,
-**--with-wcsrtombs        use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
-wxUSE_WCSRTOMBS)
+dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
+WX_C_BIGENDIAN
 
 
-dnl ----------------------------------------------------------------
-dnl user options for Prolog and Resources
-dnl ----------------------------------------------------------------
+dnl check for iostream (as opposed to iostream.h) standard header
+WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
 
 
-AC_OVERRIDES(wxresources,wxresources,
-**--with-wxresources      use wxWindows's resources,
-wxUSE_WX_RESOURCES)
+dnl check whether C++ compiler supports bool built-in type
+WX_CPP_BOOL
 
 
-AC_OVERRIDES(prologio,prologio,
-**--with-prologio         use Prolog IO library,
-wxUSE_PROLOGIO)
+dnl check whether overloading on size_t/int parameter works
+WX_CPP_SIZE_T_IS_NOT_INT
 
 
-AC_OVERRIDES(rpc,RPC,
-**--with-rpc              use Prolog's remote procedure calls,
-wxUSE_RPC)
+dnl ---------------------------------------------------------------------------
+dnl Check for functions
+dnl ---------------------------------------------------------------------------
 
 
-dnl ----------------------------------------------------------------
-dnl user options for misc stuff
-dnl ----------------------------------------------------------------
+dnl check for wcslen
+AC_CHECK_LIB(c, wcslen, [
+            AC_DEFINE(HAVE_WCSLEN)
+            WCHAR_LINK=""
+        ], [
+            AC_CHECK_LIB(w, wcslen, [
+                AC_DEFINE(HAVE_WCSLEN)
+                WCHAR_LINK="-lw"
+            ])
+        ])
 
 
-AC_OVERRIDES(ipc,IPC,
-**--with-ipc              use interprocess communication (wxSocket etc.),
-wxUSE_IPC)
+dnl check for vprintf/vsprintf() which are GNU extensions
+AC_FUNC_VPRINTF
 
 
-AC_OVERRIDES(resources,resources,
-**--with-resources        use X resources for saving information,
-wxUSE_RESOURCES)
+dnl check for vsnprintf() - a safe version of vsprintf()
+AC_CHECK_FUNCS(vsnprintf,
+               AC_DEFINE(HAVE_VSNPRINTF),
+               AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
+              )
 
 
-AC_OVERRIDES(clipboard,clipboard,
-**--with-clipboard        use wxClipboard classes,
-wxUSE_CLIPBOARD)
+dnl check for vfork() (even if it's the same as fork() in modern Unices)
+AC_CHECK_FUNCS(vfork)
 
 
-AC_OVERRIDES(tooltips,tooltips,
-**--with-tooltips         use tooltips,
-wxUSE_TOOLTIPS)
+POSIX4_LINK=
+AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
+    AC_CHECK_LIB(posix4, nanosleep, [
+      AC_DEFINE(HAVE_NANOSLEEP)
+      POSIX4_LINK="-lposix4"
+    ], [
+    AC_CHECK_FUNCS(usleep,
+        AC_DEFINE(HAVE_USLEEP),
+        AC_MSG_WARN([wxSleep() function will not work]))
+    ])
+])
 
 
-AC_OVERRIDES(dnd,dnd,
-**--with-dnd              use Drag'n'Drop classes,
-wxUSE_DRAG_AND_DROP)
+dnl check for uname (POSIX) and gethostname (BSD)
+AC_CHECK_FUNCS(uname gethostname, break)
 
 
-dnl ----------------------------------------------------------------
-dnl user options for architectures
-dnl ----------------------------------------------------------------
+dnl ===========================================================================
+dnl Now we have all the info we need - use it!
+dnl ===========================================================================
 
 
-AC_OVERRIDES(mdi,mdi,
-**--with-mdi              use multiple document interface architecture,
-wxUSE_MDI_ARCHITECTURE)
+dnl flush the cache
+AC_CACHE_SAVE
 
 
-AC_OVERRIDES(docview,docview,
-**--with-docview          use document view architecture,
-wxUSE_DOC_VIEW_ARCHITECTURE)
+dnl ---------------------------------------------------------------------------
+dnl thread support for Unix (always available under Win32)
+dnl ---------------------------------------------------------------------------
 
 
-AC_OVERRIDES(printarch,printarch,
-**--with-printarch        use printing architecture,
-wxUSE_PRINTING_ARCHITECTURE)
+if test "$USE_UNIX" = 1; then
 
 
-AC_OVERRIDES(help,help,
-**--with-help             use help (using external browser at present),
-wxUSE_HELP)
+dnl the code below:
+dnl   defines THREADS_OBJ which contains the object files to build
+dnl   defines THREADS_LINK which contains the thread library to link with
+dnl   defines wxUSE_THREADS=1 if thread support is activated
 
 
-dnl ----------------------------------------------------------------
-dnl Unix, obviously
-dnl ----------------------------------------------------------------
+THREADS_LINK=""
+THREADS_OBJ=""
 
 
-if test "$wxUSE_UNIX" = 1 ; then
-  AC_DEFINE(__UNIX__)
+if test "$wxUSE_THREADS" = "yes" ; then
+    if test "$wxUSE_WINE" = 1 ; then
+        AC_MSG_WARN([Threads are not supported under WINE])
+        wxUSE_THREADS="no"
+    fi
 fi
 
 fi
 
-dnl ----------------------------------------------------------------
-dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
-dnl ----------------------------------------------------------------
-if test "$USE_LINUX" = 1; then
-  AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
+if test "$wxUSE_THREADS" = "yes" ; then
+    dnl find if POSIX threads are available
+    
+    dnl standard lib name is pthread
+    dnl We no longer test for pthread-0.7 as it breaks compilation on some
+    dnl glibc2 systems, especially for static linkage.
+    AC_CHECK_LIB(pthread, pthread_create, [
+            THREADS_OBJ="threadpsx.lo"
+            THREADS_LINK="pthread"
+        ], [
+            dnl thread functions are in libc_r under FreeBSD
+            AC_CHECK_LIB(c_r, pthread_create, [
+                THREADS_OBJ="threadpsx.lo"
+                THREADS_LINK="c_r"
+            ], [
+                dnl VZ: SGI threads are not supported currently
+                AC_CHECK_HEADER(sys/prctl.h, [
+                    THREADS_OBJ="threadsgi.lo"
+                ])
+            ])
+        ])
 fi
 
 fi
 
-dnl ----------------------------------------------------------------
-dnl search for toolkit (widget sets)
-dnl ----------------------------------------------------------------
-
-TOOLKIT=
-TOOLKIT_DEF=
-
-GUI_TK_INCLUDE=
-GUI_TK_LIBRARY=
-GUI_TK_LINK=
-
-WX_LINK=
-
-MAKEINCLUDE=
-
-if test "$wxUSE_GTK" = 1; then
-  AM_PATH_GTK(1.0.0, [
-       GUI_TK_INCLUDE="$GTK_CFLAGS"
-       GUI_TK_LIBRARY="$GTK_LIBS"
-  ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
-  TOOLKIT=GTK
-  TOOLKIT_DEF=__WXGTK__
-  WX_LINK=-lwx_gtk2
-  MAKEINCLUDE=../gtk.inc
-fi
-
-if test "$wxUSE_QT" = 1; then
-   AC_MSG_CHECKING(for Qt includes)
-   AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
-   if test "$ac_find_includes" != "" ; then
-     AC_MSG_RESULT(found $ac_find_includes)
-     AC_MSG_CHECKING(for Qt library)
-     AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
-     if test "$ac_find_libraries" != "" ; then
-       AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
-       AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
-       CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
-       CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
-       AC_MSG_RESULT(found Qt at $ac_find_libraries)
-     else
-       AC_MSG_ERROR(no)
-     fi
-  else
-     AC_MSG_ERROR(no)
-  fi
-  GUI_TK_LINK="-lX11 -lqt -lm"
-  TOOLKIT=QT
-  TOOLKIT_DEF=__WXQT__
-  WX_LINK=-lwx_qt
-  MAKEINCLUDE=../qt.inc
+if test -z "$THREADS_OBJ" ; then
+    wxUSE_THREADS=no
+    AC_MSG_WARN(No thread support on this system)
 fi
 
 fi
 
-if test "$wxUSE_MOTIF" = 1; then
-    AC_MSG_CHECKING(for Motif/Lesstif includes)
-    AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
-    if test "$ac_find_includes" != "" ; then
-        AC_MSG_RESULT(found $ac_find_includes)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
-    fi
-
-    AC_MSG_CHECKING(for Motif/Lesstif library)
-    AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
-    if test "$ac_find_libraries" != "" ; then
-        AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
-        AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)
+dnl do other tests only if we are using threads
+if test "$wxUSE_THREADS" = "yes" ; then
+  dnl  LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
+
+  dnl define autoconf macro to check for given function in both pthread and
+  dnl posix4 libraries
+  dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
+  dnl VZ: TODO
+  dnl AC_DEFUN(AC_FUNC_THREAD,
+  dnl [
+  dnl     AC_CHECK_LIB($THREADS_LINK, $1,
+  dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
+  dnl            [AC_CHECK_LIB("posix4", $1,
+  dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
+  dnl                 POSIX4_LINK="-lposix4"
+  dnl             ])
+  dnl            ])
+  dnl ])
 
 
-        CHECK_LINK="$CHECK_LIB $ac_path_to_link"
-        CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
-    fi
-       
-    AC_MSG_CHECKING(for Xt library)
-    AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
-    if test "$ac_find_libraries" != "" ; then
-        AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
-        CHECK_LINK="$CHECK_LIB $ac_path_to_link"
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
-    fi
-        
-    XPM_LINK=""
-    AC_MSG_CHECKING(for Xpm library)
-    AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
-    if test "$ac_find_libraries" != "" ; then
-        AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
-        CHECK_LINK="$CHECK_LIB $ac_path_to_link"
-        XPM_LINK="-lXpm "
-        AC_DEFINE(wxHAVE_LIB_XPM)
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_WARN(library will be compiled without support for images in XPM format)
-    fi
+  AC_CHECK_HEADERS(sched.h)
 
 
-    GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
-    GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
-    TOOLKIT=MOTIF
-    TOOLKIT_DEF=__WXMOTIF__
-    WX_LINK=-lwx_motif2
-    MAKEINCLUDE=../motif.inc
+  AC_CHECK_LIB($THREADS_LINK, sched_yield,
+               AC_DEFINE(HAVE_SCHED_YIELD),
+               [AC_CHECK_LIB("posix4", sched_yield,
+                   [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
+                   AC_MSG_WARN(wxThread::Yield will not work properly)
+                )]
+               )
+
+  dnl VZ: we should be checking for all of the following functions instead:
+  dnl   1. pthread_attr_getschedpolicy
+  dnl   2. sched_get_priority_min and sched_get_priority_max
+  dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
+  dnl but it seems that if the first one is there, the other ones are too (of
+  dnl course the proper solution would be to implement AC_FUNC_THREAD above
+  dnl and do test for them all - anyone?)
+  AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
+               AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
+               [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
+                   [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
+                   AC_MSG_WARN(Setting thread priority will not work)
+                )]
+               )
+
+  AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
+               AC_DEFINE(HAVE_PTHREAD_CANCEL),
+               AC_MSG_WARN([wxThread::Kill() will not work properly]))
+
+  AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
+  [
+    AC_TRY_COMPILE([#include <pthread.h>],
+                 [
+                    pthread_cleanup_push(NULL, NULL);
+                    pthread_cleanup_pop(0);
+                 ], [
+                    wx_cv_func_pthread_cleanup_push=yes
+                    AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
+                 ], [
+                    wx_cv_func_pthread_cleanup_push=no
+                 ])
+  ])
+
+  THREADS_LINK="-l$THREADS_LINK"
 fi
 
 fi
 
-if test "$TOOLKIT" = ""; then
-  AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
+dnl from if USE_UNIX
 fi
 
 fi
 
-AC_SUBST(GUI_TK_INCLUDE)
-AC_SUBST(GUI_TK_LIBRARY)
-AC_SUBST(GUI_TK_LINK)
+if test "$wxUSE_THREADS" = "yes"; then
+  AC_DEFINE(wxUSE_THREADS)
 
 
-AC_SUBST(WX_LINK)
+  dnl must define _REENTRANT for multithreaded code
+  CFLAGS="${CFLAGS} -D_REENTRANT"
+  CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
 
 
-AC_SUBST(TOOLKIT)
-AC_SUBST(TOOLKIT_DEF)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
+fi
 
 
-AC_SUBST(MAKEINCLUDE)
+if test "$WXGTK12" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
+fi
 
 
-dnl ----------------------------------------------------------------
-dnl Register compile options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+if test "$WXWINE" = 1 ; then
+  TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
+fi
 
 
-EXTRA_LINK=
+if test "$wxUSE_CYGWIN" = 1 ; then
+  TOOLKIT_DEF="${TOOLKIT_DEF} -D__WIN95__"
+fi
 
 WXDEBUG=
 
 WXDEBUG=
-if test "$wxUSE_DEBUG_GDB" = 1 ; then
-    wxUSE_DEBUG_INFO=1
+if test "$wxUSE_DEBUG_GDB" = "yes" ; then
+    wxUSE_DEBUG_INFO=yes
     WXDEBUG="-ggdb"
 fi
 
     WXDEBUG="-ggdb"
 fi
 
-if test "$wxUSE_DEBUG_INFO" = 1 ; then
+if test "$wxUSE_DEBUG_INFO" = "yes" ; then
     WXDEBUG="-g"
     WXDEBUG="-g"
-    wxUSE_OPTIMISE=0
+    wxUSE_OPTIMISE=no
 fi
 
 fi
 
-AC_SUBST(WXDEBUG)
-
-if test "$wxUSE_DEBUG_FLAG" = 1 ; then
-  AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
-  WXDEBUG_DEFINE="-D__WXDEBUG__"
-  AC_SUBST(WXDEBUG_DEFINE)
+if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
+    AC_DEFINE(WXDEBUG)
+    WXDEBUG_DEFINE="-D__WXDEBUG__"
 else
 else
-  WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
-  AC_SUBST(WXDEBUG_DEFINE)
+    WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
 fi
 
 fi
 
-if test "$wxUSE_MEM_TRACING" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
-  AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
+if test "$wxUSE_MEM_TRACING" = "yes" ; then
+    AC_DEFINE(wxUSE_MEMORY_TRACING)
+    AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
 fi
 
 fi
 
-if test "$wxUSE_DMALLOC" = 1 ; then
-  EXTRA_LINK="$EXTRA_LINK -ldmalloc"
+if test "$wxUSE_DMALLOC" = "yes" ; then
+    DMALLOC_LINK="-ldmalloc"
 fi
 fi
-AC_SUBST(EXTRA_LINK)
 
 PROFILE=
 
 PROFILE=
-if test "$wxUSE_PROFILE" = 1 ; then
-  PROFILE="-pg"
+if test "$wxUSE_PROFILE" = "yes" ; then
+    PROFILE="-pg"
 fi
 fi
-AC_SUBST(PROFILE)
 
 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
 
 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
-if test "$wxUSE_OPTIMISE" = 0 ; then
-  OPTIMISE=
+if test "$wxUSE_OPTIMISE" = "no" ; then
+    OPTIMISE=
 else
 else
-  if test "$GCC" = yes ; then
-    OPTIMISE="-O2"
-    case "${canonical}" in
-      i586-*-*|i686-*-* )
-       OPTIMISE="${OPTIMISE} "
-       ;;
-    esac
-  else
-    OPTIMISE="-O"
-  fi
+    if test "$GCC" = yes ; then
+        OPTIMISE="-O2 -fno-rtti -fno-exceptions"
+        case "${host}" in
+            i586-*-*|i686-*-* )
+            OPTIMISE="${OPTIMISE} "
+        ;;
+        esac
+    else
+        OPTIMISE="-O"
+    fi
 fi
 fi
-AC_SUBST(OPTIMISE)
 
 
-APPLE_IEEE=NONE
-if test "$wxUSE_APPLE_IEEE" = 1 ; then
-  APPLE_IEEE="APPLE_IEEE"
-  AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
+dnl ---------------------------------------------------------------------------
+dnl Optional libraries
+dnl ---------------------------------------------------------------------------
+
+ZLIB_INCLUDE=
+if test "$wxUSE_ZLIB" = "yes" ; then
+  AC_DEFINE(wxUSE_ZLIB)
+  EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../zlib"
+  ZLIB_INCLUDE="-I\${srcdir}/../zlib"
+  LTLIBOBJS="$LTLIBOBJS adler32.lo compress.lo crc32.lo gzio.lo uncompr.lo deflate.lo \
+                        trees.lo zutil.lo inflate.lo infblock.lo inftrees.lo infcodes.lo \
+                        infutil.lo inffast.lo"
 fi
 
 fi
 
-wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
-AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)
+PNG_INCLUDE=
+if test "$wxUSE_LIBPNG" = "yes" ; then
+  AC_DEFINE(wxUSE_LIBPNG)
+  LTLIBOBJS="$LTLIBOBJS png.lo pngset.lo pngget.lo pngrutil.lo pngtrans.lo pngwutil.lo \
+                        pngread.lo pngrio.lo pngwio.lo pngwrite.lo pngrtran.lo pngwtran.lo \
+                        pngmem.lo pngerror.lo pngpread.lo"
+  EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../png"
+  PNG_INCLUDE="-I\${srcdir}/../png"
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
+fi
 
 
-dnl ----------------------------------------------------------------
-dnl Register library options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+if test "$wxUSE_LIBGIF" = "yes" ; then
+  AC_DEFINE(wxUSE_LIBGIF)
+fi
 
 
-if test "$wxUSE_ZLIB" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
-  Z_C_SRC="\$(Z_C_SRC)"
+JPEG_INCLUDE=
+if test "$wxUSE_LIBJPEG" = "yes" ; then
+  AC_DEFINE(wxUSE_LIBJPEG)
+  EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../jpeg"
+  JPEG_INCLUDE="-I\${srcdir}/../jpeg"
+  LTLIBOBJS="$LTLIBOBJS \
+             jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \
+             jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo \
+             jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo \
+             jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo \
+             jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo \
+             jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo \
+             jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo \
+             jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo \
+             jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo \
+             jquant1.lo jquant2.lo jdmerge.lo"
 fi
 fi
-AC_SUBST(Z_C_SRC)
 
 
-if test "$wxUSE_LIBPNG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
-  PNG_C_SRC="\$(PNG_C_SRC)"
+if test "$wxUSE_OPENGL" = "yes"; then
+  AC_CHECK_HEADER(GL/gl.h, [
+    AC_CHECK_LIB(GL, glInitNames, [
+      OPENGL_LINK="-lGL"
+      AC_DEFINE(wxUSE_OPENGL)
+      UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
+    ],[
+        AC_CHECK_LIB(MesaGL, glInitNames, [
+        OPENGL_LINK="-lMesaGL"
+        AC_DEFINE(wxUSE_OPENGL)
+        UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
+      ],wxUSE_OPENGL=0)
+     ],wxUSE_OPENGL=0)
+    ],wxUSE_OPENGL=0)
 fi
 fi
-AC_SUBST(PNG_C_SRC)
 
 
-if test "$wxUSE_LIBJPEG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
-  JPEG_C_SRC="\$(JPEG_C_SRC)"
+dnl ---------------------------------------------------------------------------
+dnl the library may be built without GUI classes at all
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_GUI" = "yes"; then
+  AC_DEFINE(wxUSE_GUI)
+
+  dnl the things we always pull in the GUI version of the library:
+  dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
+  dnl    library really can't be built without those)
+  dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
+  dnl    almost any program and the first 2 are needed to show a message box
+  dnl    which want to be always able to do)
+  dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
+  dnl    to compile without them (if the app doesn't do any drawing, it doesn't
+  dnl    need the dcs, pens, brushes, ...), this just can't be done now
+  dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
+  dnl 5. misc stuff: timers, settings, message box
+  dnl   LTLIBOBJS="$LTLIBOBJS \
+  dnl main.lo app.lo event.lo wincmn.lo window.lo control.lo framecmn.lo frame.lo dialog.lo panelg.lo \
+  dnl button.lo stattext.lo textctrl.lo \
+  dnl bitmap.lo brush.lo colour.lo cursor.lo data.lo dc.lo dcbase.lo dcclient.lo \
+  dnl dcmemory.lo dcscreen.lo font.lo gdicmn.lo gdiobj.lo icon.lo palette.lo pen.lo region.lo \
+  dnl menu.lo \
+  dnl settings.lo timer.lo msgdlgg.lo"
+else
+  AC_DEFINE(wxUSE_NOGUI)
 fi
 fi
-AC_SUBST(JPEG_C_SRC)
 
 
-JPEG_LINK=""
-dnl if test "$wxUSE_LIBJPEG" = 1 ; then
-dnl  AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
-dnl  AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available.")) 
-dnl  JPEG_LINK="-ljpeg"
-dnl fi
-AC_SUBST(JPEG_LINK)
+dnl ---------------------------------------------------------------------------
+dnl Unix/Windows
+dnl ---------------------------------------------------------------------------
 
 
-IODBC_C_SRC=""
-if test "$wxUSE_ODBC" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
-  IODBC_C_SRC="\$(IODBC_C_SRC)"
+if test "$wxUSE_UNIX" = "yes"; then
+  AC_DEFINE(wxUSE_UNIX)
 fi
 fi
-AC_SUBST(IODBC_C_SRC)
 
 
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
 dnl Register non-GUI class options for makefiles and setup.h
 dnl Register non-GUI class options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_APPLE_IEEE" = "yes"; then
+  AC_DEFINE(wxUSE_APPLE_IEEE)
+fi
+
+if test "$wxUSE_TIMEDATE" = "yes"; then
+  AC_DEFINE(wxUSE_TIMEDATE)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
+fi
+
+if test "$wxUSE_WAVE" = "yes"; then
+  AC_DEFINE(wxUSE_WAVE)
+fi
+
+if test "$wxUSE_FILE" = "yes"; then
+  AC_DEFINE(wxUSE_FILE)
+fi
+
+if test "$wxUSE_TEXTFILE" = "yes"; then
+  if test "$wxUSE_FILE" != "yes"; then
+    AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
+  else
+    AC_DEFINE(wxUSE_TEXTFILE)
+  fi
+fi
+
+if test "$wxUSE_CONFIG" = "yes" ; then
+  if test "$wxUSE_TEXTFILE" != "yes"; then
+    AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
+  else
+    AC_DEFINE(wxUSE_CONFIG)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
+  fi
+fi
 
 
-if test "$wxUSE_CONFIG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
+if test "$wxUSE_INTL" = "yes" ; then
+  if test "$wxUSE_FILE" != "yes"; then
+    AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
+  else
+    AC_DEFINE(wxUSE_INTL)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
+  fi
 fi
 
 fi
 
-if test "$wxUSE_TIMEDATE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
+if test "$wxUSE_LOG" = "yes"; then
+  AC_DEFINE(wxUSE_LOG)
 fi
 
 fi
 
-if test "$wxUSE_INTL" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
+if test "$wxUSE_LONGLONG" = "yes"; then
+  AC_DEFINE(wxUSE_LONGLONG)
 fi
 
 fi
 
-if test "$wxUSE_STREAMS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
+if test "$wxUSE_SOCKETS" = "yes" ; then
+    if test "$wxUSE_THREADS" = "yes" ; then
+        AC_DEFINE(wxUSE_SOCKETS)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
+        INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
+    else
+        AC_MSG_WARN(Socket classes require --with-threads and won't be compiled without it)
+        wxUSE_SOCKETS=0
+    fi
 fi
 
 fi
 
-if test "$wxUSE_SOCKETS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
+if test "$wxUSE_STREAMS" = "yes" ; then
+  AC_DEFINE(wxUSE_STREAMS)
 fi
 
 fi
 
-if test "$wxUSE_SERIAL" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
+if test "$wxUSE_SERIAL" = "yes" ; then
+  AC_DEFINE(wxUSE_SERIAL)
 fi
 
 dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
 fi
 
 dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
-if test "$wxUSE_SOCKETS" = "1"; then
+if test "$wxUSE_SOCKETS" = "yes"; then
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
     dnl determine the type of third argument for getsockname
     AC_MSG_CHECKING(the type of the third argument of getsockname)
     AC_TRY_COMPILE(
         [#include <sys/socket.h>],
         [socklen_t len; getsockname(0, NULL, &len);],
         AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
     dnl determine the type of third argument for getsockname
     AC_MSG_CHECKING(the type of the third argument of getsockname)
     AC_TRY_COMPILE(
         [#include <sys/socket.h>],
         [socklen_t len; getsockname(0, NULL, &len);],
         AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
-               AC_TRY_COMPILE(
-               [#include <sys/socket.h>],
-               [size_t len; getsockname(0, NULL, &len);],
-               AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
-               AC_TRY_COMPILE(
-                   [#include <sys/socket.h>],
-                   [int len; getsockname(0, NULL, &len);],
-                   AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
-                   AC_MSG_RESULT(unknown)
-               )
+           AC_TRY_COMPILE(
+            [#include <sys/socket.h>],
+            [size_t len; getsockname(0, NULL, &len);],
+            AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
+            AC_TRY_COMPILE(
+                [#include <sys/socket.h>],
+                [int len; getsockname(0, NULL, &len);],
+                AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
+            AC_MSG_RESULT(unknown)
+        )
         )
     )
         )
     )
+    AC_LANG_RESTORE
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl Joystick support
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_JOYSTICK" = 1; then
+  dnl joystick support is only for Linux 2.1.x or greater
+  AC_CHECK_HEADERS(linux/joystick.h)
+  if test "$ac_cv_header_linux_joystick_h" = "yes"; then
+    AC_DEFINE(wxUSE_JOYSTICK)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+  fi
 fi
 
 dnl ------------------------------------------------------------------------
 fi
 
 dnl ------------------------------------------------------------------------
-dnl wxLibrary class
+dnl DLL support
 dnl ------------------------------------------------------------------------
 
 HAVE_DL_FUNCS=0
 dnl ------------------------------------------------------------------------
 
 HAVE_DL_FUNCS=0
-if test "$wxUSE_DYNLIB_CLASS" = "1"; then
+HAVE_SHL_FUNCS=0
+if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
     dnl the test is a bit complicated because we check for dlopen() both with
     dnl and without -ldl
     AC_CHECK_FUNCS(dlopen,
         [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
         [AC_CHECK_LIB(dl, dlopen,
             [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
     dnl the test is a bit complicated because we check for dlopen() both with
     dnl and without -ldl
     AC_CHECK_FUNCS(dlopen,
         [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
         [AC_CHECK_LIB(dl, dlopen,
             [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
-    AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])
+    AC_CHECK_FUNCS( shl_load,
+                    [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
 
     if test "$HAVE_DL_FUNCS" = 0; then
 
     if test "$HAVE_DL_FUNCS" = 0; then
-        AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")
-
-        wxUSE_DYNLIB_CLASS=0
+        AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
+        wxUSE_ODBC=no
+        wxUSE_DYNLIB_CLASS=no
     fi
 fi
 
     fi
 fi
 
-if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
+if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+  AC_DEFINE(wxUSE_DYNLIB_CLASS)
 fi
 
 fi
 
-dnl ----------------------------------------------------------------
-dnl Register Prolog and Resources options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl String stuff
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_UNICODE" = "yes" ; then
+  AC_DEFINE(wxUSE_UNICODE)
+fi
 
 
-if test "$wxUSE_RPC" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
+if test "$wxUSE_WCSRTOMBS" = "yes" ; then
+  AC_DEFINE(wxUSE_WCSRTOMBS)
 fi
 
 fi
 
-if test "$wxUSE_WX_RESOURCES" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
+if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
+  AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
 fi
 
 fi
 
-if test "$wxUSE_PROLOGIO" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
+dnl ----------------------------------------------------------------
+dnl iODBC support
+dnl ----------------------------------------------------------------
+
+IODBC_C_SRC=""
+if test "$wxUSE_ODBC" = "yes" ; then
+  AC_DEFINE(wxUSE_ODBC)
+  EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../iodbc"
+  LTLIBOBJS="$LTLIBOBJS catalog.lo connect.lo dlf.lo dlproc.lo execute.lo fetch.lo hdbc.lo henv.lo herr.lo hstmt.lo info.lo itrace.lo misc.lo prepare.lo result.lo"
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
 fi
 
 dnl ----------------------------------------------------------------
 dnl Register PostScript options for makefiles and setup.h
 dnl ----------------------------------------------------------------
 
 fi
 
 dnl ----------------------------------------------------------------
 dnl Register PostScript options for makefiles and setup.h
 dnl ----------------------------------------------------------------
 
-if test "$wxUSE_POSTSCRIPT" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
+if test "$wxUSE_POSTSCRIPT" = "yes" ; then
+  AC_DEFINE(wxUSE_POSTSCRIPT)
 fi
 
 fi
 
-AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)
+AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
 
 
-AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)
+AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
 
 
-dnl ----------------------------------------------------------------
-dnl Register architecture options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl big GUI components: MDI, doc/view, printing, help, ...
+dnl ---------------------------------------------------------------------------
 
 
-if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
+if test "$wxUSE_CONSTRAINTS" = "yes"; then
+    AC_DEFINE(wxUSE_CONSTRAINTS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
 fi
 
 fi
 
-if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
+if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
+    AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
 fi
 
 fi
 
-if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
+if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
+    AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
+    if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
+    fi
 fi
 
 fi
 
-dnl ----------------------------------------------------------------
-dnl Register wxString options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+if test "$wxUSE_HELP" = "yes"; then
+    AC_DEFINE(wxUSE_HELP)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
+fi
 
 
-if test "$wxUSE_UNICODE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
+if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+    if test "$wxUSE_CONSTRAINTS" != "yes"; then
+        AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
+    else
+        AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
+    fi
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
 fi
 
 fi
 
-if test "$wxUSE_WCSRTOMBS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
+if test "$wxUSE_PROLOGIO" = "yes" ; then
+    AC_DEFINE(wxUSE_PROLOGIO)
 fi
 
 fi
 
-dnl ----------------------------------------------------------------
-dnl Register misc options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+if test "$wxUSE_RESOURCES" = "yes" ; then
+    if test "$wxUSE_PROLOGIO" = "yes" ; then
+        AC_DEFINE(wxUSE_RESOURCES)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
+    else
+        AC_MSG_WARN([wxWindows ressource system requires PrologIO and can't be compiled without it.])
+    fi
+fi
 
 
-if test "$wxUSE_IPC" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_IPC)
+if test "$wxUSE_X_RESOURCES" = "yes"; then
+    AC_DEFINE(wxUSE_X_RESOURCES)
 fi
 
 fi
 
-if test "$wxUSE_RESOURCES" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
+dnl ---------------------------------------------------------------------------
+dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_IPC" = "yes"; then
+    AC_DEFINE(wxUSE_IPC)
 fi
 
 fi
 
-if test "$wxUSE_CLIPBOARD" = ; then
-  AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
+if test "$wxUSE_CLIPBOARD" = "yes"; then
+    AC_DEFINE(wxUSE_CLIPBOARD)
 fi
 
 fi
 
-if test "$wxUSE_TOOLTIPS" = 1 ; then
+if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
+    if test "$wxUSE_GTK" = 1; then
+        if test "$WXGTK12" != 1; then
+            AC_MSG_WARN([Drag and drop is only supported under wxGTK 2.1])
+        fi
+    fi
+
     if test "$wxUSE_MOTIF" = 1; then
     if test "$wxUSE_MOTIF" = 1; then
-        AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
-        wxUSE_TOOLTIPS=0
+        AC_MSG_WARN([Drag and drop is not yet supported under Motif])
     fi
 
     fi
 
-    AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
+    if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
+        AC_DEFINE(wxUSE_DRAG_AND_DROP)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
+    fi
 fi
 
 fi
 
-if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
+if test "$wxUSE_SPLINES" = "yes" ; then
+  AC_DEFINE(wxUSE_SPLINES)
 fi
 
 fi
 
-dnl ----------------------------------------------------------------
-dnl No effect yet
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl GUI controls
+dnl ---------------------------------------------------------------------------
 
 
-HELP=NONE
-if test "$wxUSE_HELP" = 1 ; then
-  HELP="HELP"
-  AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
+if test "$wxUSE_ACCEL" = "yes"; then
+  AC_DEFINE(wxUSE_ACCEL)
 fi
 fi
-AC_SUBST(HELP)
 
 
-dnl ----------------------------------------------------------------
-dnl thread support
-dnl ----------------------------------------------------------------
+if test "$wxUSE_CARET" = "yes"; then
+  AC_DEFINE(wxUSE_CARET)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
+fi
 
 
-dnl   defines UNIX_THREAD it contains the source file to use for threads. (GL)
-dnl   defines THREADS_LINK it contains the thread library to link with. (GL)
-dnl   defines wxUSE_THREADS if thread support is activated. (GL)
+if test "$wxUSE_COMBOBOX" = "yes"; then
+  AC_DEFINE(wxUSE_COMBOBOX)
+fi
 
 
-THREADS_LINK=""
-UNIX_THREAD=""
+if test "$wxUSE_CHOICE" = "yes"; then
+  AC_DEFINE(wxUSE_CHOICE)
+fi
 
 
-if test "$wxUSE_THREADS" = "1"; then
-    dnl find if POSIX threads are available
+if test "$wxUSE_BMPBUTTON" = "yes"; then
+  AC_DEFINE(wxUSE_BMPBUTTON)
+fi
 
 
-    dnl standard lib name is pthread
-    dnl We no longer test for pthread-0.7 as it breaks compilation on some
-    dnl glibc2 systems, especially for static linkage.
-    AC_CHECK_LIB(pthread, pthread_create, [
-            UNIX_THREAD="unix/threadpsx.cpp"
-            THREADS_LINK="pthread"
-        ], [
-            dnl thread functions are in libc_r under FreeBSD
-            AC_CHECK_LIB(c_r, pthread_create, [
-                UNIX_THREAD="unix/threadpsx.cpp"
-                THREADS_LINK="c_r"
-            ], [
-                dnl VZ: SGI threads are not supported currently
-                AC_CHECK_HEADER(sys/prctl.h, [
-                    UNIX_THREAD="gtk/threadsgi.cpp"
-                ])
-            ])
-        ])
-    if test "$THREADS_LINK" != ""; then
-        AC_DEFINE(wxUSE_THREADS)
+if test "$wxUSE_CHECKBOX" = "yes"; then
+  AC_DEFINE(wxUSE_CHECKBOX)
+fi
+
+if test "$wxUSE_CHECKLST" = "yes"; then
+  AC_DEFINE(wxUSE_CHECKLISTBOX)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
+fi
+
+if test "$wxUSE_GAUGE" = "yes"; then
+  AC_DEFINE(wxUSE_GAUGE)
+fi
+
+if test "$wxUSE_GRID" = "yes"; then
+  AC_DEFINE(wxUSE_GRID)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
+fi
+
+if test "$wxUSE_IMAGLIST" = "yes"; then
+    AC_DEFINE(wxUSE_IMAGLIST)
+fi
+
+if test "$wxUSE_LISTBOX" = "yes"; then
+    AC_DEFINE(wxUSE_LISTBOX)
+fi
+
+if test "$wxUSE_LISTCTRL" = "yes"; then
+    if test "$wxUSE_IMAGLIST" = "yes"; then
+        AC_DEFINE(wxUSE_LISTCTRL)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
     else
     else
-        AC_MSG_WARN(No thread support on this system)
+        AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
     fi
 fi
 
     fi
 fi
 
-if test -z "$UNIX_THREAD"; then
-  wxUSE_THREADS=0
+if test "$wxUSE_NOTEBOOK" = "yes"; then
+    AC_DEFINE(wxUSE_NOTEBOOK)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
 fi
 
 fi
 
-dnl do other tests only if we are using threads
-if test "$wxUSE_THREADS" = "1"; then
-
-    dnl define autoconf macro to check for given function in both pthread and
-    dnl posix4 libraries
-    dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
-    dnl VZ: TODO
-    dnl AC_DEFUN(AC_FUNC_THREAD,
-    dnl [
-    dnl     AC_CHECK_LIB($THREADS_LINK, $1,
-    dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
-    dnl            [AC_CHECK_LIB("posix4", $1,
-    dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
-    dnl                 POSIX4_LINK="-lposix4"
-    dnl             ])
-    dnl            ])
-    dnl ])
+if test "$wxUSE_RADIOBOX" = "yes"; then
+    AC_DEFINE(wxUSE_RADIOBOX)
+fi
 
 
-  AC_CHECK_HEADERS(sched.h)
+if test "$wxUSE_RADIOBTN" = "yes"; then
+    AC_DEFINE(wxUSE_RADIOBTN)
+fi
 
 
-  AC_CHECK_LIB($THREADS_LINK, sched_yield,
-               AC_DEFINE(HAVE_SCHED_YIELD),
-               [AC_CHECK_LIB("posix4", sched_yield,
-                   [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
-                   AC_MSG_WARN(wxThread::Yield() will not work properly)
-                )]
-               )
+if test "$wxUSE_SASH" = "yes"; then
+    AC_DEFINE(wxUSE_SASH)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
+fi
 
 
-  dnl VZ: we should be checking for all of the following functions instead:
-  dnl   1. pthread_attr_getschedpolicy
-  dnl   2. sched_get_priority_min and sched_get_priority_max
-  dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
-  dnl but it seems that if the first one is there, the other ones are too (of
-  dnl course the proper solution would be to implement AC_FUNC_THREAD above
-  dnl and do test for them all - anyone?)
-  AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
-               AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
-               [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
-                   [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
-                   AC_MSG_WARN(Setting thread priority will not work)
-                )]
-               )
+if test "$wxUSE_SCROLLBAR" = "yes"; then
+    AC_DEFINE(wxUSE_SCROLLBAR)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
+fi
 
 
-  AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
-               AC_DEFINE(HAVE_PTHREAD_CANCEL),
-               AC_MSG_WARN(wxThread::Kill() will not work properly))
+if test "$wxUSE_SLIDER" = "yes"; then
+    AC_DEFINE(wxUSE_SLIDER)
+fi
 
 
-  THREADS_LINK="-l$THREADS_LINK"
+if test "$wxUSE_SPINBTN" = "yes"; then
+    AC_DEFINE(wxUSE_SPINBTN)
 fi
 
 fi
 
-AC_SUBST(UNIX_THREAD)
-AC_SUBST(THREADS_LINK)
-AC_SUBST(POSIX4_LINK)
+if test "$wxUSE_SPLITTER" = "yes"; then
+    AC_DEFINE(wxUSE_SPLITTER)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
+fi
 
 
-dnl ------------------------------------------------------------------------
-dnl compiler options for shared libs
-dnl ------------------------------------------------------------------------
+if test "$wxUSE_STATBMP" = "yes"; then
+    AC_DEFINE(wxUSE_STATBMP)
+fi
 
 
-PICFLAGS=
-CREATE_SHARED=
-case "${canonical}" in
-  *-hp-hpux* )
-    if test "$GCC" != "yes" ; then
-      CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
-      CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
-      PICFLAGS="+z"
-    else
-      PICFLAGS="-fPIC"
-    fi
-    LDFLAGS="-Wl,+s"
-    CREATE_SHARED=sharedHpux
-  ;;
+if test "$wxUSE_STATBOX" = "yes"; then
+    AC_DEFINE(wxUSE_STATBOX)
+fi
 
 
-  *-*-linux* )
-    PICFLAGS=-fPIC
-    CREATE_SHARED=sharedLinux
-  ;;
+if test "$wxUSE_STATLINE" = "yes"; then
+    AC_DEFINE(wxUSE_STATLINE)
+fi
 
 
-  *-*-irix5* | *-*-irix6* )
-    # PICFLAGS can remain empty, as pic is the default
-    LDFLAGS="-Wl,+s"
-    CREATE_SHARED=sharedIrix
-    AC_DEFINE(SVR4)
-  ;;
+if test "$wxUSE_STATUSBAR" = "yes"; then
+    AC_DEFINE(wxUSE_STATUSBAR)
+fi
 
 
-  *-*-solaris2* )
-    if test "$GCC" != "yes" ; then
-      PICFLAGS="-KPIC"
+if test "$wxUSE_TABDIALOG" = "yes"; then
+    AC_DEFINE(wxUSE_TAB_DIALOG)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
+fi
+
+if test "$wxUSE_TOOLBAR" = "yes"; then
+    AC_DEFINE(wxUSE_TOOLBAR)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
+fi
+
+if test "$wxUSE_TOOLTIPS" = "yes"; then
+    if test "$wxUSE_MOTIF" = 1; then
+        AC_MSG_WARN(Tooltips are not supported yet under Motif)
     else
     else
-      PICFLAGS="-fPIC"
+        if test "$wxUSE_WINE" = 1; then
+            AC_MSG_WARN(Tooltips are not supported yet under WINE)
+        else
+            AC_DEFINE(wxUSE_TOOLTIPS)
+        fi
     fi
     fi
-    CREATE_SHARED=sharedSolaris2
-    AC_DEFINE(SVR4)
-  ;;
+fi
 
 
-  *-*-sunos4* )
-    if test "$GCC" != "yes" ; then
-      PICFLAGS="-PIC"
+if test "$wxUSE_TREECTRL" = "yes"; then
+    if test "$wxUSE_IMAGLIST" = "yes"; then
+        AC_DEFINE(wxUSE_TREECTRL)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
     else
     else
-      PICFLAGS="-fPIC"
+        AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
     fi
     fi
-    LDFLAGS="-Wl,+s"
-    CREATE_SHARED=sharedSunos4
-    AC_DEFINE(BSD)
-  ;;
+fi
 
 
-  *-*-freebsd* | *-*-netbsd*)
-    PICFLAGS=-fPIC
-    CREATE_SHARED=sharedBsd
-    AC_DEFINE(BSD)
-  ;;
+dnl ---------------------------------------------------------------------------
+dnl misc options
+dnl ---------------------------------------------------------------------------
 
 
-  *-*-osf* )
-    PICFLAGS="-fPIC"
-    CREATE_SHARED=sharedOSF
-  ;;
+dnl TODO this is unused for now...
+dnl if test "$wxUSE_WXTREE" = "yes"; then
+dnl   AC_DEFINE(wxUSE_WXTREE)
+dnl fi
 
 
-  *-*-dgux5* )
-    if test "$GCC" != "yes" ; then
-      PICFLAGS="-K PIC"
-    else
-      PICFLAGS="-fPIC"
-    fi
-    CREATE_SHARED=sharedDgux
-    AC_DEFINE(SVR4)
-  ;;
+if test "$wxUSE_METAFILE" = "yes"; then
+    AC_DEFINE(wxUSE_METAFILE)
+fi
 
 
-  *-*-sysv5* )
-    if test "$GCC" != "yes" ; then
-      PICFLAGS="-K PIC"
+if test "$wxUSE_DIRDLG" = "yes"; then
+    if test "$wxUSE_CONSTRAINTS" != "yes"; then
+       AC_MSG_WARN(wxDirDialog requires constraints so it won't be compiled without them)
     else
     else
-      PICFLAGS="-fPIC"
+        if test "$wxUSE_TREECTRL" != "yes"; then
+            AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
+        else
+            AC_DEFINE(wxUSE_DIRDLG)
+        fi
     fi
     fi
-    CREATE_SHARED=sharedSysV
-    AC_DEFINE(SVR4)
-  ;;
+fi
 
 
-  *-*-aix* )
-    if test "$GCC" != "yes" ; then
-      PICFLAGS="-bM\:SRE"
+if test "$wxUSE_PROGRESSDLG" = "yes"; then
+    if test "$wxUSE_CONSTRAINTS" != "yes"; then
+       AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
     else
     else
-      PICFLAGS="-fPIC -D__SYSV__"
+        AC_DEFINE(wxUSE_PROGRESSDLG)
     fi
     fi
-    CREATE_SHARED=sharedAIX
-    AC_DEFINE(SYSV)
-  ;;
+fi
 
 
-  *)
-    CREATE_SHARED=
-    PICFLAGS=
-esac
+if test "$wxUSE_MINIFRAME" = "yes"; then
+    AC_DEFINE(wxUSE_MINIFRAME)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
+fi
 
 
-if test "x$GCC" = xyes; then
-  CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
+if test "$wxUSE_VALIDATORS" = "yes"; then
+    AC_DEFINE(wxUSE_VALIDATORS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
 fi
 
 fi
 
-if test "x$GXX" = xyes; then
-  if test "$wxUSE_MOTIF" = 1; then
-    CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
-  else
-    CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
-  fi
+dnl ---------------------------------------------------------------------------
+dnl Output the makefiles and such from the results found above
+dnl ---------------------------------------------------------------------------
+
+dnl if we add wxUSE_GUI in the future, it might be handy to separate the libs
+dnl into GUI and non-GUI parts
+GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
+
+dnl all additional libraries (except wxWindows itself) we link with
+EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $GUILIBS"
+
+dnl all the libraries needed to link wxWindows programs (when the library is not
+dnl yet installed)
+LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
+
+dnl all -I options we must pass to the compiler
+INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TOOLKIT_INCLUDE"
+
+dnl C/C++ compiler options used to compile wxWindows
+if test "$ac_cv_prog_gcc" = "yes"; then
+    dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
+    CXXWARNINGS="-Wall"
+    dnl there is one weird warning in docview.h:71 which prevents me from doing
+    dnl this...
+    dnl CXXWARNINGS="-Wall -Werror"
 fi
 fi
+EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
+
+CFLAGS="$CFLAGS $EXTRA_CFLAGS"
+CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
 
 
-if test "$wxUSE_SHARED" != 1; then
-    CREATE_SHARED=
-    PICFLAGS=
+if test "$wxUSE_GUI" = "yes"; then
+    dnl TODO add checks that these samples will really compile (i.e. all the
+    dnl      library features they need are present)
+
+    dnl TODO some samples are never built so far:
+    dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
+                     forty fractal image richedit wxpoem"
 fi
 
 fi
 
-AC_SUBST(OS)
-AC_SUBST(PICFLAGS)
-AC_SUBST(CREATE_SHARED)
+dnl for convenience, sort the files to build in alphabetical order
+dnl
+dnl another shell command to do it which might be faster but is less clear:
+dnl  LTLIBOBJS="`for obj in $LTLIBOBJS; do echo $obj; done | sort | sed 's@^@ @'`"
+LTLIBOBJS="`echo $LTLIBOBJS | tr -s ' ' | tr ' ' '\n' | sort | tr '\n' ' '`"
 
 
-dnl ------------------------------------------------------------------------
-dnl finish and clean-up
-dnl ------------------------------------------------------------------------
+dnl for convenience, sort the samples in alphabetical order
+dnl
+dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
+dnl       in this list - hence uniq. But normally, this shouldn't be needed!
+SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '`"
 
 
-dnl add OS to list of configured
-echo $OS >> system.list
+dnl global options
+AC_SUBST(WX_MAJOR_VERSION_NUMBER)
+AC_SUBST(WX_MINOR_VERSION_NUMBER)
+AC_SUBST(WX_RELEASE_NUMBER)
+AC_SUBST(WX_LIBRARY_NAME)
+AC_SUBST(WX_LIBRARY)
 
 
-TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
-AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)
+dnl suppress libtool's informational messages - they duplicate its command line
+LIBTOOL="$LIBTOOL --silent"
+AC_SUBST(LIBTOOL)
 
 
-AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
+dnl debugging options
+AC_SUBST(WXDEBUG_DEFINE)
 
 
-AC_OVERRIDES_DONE
+dnl toolkit options
+AC_SUBST(TOOLKIT)
+AC_SUBST(TOOLKIT_DEF)
+AC_SUBST(TOOLKIT_DIR)
+AC_SUBST(TOOLKIT_INCLUDE)
+
+dnl additional sources
+AC_SUBST(EXTRA_VPATH)
+AC_SUBST(LTLIBOBJS)
+
+dnl additional subdirectories where we will build
+AC_SUBST(SRC_SUBDIRS)
+AC_SUBST(INCLUDE_SUBDIRS)
+AC_SUBST(UTILS_SUBDIRS)
+AC_SUBST(DOCS_SUBDIRS)
+AC_SUBST(SAMPLES_SUBDIRS)
+AC_SUBST(USER_SUBDIRS)
+
+dnl additional libraries
+AC_SUBST(EXTRA_LIBS)
+AC_SUBST(LIBS)
+
+dnl create the configuration header file from the template
+dnl
+dnl NB: automake can't work correctly if our header lives in a directory which
+dnl     is only determined at configure time, so we create it on the top-level
+dnl     and make a link to allow '#include "wx/setup.h"' to still work
+AM_CONFIG_HEADER(setup.h)
+
+dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
+dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
+dnl - and we do use it)
+AC_PROG_MAKE_SET
+
+dnl create each of the files in the space separated list from the file.in
+dnl (the original file name may be overriden by appending another name after a
+dnl colon)
+AC_OUTPUT([
+            wx-config
+            Makefile
+            src/Makefile
+
+dnl just for testing, will remove soon (VZ)
+dnl             src/msw/Makefile
+dnl             include/Makefile include/wx/Makefile include/wx/generic/Makefile
+dnl             include/wx/msw/Makefile
+dnl             samples/Makefile samples/minimal/Makefile
+
+            src/gtk/Makefile
+            src/motif/Makefile
+            src/msw/Makefile
+            include/Makefile
+            include/wx/Makefile
+            include/wx/generic/Makefile
+            include/wx/gtk/Makefile
+            include/wx/motif/Makefile
+            include/wx/msw/Makefile
+            include/wx/protocol/Makefile
+            include/wx/unix/Makefile
+            misc/Makefile
+            misc/afm/Makefile
+            misc/gs_afm/Makefile
+            samples/Makefile
+            samples/bombs/Makefile
+            samples/caret/Makefile
+            samples/checklst/Makefile
+            samples/config/Makefile
+            samples/controls/Makefile
+            samples/db/Makefile
+            samples/dialogs/Makefile
+            samples/dnd/Makefile
+            samples/docview/Makefile
+            samples/docvwmdi/Makefile
+            samples/drawing/Makefile
+            samples/dynamic/Makefile
+            samples/forty/Makefile
+            samples/fractal/Makefile
+            samples/grid/Makefile
+            samples/help/Makefile
+            samples/image/Makefile
+            samples/internat/Makefile
+            samples/joytest/Makefile
+            samples/layout/Makefile
+            samples/listctrl/Makefile
+            samples/mdi/Makefile
+            samples/memcheck/Makefile
+            samples/mfc/Makefile
+            samples/minifram/Makefile
+            samples/minimal/Makefile
+            samples/nativdlg/Makefile
+            samples/notebook/Makefile
+            samples/oleauto/Makefile
+            samples/ownerdrw/Makefile
+            samples/png/Makefile
+            samples/printing/Makefile
+            samples/proplist/Makefile
+            samples/regtest/Makefile
+            samples/resource/Makefile
+            samples/richedit/Makefile
+            samples/sashtest/Makefile
+            samples/scroll/Makefile
+            samples/splitter/Makefile
+            samples/tab/Makefile
+            samples/taskbar/Makefile
+            samples/text/Makefile
+            samples/thread/Makefile
+            samples/toolbar/Makefile
+            samples/treectrl/Makefile
+            samples/typetest/Makefile
+            samples/validate/Makefile
+            samples/wxpoem/Makefile
+            samples/wxsocket/Makefile
+          ],
+          [
+            chmod +x wx-config
+dnl The following line is more elegant but test -e is not supported by all
+dnl test varieties.
+dnl            if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
+            cat include/wx/${TOOLKIT_DIR}/setup.h >/dev/null 2>&1
+            if test $? != 0; then
+              ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
+            fi
+          ],
+          [
+            LN_S="${ac_cv_prog_LN_S}"
+            TOOLKIT_DIR="${TOOLKIT_DIR}"
+          ]
+         )