]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Forgot this one.
[wxWidgets.git] / configure.in
index 905a8036fe1a367d03ad8871f94c356c298fc6eb..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 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
 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 Version: $Id$
+dnl ---------------------------------------------------------------------------
 
 
-  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
+dnl ---------------------------------------------------------------------------
+dnl initialization
+dnl ---------------------------------------------------------------------------
 
 
-  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 the file passed to AC_INIT should be specific to our package
+AC_INIT(wx-config.in)
+
+AC_CANONICAL_HOST
+
+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 > 0) 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
+AC_PROG_INSTALL
 
 
-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
+dnl strip command
+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
@@ -406,1160 +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 check for vprintf/vsprintf() which are GNU extensions
-AC_FUNC_VPRINTF
-dnl check for vsnprintf() which is another GNU extension
-AC_CHECK_FUNCS(vsnprintf)
-
-dnl check for usleep() and nanosleep() which is better in MT programs
-AC_CHECK_FUNCS(nanosleep,
-        AC_DEFINE(HAVE_NANOSLEEP),
-        [AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP))])
-AC_CHECK_FUNCS(usleep)
-
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-AC_CHECK_HEADERS(iostream)
-if test "x$HAVE_IOSTREAM" = "x" ; then
-  AC_DEFINE(wxUSE_IOSTREAMH)
-fi
-AC_LANG_RESTORE
-
-dnl   defines HAVE_IOSTREAM
-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 ###################################
-dnl AC_C_CROSS
-
-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
-
-AC_CHECK_SIZEOF(int *)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
-dnl   defines the size of certain types of variables in SIZEOF_???
-
-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 ------------------------------------------------------------------------
-
-CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
-CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"
-
-dnl ------------------------------------------------------------------------
-dnl host system
-dnl ------------------------------------------------------------------------
+dnl needed for making link to setup.h
+AC_PROG_LN_S
 
 
-AC_CANONICAL_HOST
-canonical=$host
-configuration=$host_alias
+dnl without this (which just means that we use WXDLLEXPORT) libtool won't build
+dnl DLLs under Win32.
+AC_LIBTOOL_WIN32_DLL
 
 
-dnl ------------------------------------------------------------------------
-dnl system settings
-dnl ------------------------------------------------------------------------
+dnl disable static libs by default, this takes too much time...
+AM_DISABLE_STATIC
+AM_PROG_LIBTOOL
 
 
-USE_UNIX=1
+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_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=0
-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=1
-DEFAULT_wxUSE_WCSRTOMBS=0
+dnl flush the cache because checking for libraries below might abort
+AC_CACHE_SAVE
 
 dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
-dnl toolkit options
-dnl ----------------------------------------------------------------
-
-AC_OVERRIDES(gtk,gtk,
-**--with-gtk              use GTK,
-wxUSE_GTK)
-
-AC_OVERRIDES(qt,qt,
-**--with-qt               use Qt,
-wxUSE_QT)
-
-AC_OVERRIDES(motif,motif,
-**--with-motif            use Motif/Lesstif,
-wxUSE_MOTIF)
-
-dnl ----------------------------------------------------------------
-dnl compile options
+dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
 
-AC_OVERRIDES(shared,shared,
-**--with-shared           create shared libraries,
-wxUSE_SHARED)
-
-AC_OVERRIDES(optimise,optimise,
-**--with-optimise         create optimised code,
-wxUSE_OPTIMISE)
-
-AC_OVERRIDES(debug_flag,debug_flag,
-**--with-debug_flag       create code with WXDEBUG define set to 1,
-wxUSE_DEBUG_FLAG)
-
-AC_OVERRIDES(debug_info,debug_info,
-**--with-debug_info       create code with debuging information,
-wxUSE_DEBUG_INFO)
-
-AC_OVERRIDES(debug_gdb,debug_gdb,
-**--with-debug_gdb        create code with extra GDB debuging information,
-wxUSE_DEBUG_GDB)
-
-AC_OVERRIDES(mem_tracing,mem_tracing,
-**--with-mem_traing       create code with memory tracing,
-wxUSE_MEM_TRACING)
-
-AC_OVERRIDES(dmalloc,dmalloc,
-**--with-dmalloc          use dmalloc memory debug library (www.letters.com/dmalloc/),
-wxUSE_DMALLOC)
-
-AC_OVERRIDES(profile,profile,
-**--with-profile          create code with profiling information,
-wxUSE_PROFILE)
-
-AC_OVERRIDES(apple_ieee, apple_ieee,
-**--with_apple_ieee      use the Apple IEEE codec,
-wxUSE_APPLE_IEEE)
-
-AC_OVERRIDES(threads,threads,
-**--with-threads          for enabling threads,
-wxUSE_THREADS)
-
-AC_OVERRIDES(dynlib,dynlib,
-**--with-dynlib           to compile wxLibrary class,
-wxUSE_DYNLIB_CLASS)
+TOOLKIT=
+TOOLKIT_INCLUDE=
 
 
-dnl ----------------------------------------------------------------
-dnl user options for libraries
-dnl ----------------------------------------------------------------
+GUI_TK_LIBRARY=
+GUI_TK_LINK=
 
 
-AC_OVERRIDES(zlib,zlib,
-**--with-zlib             use zlib for LZW comression,
-wxUSE_ZLIB)
+WXGTK12=
 
 
-AC_OVERRIDES(libpng,libpng,
-**--with-libpng           use libpng (PNG image format),
-wxUSE_LIBPNG)
+WXWINE=
 
 
-AC_OVERRIDES(libjpeg,libjpeg,
-**--with-libjpeg          use libjpeg (JPEG image format),
-wxUSE_LIBJPEG)
+if test "$wxUSE_CYGWIN" = 1; then
+  AC_MSG_CHECKING(for Windows headers)
+  WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
 
 
-AC_OVERRIDES(odbc,odbc,
-**--with-odbc             use iODBC and wxODBC classes,
-wxUSE_ODBC)
+  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
 
 
-dnl ----------------------------------------------------------------
-dnl user options for non-GUI classes
-dnl ----------------------------------------------------------------
+  TOOLKIT=MSW
+fi
 
 
-AC_OVERRIDES(timedate, timedate,
-**--with-timedate         use wxTime and wxDate classes,
-wxUSE_TIMEDATE)
+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(intl,intl,
-**--with-intl             use internationalization system,
-wxUSE_INTL)
+  TOOLKIT_INCLUDE="$GTK_CFLAGS"
+  GUI_TK_LIBRARY="$GTK_LIBS"
+  TOOLKIT=GTK
+fi
 
 
-AC_OVERRIDES(config,config,
-**--with-config           use wxConfig class,
-wxUSE_CONFIG)
+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(streams,streams,
-**--with-streams          use wxStream etc classes,
-wxUSE_STREAMS)
+    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(serial,serial,
-**--with-serial           use class serialization,
-wxUSE_SERIAL)
+    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(sockets,sockets,
-**--with-sockets         use wxSocket etc classes,
-wxUSE_SOCKETS)
+if test "$wxUSE_MOTIF" = 1; then
+    dnl find the X11 include and library files
+    dnl   defines x_includes and x_libraries
+    AC_PATH_XTRA
 
 
-dnl ----------------------------------------------------------------
-dnl user options for PostScript
-dnl ----------------------------------------------------------------
+    if test "$no_x" = "yes"; then
+      AC_MSG_ERROR(X11 libraries not found, aborting)
+    fi
 
 
-AC_OVERRIDES(afmfonts,afmfonts,
-**--with-afmfonts         use Adobe Font Metric Font table,
-wxUSE_AFM_FOR_POSTSCRIPT)
+    TOOLKIT_INCLUDE="$X_CFLAGS"
+    GUI_TK_LIBRARY="$X_LIBS"
 
 
-AC_OVERRIDES(normalized, normalized,
-**--with-PS-normalized    use normalized PS fonts,
-WX_NORMALIZED_PS_FONTS)
+    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(postscript, postscript,
-**--with-postscript       use wxPostscriptDC device context,
-wxUSE_POSTSCRIPT)
+    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)
 
 
-dnl ----------------------------------------------------------------
-dnl user options for wxString and Unicode
-dnl ----------------------------------------------------------------
+        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(unicode,unicode,
-**--with-unicode          compile wxString with Unicode support,
-wxUSE_UNICODE)
+    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(wcsrtombs,wcsrtombs,
-**--with-wcsrtombs        use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
-wxUSE_WCSRTOMBS)
+    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 Prolog and Resources
-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(wxresources,wxresources,
-**--with-wxresources      use wxWindows's resources,
-wxUSE_WX_RESOURCES)
+dnl the name of the directory where the files for this toolkit live
+TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
 
 
-AC_OVERRIDES(prologio,prologio,
-**--with-prologio         use Prolog IO library,
-wxUSE_PROLOGIO)
+dnl the symbol which allows conditional compilation for the given toolkit
+TOOLKIT_DEF=-D__WX${TOOLKIT}__
 
 
-AC_OVERRIDES(rpc,RPC,
-**--with-rpc              use Prolog's remote procedure calls,
-wxUSE_RPC)
+dnl the name of the (libtool) library
+WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
 
 
-dnl ----------------------------------------------------------------
-dnl user options for misc stuff
-dnl ----------------------------------------------------------------
+dnl the name of the library to be linked reported by wx-config
+WX_LIBRARY="wx_${TOOLKIT_DIR}"
 
 
-AC_OVERRIDES(ipc,IPC,
-**--with-ipc              use interprocess communication (wxSocket etc.),
-wxUSE_IPC)
+dnl ------------------------------------------------------------------------
+dnl Check for headers
+dnl ------------------------------------------------------------------------
 
 
-AC_OVERRIDES(resources,resources,
-**--with-resources        use X resources for saving information,
-wxUSE_RESOURCES)
+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)
 
 
-AC_OVERRIDES(clipboard,clipboard,
-**--with-clipboard        use wxClipboard classes,
-wxUSE_CLIPBOARD)
+dnl ---------------------------------------------------------------------------
+dnl Checks for typedefs
+dnl ---------------------------------------------------------------------------
 
 
-AC_OVERRIDES(tooltips,tooltips,
-**--with-tooltips         use tooltips,
-wxUSE_TOOLTIPS)
+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(dnd,dnd,
-**--with-dnd              use Drag'n'Drop classes,
-wxUSE_DRAG_AND_DROP)
+dnl ---------------------------------------------------------------------------
+dnl Checks for structures
+dnl ---------------------------------------------------------------------------
 
 
-dnl ----------------------------------------------------------------
-dnl user options for architectures
-dnl ----------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl Checks for compiler characteristics
+dnl ---------------------------------------------------------------------------
 
 
-AC_OVERRIDES(mdi,mdi,
-**--with-mdi              use multiple document interface architecture,
-wxUSE_MDI_ARCHITECTURE)
+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(docview,docview,
-**--with-docview          use document view architecture,
-wxUSE_DOC_VIEW_ARCHITECTURE)
+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)
+
+dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
+WX_C_BIGENDIAN
+
+dnl check for iostream (as opposed to iostream.h) standard header
+WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
+
+dnl check whether C++ compiler supports bool built-in type
+WX_CPP_BOOL
+
+dnl check whether overloading on size_t/int parameter works
+WX_CPP_SIZE_T_IS_NOT_INT
+
+dnl ---------------------------------------------------------------------------
+dnl Check for functions
+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(printarch,printarch,
-**--with-printarch        use printing architecture,
-wxUSE_PRINTING_ARCHITECTURE)
+dnl check for vprintf/vsprintf() which are GNU extensions
+AC_FUNC_VPRINTF
 
 
-AC_OVERRIDES(help,help,
-**--with-help             use help (using external browser at present),
-wxUSE_HELP)
+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 ----------------------------------------------------------------
-dnl Unix, obviously
-dnl ----------------------------------------------------------------
+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([wxSleep() function will not work]))
+    ])
+])
 
 
-if test "$wxUSE_UNIX" = 1 ; then
-  AC_DEFINE(__UNIX__)
-fi
+dnl check for uname (POSIX) and gethostname (BSD)
+AC_CHECK_FUNCS(uname gethostname, break)
 
 
-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))
-fi
+dnl ===========================================================================
+dnl Now we have all the info we need - use it!
+dnl ===========================================================================
 
 
-dnl ----------------------------------------------------------------
-dnl search for toolkit (widget sets)
-dnl ----------------------------------------------------------------
+dnl flush the cache
+AC_CACHE_SAVE
 
 
-TOOLKIT=
-TOOLKIT_DEF=
+dnl ---------------------------------------------------------------------------
+dnl thread support for Unix (always available under Win32)
+dnl ---------------------------------------------------------------------------
 
 
-GUI_TK_INCLUDE=
-GUI_TK_LIBRARY=
-GUI_TK_LINK=
+if test "$USE_UNIX" = 1; then
 
 
-WX_LINK=
+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
 
 
-MAKEINCLUDE=
+THREADS_LINK=""
+THREADS_OBJ=""
 
 
-if test "$wxUSE_GTK" = 1; then
-  AM_PATH_GTK(1.0.4, [
-       GUI_TK_INCLUDE="$GTK_CFLAGS"
-       GUI_TK_LIBRARY="$GTK_LIBS"
-  ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
-  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 "$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
 
-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)
-     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)
-       CHECK_LINK="$CHECK_LIB $ac_path_to_link"
-       CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
-       AC_MSG_RESULT(found at $ac_find_libraries)
-       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)
-         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"
-           AC_MSG_RESULT(found at $ac_find_libraries)
-         else
-           AC_MSG_ERROR(no)
-         fi
-       else
-         AC_MSG_ERROR(no)
-       fi
-     else
-       AC_MSG_ERROR(no)
-     fi
-  else
-     AC_MSG_ERROR(no)
-  fi
+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
 
 
-  GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
-  GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
-  TOOLKIT=MOTIF
-  TOOLKIT_DEF=__WXMOTIF__
-  WX_LINK=-lwx_motif2
-  MAKEINCLUDE=../motif.inc
+if test -z "$THREADS_OBJ" ; then
+    wxUSE_THREADS=no
+    AC_MSG_WARN(No thread support on this system)
 fi
 
 fi
 
-if test "$TOOLKIT" = ""; then
-  AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
+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 ])
+
+  AC_CHECK_HEADERS(sched.h)
+
+  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
 
-AC_SUBST(GUI_TK_INCLUDE)
-AC_SUBST(GUI_TK_LIBRARY)
-AC_SUBST(GUI_TK_LINK)
+dnl from if USE_UNIX
+fi
 
 
-AC_SUBST(WX_LINK)
+if test "$wxUSE_THREADS" = "yes"; then
+  AC_DEFINE(wxUSE_THREADS)
 
 
-AC_SUBST(TOOLKIT)
-AC_SUBST(TOOLKIT_DEF)
+  dnl must define _REENTRANT for multithreaded code
+  CFLAGS="${CFLAGS} -D_REENTRANT"
+  CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
 
 
-AC_SUBST(MAKEINCLUDE)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
+fi
 
 
-dnl ----------------------------------------------------------------
-dnl Register compile options for makefiles and setup.h
-dnl ----------------------------------------------------------------
+if test "$WXGTK12" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
+fi
+
+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
-  WXDEBUG="-ggdb"
-  wxUSE_OPTIMISE=0
-else
-  if test "$wxUSE_DEBUG_INFO" = 1 ; then
+if test "$wxUSE_DEBUG_GDB" = "yes" ; then
+    wxUSE_DEBUG_INFO=yes
+    WXDEBUG="-ggdb"
+fi
+
+if test "$wxUSE_DEBUG_INFO" = "yes" ; then
     WXDEBUG="-g"
     WXDEBUG="-g"
-    wxUSE_OPTIMISE=0
-  else
-    EXTRA_LINK="-s $EXTRA_LINK"
-  fi
+    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)
 
 
-JPEG_LINK=""
-if test "$wxUSE_LIBJPEG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
-  AC_CHECK_LIB(jpeg)
-  JPEG_LINK="-ljpeg"
+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_LINK)
 
 
-IODBC_C_SRC=""
-if test "$wxUSE_ODBC" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
-  IODBC_C_SRC="\$(IODBC_C_SRC)"
+dnl ---------------------------------------------------------------------------
+dnl Unix/Windows
+dnl ---------------------------------------------------------------------------
+
+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_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
+
+if test "$wxUSE_LOG" = "yes"; then
+  AC_DEFINE(wxUSE_LOG)
+fi
 
 
-if test "$wxUSE_CONFIG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
+if test "$wxUSE_LONGLONG" = "yes"; then
+  AC_DEFINE(wxUSE_LONGLONG)
 fi
 
 fi
 
-if test "$wxUSE_TIMEDATE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
+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_INTL" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
+if test "$wxUSE_STREAMS" = "yes" ; then
+  AC_DEFINE(wxUSE_STREAMS)
 fi
 
 fi
 
-if test "$wxUSE_STREAMS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
+if test "$wxUSE_SERIAL" = "yes" ; then
+  AC_DEFINE(wxUSE_SERIAL)
 fi
 
 fi
 
-if test "$wxUSE_SOCKETS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
+dnl ------------------------------------------------------------------------
+dnl wxSocket
+dnl ------------------------------------------------------------------------
+
+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),
+           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
 
 fi
 
-if test "$wxUSE_SERIAL" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
+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
-  AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
+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
+        AC_MSG_WARN([Drag and drop is not yet supported under Motif])
+    fi
+
+    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
 
 
-THREADS_LINK=""
-UNIX_THREAD=""
+if test "$wxUSE_COMBOBOX" = "yes"; then
+  AC_DEFINE(wxUSE_COMBOBOX)
+fi
+
+if test "$wxUSE_CHOICE" = "yes"; then
+  AC_DEFINE(wxUSE_CHOICE)
+fi
 
 
-if test "$wxUSE_THREADS" = "1"; then
+if test "$wxUSE_BMPBUTTON" = "yes"; then
+  AC_DEFINE(wxUSE_BMPBUTTON)
+fi
 
 
-     dnl For glibc 2 users who have the old libc 5 too
+if test "$wxUSE_CHECKBOX" = "yes"; then
+  AC_DEFINE(wxUSE_CHECKBOX)
+fi
 
 
-     AC_CHECK_LIB(pthread-0.7, pthread_create, [
-       UNIX_THREAD="gtk/threadpsx.cpp"
-       THREADS_LINK="-lpthread-0.7"
-     ],[
-       AC_CHECK_HEADER(sys/prctl.h, [
-          UNIX_THREAD="gtk/threadsgi.cpp"
-     ])
+if test "$wxUSE_CHECKLST" = "yes"; then
+  AC_DEFINE(wxUSE_CHECKLISTBOX)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
+fi
 
 
-     dnl pthread_create is always available in pthread but it seems not to be
-     dnl the case for pthread_setcanceltype.
+if test "$wxUSE_GAUGE" = "yes"; then
+  AC_DEFINE(wxUSE_GAUGE)
+fi
 
 
-     AC_CHECK_LIB(pthread, pthread_setcanceltype, [
-       UNIX_THREAD="gtk/threadpsx.cpp"
-       THREADS_LINK="-lpthread"
-     ])
-    ])
+if test "$wxUSE_GRID" = "yes"; then
+  AC_DEFINE(wxUSE_GRID)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
+fi
 
 
-    if test "x$THREADS_LINK" = "x"; then
-        dnl thread functions are in libc_r under FreeBSD
-        AC_CHECK_LIB(c_r, pthread_create,
-                    [
-                        UNIX_THREAD="gtk/threadpsx.cpp"
-                        THREADS_LINK="-lc_r"
-                    ])
-    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 "$THREADS_LINK" != ""; then
-      AC_DEFINE(wxUSE_THREADS)
+if test "$wxUSE_LISTCTRL" = "yes"; then
+    if test "$wxUSE_IMAGLIST" = "yes"; then
+        AC_DEFINE(wxUSE_LISTCTRL)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
+    else
+        AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
     fi
     fi
+fi
 
 
-    dnl -lposix4 seems to be required on Solaris
+if test "$wxUSE_NOTEBOOK" = "yes"; then
+    AC_DEFINE(wxUSE_NOTEBOOK)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
+fi
 
 
-    AC_CHECK_LIB(posix4, printf, [
-      THREADS_LINK="$THREADS_LINK -lposix4"
-    ])
+if test "$wxUSE_RADIOBOX" = "yes"; then
+    AC_DEFINE(wxUSE_RADIOBOX)
+fi
 
 
+if test "$wxUSE_RADIOBTN" = "yes"; then
+    AC_DEFINE(wxUSE_RADIOBTN)
 fi
 
 fi
 
-if test "$wxUSE_MOTIF" = "1"; then
-  UNIX_THREAD="motif/thread.cpp"
+if test "$wxUSE_SASH" = "yes"; then
+    AC_DEFINE(wxUSE_SASH)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
 fi
 
 fi
 
-if test -z "$UNIX_THREAD"; then
-  wxUSE_THREADS=0
+if test "$wxUSE_SCROLLBAR" = "yes"; then
+    AC_DEFINE(wxUSE_SCROLLBAR)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
 fi
 
 fi
 
-AC_SUBST(UNIX_THREAD)
-AC_SUBST(THREADS_LINK)
+if test "$wxUSE_SLIDER" = "yes"; then
+    AC_DEFINE(wxUSE_SLIDER)
+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_SPINBTN" = "yes"; then
+    AC_DEFINE(wxUSE_SPINBTN)
+fi
 
 
-dnl ------------------------------------------------------------------------
-dnl compiler options for shared libs
-dnl ------------------------------------------------------------------------
+if test "$wxUSE_SPLITTER" = "yes"; then
+    AC_DEFINE(wxUSE_SPLITTER)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
+fi
 
 
-PICFLAGS=
-CREATE_SHARED=
-case "${canonical}" in
+if test "$wxUSE_STATBMP" = "yes"; then
+    AC_DEFINE(wxUSE_STATBMP)
+fi
 
 
-  *-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"
+        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"
 
 
-if test "$wxUSE_SHARED" != 1; then
-    CREATE_SHARED=
-    PICFLAGS=
+CFLAGS="$CFLAGS $EXTRA_CFLAGS"
+CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
+
+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 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)
+
+dnl suppress libtool's informational messages - they duplicate its command line
+LIBTOOL="$LIBTOOL --silent"
+AC_SUBST(LIBTOOL)
 
 
-dnl add OS to list of configured
-echo $OS >> system.list
+dnl debugging options
+AC_SUBST(WXDEBUG_DEFINE)
 
 
-AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
-AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)
+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}"
+          ]
+         )
 
 
-AC_OVERRIDES_DONE