]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
wxOS2 updates for 10/5/99
[wxWidgets.git] / configure.in
index ea21d2bdc30dd99b66043d63f9553131c029c41b..aaa380472d33cc0ec6f220a4994a633c78883289 100644 (file)
@@ -11,14 +11,428 @@ dnl
 dnl Version: $Id$
 dnl ---------------------------------------------------------------------------
 
 dnl Version: $Id$
 dnl ---------------------------------------------------------------------------
 
+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. Uses variables
+dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
+dnl ---------------------------------------------------------------------------
+dnl
+AC_DEFUN(AM_PATH_GTK,
+[
+  if test x$gtk_config_exec_prefix != x ; then
+     gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
+     fi
+  fi
+  if test x$gtk_config_prefix != x ; then
+     gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
+     fi
+  fi
+
+  AC_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
+dnl Now check if the installed GTK is sufficiently new. (Also sanity
+dnl checks the results of gtk-config to some extent)
+dnl
+    AC_TRY_RUN([
+#include <gtk/gtk.h>
+#include <stdio.h>
+
+int
+main ()
+{
+  int major, minor, micro;
+
+  if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
+     printf("%s, bad version string\n", "$min_gtk_version");
+     exit(1);
+   }
+
+   if (gtk_minor_version == 1) return FALSE;
+
+   return !((gtk_major_version > major) ||
+    ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
+    ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
+}
+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+     CFLAGS="$ac_save_CFLAGS"
+     LIBS="$ac_save_LIBS"
+  else
+     no_gtk=yes
+  fi
+  if test "x$no_gtk" = x ; then
+     AC_MSG_RESULT(yes)
+     ifelse([$2], , :, [$2])
+  else
+     AC_MSG_RESULT(no)
+     GTK_CFLAGS=""
+     GTK_LIBS=""
+     ifelse([$3], , :, [$3])
+  fi
+  AC_SUBST(GTK_CFLAGS)
+  AC_SUBST(GTK_LIBS)
+])
+
+dnl ===========================================================================
+dnl macros to find the a file in the list of include/lib paths
+dnl ===========================================================================
+
+dnl ---------------------------------------------------------------------------
+dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
+dnl to the full name of the file that was found or leaves it empty if not found
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_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 ---------------------------------------------------------------------------
+dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_includes
+dnl to the full name of the file that was found or leaves it empty if not found
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_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 Path to include, already defined
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_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"
+  fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl Path to link, already defined
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_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
+])
+
+dnl ===========================================================================
+dnl C++ features test
+dnl ===========================================================================
+
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
+dnl or only the old <iostream.h> one - it may be generally assumed that if
+dnl <iostream> exists, the other "new" headers (without .h) exist too.
+dnl
+dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_CPP_NEW_HEADERS,
+[
+  if test "$cross_compiling" = "yes"; then
+    ifelse([$2], , :, [$2])
+  else
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_CHECK_HEADERS(iostream)
+
+    if test "x$HAVE_IOSTREAM" = x ; then
+      ifelse([$2], , :, [$2])
+    else
+      ifelse([$1], , :, [$1])
+    fi
+
+    AC_LANG_RESTORE
+  fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
+dnl
+dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_CPP_BOOL,
+[
+  AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
+  [
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_TRY_COMPILE(
+      [
+      ],
+      [
+        bool b = true;
+
+        return 0;
+      ],
+      [
+        AC_DEFINE(HAVE_BOOL)
+        wx_cv_cpp_bool=yes
+      ],
+      [
+        wx_cv_cpp_bool=no
+      ]
+    )
+
+    AC_LANG_RESTORE
+  ])
+
+  if test "$wx_cv_cpp_bool" = "yes"; then
+    AC_DEFINE(HAVE_BOOL)
+  fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_SIZE_T_IS_NOT_INT checks whether size_t and int are different types,
+dnl i.e. whether we may overload operator[] on its argument type
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_CPP_SIZE_T_IS_NOT_INT,
+[
+  AC_CACHE_CHECK([if size_t and int are different types], wx_cv_cpp_sizet_not_int,
+  [
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_TRY_RUN([
+        #include <stdlib.h>
+
+        class S
+        {
+        public:
+          S(char *s) { m_s = s; }
+
+          char operator[](size_t n) const { return m_s[n]; }
+          char operator[](int n) const { return m_s[n]; }
+
+        private:
+          char *m_s;
+        };
+
+        int main()
+        {
+            S s("dummy");
+            size_t n1 = 2;
+            int n2 = 3;
+
+            return s[n1] == s[n2];
+        }
+      ],
+      AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) wx_cv_cpp_sizet_not_int=yes,
+      wx_cv_cpp_sizet_not_int=no,
+      wx_cv_cpp_sizet_not_int=no
+    )
+
+    AC_LANG_RESTORE
+  ])
+])
+
+dnl ---------------------------------------------------------------------------
+dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_C_BIGENDIAN,
+[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
+[ac_cv_c_bigendian=unknown
+# See if sys/param.h defines the BYTE_ORDER macro.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
+if test $ac_cv_c_bigendian = unknown; then
+AC_TRY_RUN([main () {
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long l;
+    char c[sizeof (long)];
+  } u;
+  u.l = 1;
+  exit (u.c[sizeof (long) - 1] == 1);
+}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, ac_cv_c_bigendian=unknown)
+fi])
+if test $ac_cv_c_bigendian = unknown; then
+  AC_MSG_WARN([Assuming little-endian target machine - this may be overriden by adding the line "ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}" to config.cache file])
+fi
+if test $ac_cv_c_bigendian = yes; then
+  AC_DEFINE(WORDS_BIGENDIAN)
+fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_ARG_CACHE_INIT,
+        [
+          wx_arg_cache_file="configarg.cache"
+          echo "loading argument cache $wx_arg_cache_file"
+          rm -f ${wx_arg_cache_file}.tmp
+          touch ${wx_arg_cache_file}.tmp
+          touch ${wx_arg_cache_file}
+        ])
+
+AC_DEFUN(WX_ARG_CACHE_FLUSH,
+        [
+          echo "saving argument cache $wx_arg_cache_file"
+          mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
+        ])
+
+dnl this macro checks for a command line argument and caches the result
+dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
+AC_DEFUN(WX_ARG_WITH,
+        [
+          AC_MSG_CHECKING("for --with-$1")
+          no_cache=0
+          AC_ARG_WITH($1, $2,
+                      [
+                        if test "$withval" = yes; then
+                          ac_cv_use_$1='$3=yes'
+                        else
+                          ac_cv_use_$1='$3=no'
+                        fi
+                      ],
+                      [
+                        LINE=`grep "$3" ${wx_arg_cache_file}`
+                        if test "x$LINE" != x ; then
+                          eval "DEFAULT_$LINE"
+                        else
+                          no_cache=1
+                        fi
+
+                        ac_cv_use_$1='$3='$DEFAULT_$3
+                      ])
+
+          eval "$ac_cv_use_$1"
+          if test "$no_cache" != 1; then
+            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
+          fi
+
+          if test "$$3" = yes; then
+            AC_MSG_RESULT(yes)
+          else
+            AC_MSG_RESULT(no)
+          fi
+        ])
+
+dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
+dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
+AC_DEFUN(WX_ARG_ENABLE,
+        [
+          AC_MSG_CHECKING("for --enable-$1")
+          no_cache=0
+          AC_ARG_ENABLE($1, $2,
+                        [
+                          if test "$enableval" = yes; then
+                            ac_cv_use_$1='$3=yes'
+                          else
+                            ac_cv_use_$1='$3=no'
+                          fi
+                        ],
+                        [
+                          LINE=`grep "$3" ${wx_arg_cache_file}`
+                          if test "x$LINE" != x ; then
+                            eval "DEFAULT_$LINE"
+                          else
+                            no_cache=1
+                          fi
+
+                          ac_cv_use_$1='$3='$DEFAULT_$3
+                        ])
+
+          eval "$ac_cv_use_$1"
+          if test "$no_cache" != 1; then
+            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
+          fi
+
+          if test "$$3" = yes; then
+            AC_MSG_RESULT(yes)
+          else
+            AC_MSG_RESULT(no)
+          fi
+        ])
+
+dnl -
+dnl - GNU libc extension (added by GL)
+dnl -
+
+AC_DEFUN(WX_GNU_EXTENSIONS,
+[
+AC_MSG_CHECKING([if you need GNU extensions])
+AC_CACHE_VAL(wx_cv_gnu_extensions,[
+   AC_TRY_COMPILE([#include <features.h>],[
+
+#ifndef __GNU_LIBRARY__
+ Compile error wanted
+#endif
+
+],
+  [wx_cv_gnu_extensions=yes],
+  [wx_cv_gnu_extensions=no])
+])
+
+AC_MSG_RESULT($wx_cv_gnu_extensions)
+if test "$wx_cv_gnu_extensions" = "yes"; then
+  AC_DEFINE_UNQUOTED(_GNU_SOURCE)
+fi
+])
+
+
 dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-dnl the file passed to AC_INIT should be speicific to our package
+dnl the file passed to AC_INIT should be specific to our package
 AC_INIT(wx-config.in)
 
 AC_INIT(wx-config.in)
 
-AC_CANONICAL_HOST
+AC_CANONICAL_SYSTEM
 
 dnl When making releases do:
 dnl
 
 dnl When making releases do:
 dnl
@@ -28,7 +442,7 @@ dnl WX_BINARY_AGE += 1
 dnl
 dnl if any functions have been added, do:
 dnl
 dnl
 dnl if any functions have been added, do:
 dnl
-dnl WX_INTERFACE_AGE = 1
+dnl WX_INTERFACE_AGE = 0
 
 WX_MAJOR_VERSION_NUMBER=2
 WX_MINOR_VERSION_NUMBER=1
 
 WX_MAJOR_VERSION_NUMBER=2
 WX_MINOR_VERSION_NUMBER=1
@@ -39,24 +453,11 @@ WX_BINARY_AGE=0
 
 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
 
 
 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 wxWindows shared library versioning
+WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
+WX_CURRENT=`expr $WX_RELEASE_NUMBER - $WX_INTERFACE_AGE`
+WX_REVISION=$WX_INTERFACE_AGE
+WX_AGE=`expr $WX_BINARY_AGE - $WX_INTERFACE_AGE`
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
@@ -80,9 +481,12 @@ USE_FREEBSD=
 USE_VMS=
 USE_ULTRIX=
 USE_CYGWIN=
 USE_VMS=
 USE_ULTRIX=
 USE_CYGWIN=
-USE_MINGW32=
+USE_MINGW=
 USE_DATA_GENERAL=
 
 USE_DATA_GENERAL=
 
+dnl the list of all available toolkits
+ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE"
+
 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
 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
@@ -176,14 +580,39 @@ case "${host}" in
     AC_DEFINE(__SVR4__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
     AC_DEFINE(__SVR4__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
+
+  *-*-cygwin32* )
+    USE_UNIX=0
+    AC_DEFINE(__WIN32__)
+    AC_DEFINE(__WIN95__)
+    AC_DEFINE(__WINDOWS__)
+    AC_DEFINE(__GNUWIN32__)
+    AC_DEFINE(STRICT)
+    AC_DEFINE(WINVER, 0x0400)
+    DEFAULT_DEFAULT_wxUSE_MSW=1
+  ;;
+  *-*-mingw32* )
+    USE_UNIX=0
+    AC_DEFINE(__WIN32__)
+    AC_DEFINE(__WIN95__)
+    AC_DEFINE(__WINDOWS__)
+    AC_DEFINE(__GNUWIN32__)
+    AC_DEFINE(STRICT)
+    AC_DEFINE(WINVER, 0x0400)
+    DEFAULT_DEFAULT_wxUSE_MSW=1
+  ;;
+
+  *-pc-os2_emx )
+    AC_DEFINE(__EMX__)
+  ;;
+
   *)
   *)
-    AC_MSG_ERROR(unknown system type $(host).)
+    AC_MSG_ERROR(unknown system type ${host}.)
 esac
 
 if test "$USE_UNIX" = 1 ; then
   wxUSE_UNIX=yes
   AC_DEFINE(__UNIX__)
 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
   SRC_SUBDIRS="$SRC_SUBDIRS unix"
   INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
 fi
@@ -193,16 +622,6 @@ if test "$USE_LINUX" = 1; then
   AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
 fi
 
   AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
 fi
 
-dnl TODO cross-compiling for Windows not yet supported
-AC_DEFINE(__UNIX__)
-
-dnl if eval "test $USE_CYGWIN != 1 -a $USE_MINGW32 != 1"; then
-dnl   AC_DEFINE(__UNIX__)
-dnl else
-dnl   AC_DEFINE(__WINDOWS__)
-dnl   DEFAULT_wxUSE_MSW=1
-dnl fi
-
 dnl ---------------------------------------------------------------------------
 dnl command line options for configure
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl command line options for configure
 dnl ---------------------------------------------------------------------------
@@ -221,8 +640,13 @@ DEBUG_CONFIGURE=0
 if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_THREADS=yes
 
 if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_THREADS=yes
 
-  DEFAULT_wxUSE_OPTIMISE=no
+  DEFAULT_wxUSE_SHARED=yes
+  DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_PROFILE=no
+  DEFAULT_wxUSE_NO_DEPS=no
+  DEFAULT_wxUSE_NO_RTTI=no
+  DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
   DEFAULT_wxUSE_DEBUG_GDB=yes
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
   DEFAULT_wxUSE_DEBUG_GDB=yes
@@ -237,17 +661,19 @@ if test $DEBUG_CONFIGURE = 1; then
 
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
 
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
-  DEFAULT_wxUSE_LIBGIF=no
   DEFAULT_wxUSE_LIBJPEG=no
   DEFAULT_wxUSE_ODBC=no
 
   DEFAULT_wxUSE_LIBJPEG=no
   DEFAULT_wxUSE_ODBC=no
 
+  DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_FILE=no
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_TIMEDATE=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_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_STREAMS=no
   DEFAULT_wxUSE_SOCKETS=no
+  DEFAULT_wxUSE_DIALUP_MANAGER=no
   DEFAULT_wxUSE_SERIAL=no
   DEFAULT_wxUSE_JOYSTICK=no
   DEFAULT_wxUSE_DYNLIB_CLASS=no
   DEFAULT_wxUSE_SERIAL=no
   DEFAULT_wxUSE_JOYSTICK=no
   DEFAULT_wxUSE_DYNLIB_CLASS=no
@@ -276,7 +702,16 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_METAFILE=no
 
   DEFAULT_wxUSE_COMMONDLGS=no
   DEFAULT_wxUSE_METAFILE=no
 
   DEFAULT_wxUSE_COMMONDLGS=no
+  DEFAULT_wxUSE_DIRDLG=no
+  DEFAULT_wxUSE_TEXTDLG=no
+  DEFAULT_wxUSE_STARTUP_TIPS=no
+  DEFAULT_wxUSE_PROGRESSDLG=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_MINIFRAME=no
+  DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_FS_INET=no
+  DEFAULT_wxUSE_FS_ZIP=no
+  DEFAULT_wxUSE_BUSYINFO=no
+  DEFAULT_wxUSE_ZIPSTREAM=no
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=no
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=no
@@ -284,6 +719,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLST=no
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLST=no
+  DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
@@ -308,11 +744,20 @@ if test $DEBUG_CONFIGURE = 1; then
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
+
+  DEFAULT_wxUSE_GIF=no
+  DEFAULT_wxUSE_PCX=no
+  DEFAULT_wxUSE_PNM=no
 else
   DEFAULT_wxUSE_THREADS=yes
 
 else
   DEFAULT_wxUSE_THREADS=yes
 
+  DEFAULT_wxUSE_SHARED=yes
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
+  DEFAULT_wxUSE_NO_DEPS=no
+  DEFAULT_wxUSE_NO_RTTI=no
+  DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
   DEFAULT_wxUSE_DEBUG_GDB=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
   DEFAULT_wxUSE_DEBUG_GDB=no
@@ -327,17 +772,19 @@ else
 
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
 
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
-  DEFAULT_wxUSE_LIBGIF=yes
   DEFAULT_wxUSE_LIBJPEG=yes
   DEFAULT_wxUSE_ODBC=no
 
   DEFAULT_wxUSE_LIBJPEG=yes
   DEFAULT_wxUSE_ODBC=no
 
+  DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_FILE=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_TIMEDATE=yes
   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_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_STREAMS=yes
   DEFAULT_wxUSE_SOCKETS=yes
+  DEFAULT_wxUSE_DIALUP_MANAGER=yes
   DEFAULT_wxUSE_SERIAL=yes
   DEFAULT_wxUSE_JOYSTICK=yes
   DEFAULT_wxUSE_DYNLIB_CLASS=yes
   DEFAULT_wxUSE_SERIAL=yes
   DEFAULT_wxUSE_JOYSTICK=yes
   DEFAULT_wxUSE_DYNLIB_CLASS=yes
@@ -366,7 +813,16 @@ else
   DEFAULT_wxUSE_METAFILE=yes
 
   DEFAULT_wxUSE_COMMONDLGS=yes
   DEFAULT_wxUSE_METAFILE=yes
 
   DEFAULT_wxUSE_COMMONDLGS=yes
+  DEFAULT_wxUSE_DIRDLG=yes
+  DEFAULT_wxUSE_TEXTDLG=yes
+  DEFAULT_wxUSE_STARTUP_TIPS=yes
+  DEFAULT_wxUSE_PROGRESSDLG=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_MINIFRAME=yes
+  DEFAULT_wxUSE_HTML=yes
+  DEFAULT_wxUSE_FS_INET=yes
+  DEFAULT_wxUSE_FS_ZIP=yes
+  DEFAULT_wxUSE_BUSYINFO=yes
+  DEFAULT_wxUSE_ZIPSTREAM=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
@@ -374,6 +830,7 @@ else
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLST=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_COMBOBOX=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
@@ -398,6 +855,10 @@ else
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
+
+  DEFAULT_wxUSE_GIF=yes
+  DEFAULT_wxUSE_PCX=yes
+  DEFAULT_wxUSE_PNM=yes
 fi
 
 dnl WX_ARG_WITH should be used to select whether an external package will be
 fi
 
 dnl WX_ARG_WITH should be used to select whether an external package will be
@@ -408,34 +869,110 @@ dnl ============================
 dnl external package dependecies
 dnl ============================
 
 dnl external package dependecies
 dnl ============================
 
-dnl TODO should support these options!
-dnl
-dnl AC_ARG_WITH(gtk-prefix,    [  --with-gtk-prefix=PFX   prefix where GTK is installed],
-dnl             gtk_config_prefix="$withval", gtk_config_prefix="")
-dnl AC_ARG_WITH(gtk-exec-prefix,
-dnl                            [  --with-gtk-exec-prefix=PFX  exec prefix where GTK is installed], gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
-
 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
 dnl these values manually
 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
 dnl these values manually
-for toolkit in GTK MOTIF MSW; do
+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"
   LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
   if test "x$LINE" != x ; then
     has_toolkit_in_cache=1
     eval "DEFAULT_$LINE"
-    echo $LINE >> ${wx_arg_cache_file}.tmp
+    eval "CACHE_$toolkit=1"
   fi
 done
 
   fi
 done
 
-AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(cygwin,        [  --with-cygwin           use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(mingw,         [  --with-mingw            use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" TOOLKIT_GIVEN=1])
+dnl ---------------------------------------------------------------------------
+dnl --disable-gui will build only non-GUI part of wxWindows: check for this
+dnl first to disable many other switches if it's given
+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 disable everything GUI related then
+if test "$wxUSE_GUI" = "no"; then
+  DEFAULT_wxUSE_ZLIB=no
+  DEFAULT_wxUSE_LIBPNG=no
+  DEFAULT_wxUSE_LIBJPEG=no
+  DEFAULT_wxUSE_SOCKETS=no
+  DEFAULT_wxUSE_JOYSTICK=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_TEXTDLG=no
+  DEFAULT_wxUSE_STARTUP_TIPS=no
+  DEFAULT_wxUSE_PROGRESSDLG=no
+  DEFAULT_wxUSE_MINIFRAME=no
+  DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_FS_INET=no
+  DEFAULT_wxUSE_FS_ZIP=no
+  DEFAULT_wxUSE_BUSYINFO=no
+  DEFAULT_wxUSE_ZIPSTREAM=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=yes
+  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_GIF=no
+  DEFAULT_wxUSE_PCX=no
+  DEFAULT_wxUSE_PNM=no
+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])
+
+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="")
 
 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(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)
 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)
@@ -448,8 +985,8 @@ dnl ---------------------------------------------------------------------------
 dnl compile options
 dnl ---------------------------------------------------------------------------
 
 dnl compile options
 dnl ---------------------------------------------------------------------------
 
+WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
-WX_ARG_ENABLE(optimize,    [  --enable-optimize       create optimized code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
 if test "$wxUSE_DEBUG" = "yes"; then
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
 if test "$wxUSE_DEBUG" = "yes"; then
@@ -460,42 +997,44 @@ elif test "$wxUSE_DEBUG" = "no"; then
   DEFAULT_wxUSE_DEBUG_INFO=no
 fi
 
   DEFAULT_wxUSE_DEBUG_INFO=no
 fi
 
-WX_ARG_ENABLE(debug_flag,  [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
-WX_ARG_ENABLE(debug_info,  [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
-WX_ARG_ENABLE(debug_gdb,   [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
-WX_ARG_ENABLE(debug_cntxt, [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
-WX_ARG_ENABLE(mem_tracing, [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
-WX_ARG_ENABLE(profile,     [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
-
-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)
+WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
+WX_ARG_ENABLE(debug_info,    [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
+WX_ARG_ENABLE(debug_gdb,     [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
+WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
+WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
+WX_ARG_ENABLE(profile,       [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
+WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI information], wxUSE_NO_RTTI)
+WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without exceptions information], wxUSE_NO_EXCEPTIONS)
+WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
+WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without dependency information], wxUSE_NO_DEPS)
 
 dnl ---------------------------------------------------------------------------
 dnl (small) optional non GUI classes
 dnl ---------------------------------------------------------------------------
 
 
 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(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(joystick,    [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
+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(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
+WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
+WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
+WX_ARG_ENABLE(timedate,      [  --enable-timedate       use date/time classes], wxUSE_TIMEDATE)
+WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
+WX_ARG_ENABLE(fraction,      [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
+WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
+WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
+WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
+WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
+WX_ARG_ENABLE(file,          [  --enable-file           use wxFile classes], wxUSE_FILE)
+WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile classes], wxUSE_TEXTFILE)
+WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
+WX_ARG_ENABLE(wcsrtombs,     [  --enable-wcsrtombs      use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
+WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
+WX_ARG_ENABLE(joystick,      [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
+WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
+WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
+WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
 
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
 
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
@@ -557,6 +1096,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=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_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -585,6 +1125,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLISTBOX=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_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
@@ -613,7 +1154,8 @@ WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_
 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(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(combobox,    [  --enable-combobox       use wxChoice and wxComboBox classes], wxUSE_COMBOBOX)
+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(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)
@@ -640,10 +1182,24 @@ dnl misc GUI options
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
+WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
+WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
+WX_ARG_ENABLE(tipdlg,      [  --enable-tipdlg         use startup tips], wxUSE_STARTUP_TIPS)
+WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
+WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
+WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
+
+dnl ---------------------------------------------------------------------------
+dnl support for image formats that do not rely on external library
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(gif,         [  --enable-gif            use gif images (GIF file format)], wxUSE_GIF)
+WX_ARG_ENABLE(pcx,         [  --enable-pcx            use pcx images (PCX file format)], wxUSE_PCX)
+WX_ARG_ENABLE(pnm,         [  --enable-pnm            use pnm images (PNM file format)], wxUSE_PNM)
 
 dnl cache the options values before (may be) aborting below
 WX_ARG_CACHE_FLUSH
 
 dnl cache the options values before (may be) aborting below
 WX_ARG_CACHE_FLUSH
@@ -653,16 +1209,18 @@ dnl we have a default one
 
 AC_MSG_CHECKING(for toolkit)
 
 
 AC_MSG_CHECKING(for toolkit)
 
+if test "$wxUSE_GUI" = "yes"; then
+
 if test "$TOOLKIT_GIVEN" = 1; then
   dnl convert "yes" to 1 and "no" to 0
 if test "$TOOLKIT_GIVEN" = 1; then
   dnl convert "yes" to 1 and "no" to 0
-  for toolkit in GTK MOTIF MSW WINE; do
+  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
     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 GTK MOTIF MSW WINE; do
+  for toolkit in `echo $ALL_TOOLKITS`; do
     if test "$has_toolkit_in_cache" != 1; then
       var=DEFAULT_DEFAULT_wxUSE_$toolkit
     else
     if test "$has_toolkit_in_cache" != 1; then
       var=DEFAULT_DEFAULT_wxUSE_$toolkit
     else
@@ -672,9 +1230,8 @@ else
   done
 fi
 
   done
 fi
 
-dnl NB: this supposes that the shell is able to handle arithmetic expansion and
-dnl     the ${VAR:-VALUE} construction. It does simplify our life though...
-NUM_TOOLKITS="$((${wxUSE_GTK:-0}+${wxUSE_MOTIF:-0}+${wxUSE_WINE:-0}+${wxUSE_MSW:-0}))"
+dnl we suppose that expr exists...
+NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}`
 
 case "$NUM_TOOLKITS" in
   1)
 
 case "$NUM_TOOLKITS" in
   1)
@@ -687,17 +1244,26 @@ case "$NUM_TOOLKITS" in
 esac
 
 dnl cache the wxUSE_<TOOLKIT> values too
 esac
 
 dnl cache the wxUSE_<TOOLKIT> values too
-for toolkit in GTK MOTIF MSW WINE; do
+for toolkit in `echo $ALL_TOOLKITS`; do
   var=wxUSE_$toolkit
   eval "value=\$${var}"
   if test "x$value" != x; then
   var=wxUSE_$toolkit
   eval "value=\$${var}"
   if test "x$value" != x; then
-    echo "$var=$value" >> ${wx_arg_cache_file}
+    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
 
     if test "$value" = 1; then
       AC_MSG_RESULT(`echo $toolkit | tr [[A-Z]] [[a-z]]`)
     fi
   fi
 done
 
+dnl from "if wxUSE_GUI"
+else
+    AC_MSG_RESULT(base only)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for programs
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Checks for programs
 dnl ---------------------------------------------------------------------------
@@ -708,11 +1274,15 @@ 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
 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"
+  if eval "test $host_alias != NONE"; then
+    CC=$host_alias-gcc
+    CXX=$host_alias-c++
+    AR=$host_alias-ar
+    RANLIB=$host_alias-ranlib
+    DLLTOOL=$host_alias-dlltool
+    LD=$host_alias-ld
+    NM=$host_alias-nm
+    STRIP=$host_alias-strip
   fi
 fi
 
   fi
 fi
 
@@ -808,19 +1378,11 @@ AC_PROG_YACC
 dnl LEX checks
 dnl   defines LEX with the appropriate command
 dnl   defines LEXLIB with the appropriate library
 dnl LEX checks
 dnl   defines LEX with the appropriate command
 dnl   defines LEXLIB with the appropriate library
-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
-AM_PROG_LEX
+AC_PROG_LEX
 
 dnl needed for making link to setup.h
 AC_PROG_LN_S
 
 
 dnl needed for making link to setup.h
 AC_PROG_LN_S
 
-dnl libtool checks (disable static libs by default, this takes too much time...)
-AM_DISABLE_STATIC
-AM_PROG_LIBTOOL
-
 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 ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -832,6 +1394,8 @@ SEARCH_INCLUDE="\
                               \
     /usr/include/Motif1.2     \
     /opt/xpm/include/X11      \
                               \
     /usr/include/Motif1.2     \
     /opt/xpm/include/X11      \
+    /opt/GBxpm/include/       \
+    /opt/GBxpm/X11/include/   \
                               \
     /usr/Motif1.2/include     \
     /usr/dt/include           \
                               \
     /usr/Motif1.2/include     \
     /usr/dt/include           \
@@ -877,6 +1441,7 @@ SEARCH_INCLUDE="\
     /usr/include/qt           \
     /usr/local/include/qt     \
                               \
     /usr/include/qt           \
     /usr/local/include/qt     \
                               \
+    /usr/include/windows      \
     /usr/include/wine         \
     /usr/local/include/wine   \
                               \
     /usr/include/wine         \
     /usr/local/include/wine   \
                               \
@@ -902,11 +1467,15 @@ dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
 
 dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
 
+if test "$wxUSE_GUI" = "yes"; then
+
 TOOLKIT=
 TOOLKIT=
-TOOLKIT_DEF=
-TOOLKIT_DIR=
 TOOLKIT_INCLUDE=
 
 TOOLKIT_INCLUDE=
 
+GUIOBJS=
+COMMONOBJS=
+GENERICOBJS=
+
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
@@ -914,17 +1483,61 @@ WXGTK12=
 
 WXWINE=
 
 
 WXWINE=
 
+dnl Extension for programs; '.exe' for msw builds
+PROGRAM_EXT=
+
+if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
+    if test "$cross_compiling" = "yes" ; then
+        AC_MSG_WARN(Cross compiling --- skipping windows.h check)
+    else
+        AC_MSG_CHECKING(for Windows headers)
+        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
+    fi
+
+    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
+    dnl --- Quick & Dirty ; link against most/all libraries
+    dnl --- This will bloat the executable, but it'll work for now...
+    LIBS="$LIBS  -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
+
+    TOOLKIT=MSW
+
+    GUIOBJS="\$(MSW_GUIOBJS)"
+    GUIHEADERS="\$(MSW_HEADERS)"
+    COMMONOBJS="\$(MSW_COMMONOBJS)"
+    GENERICOBJS="\$(MSW_GENERICOBJS)"
+    UNIXOBJS=
+    GUIDIST=MSW_DIST
+    PROGRAM_EXT=.exe
+fi
+
 if test "$wxUSE_GTK" = 1; then
 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
+    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
+
+    TOOLKIT_INCLUDE="$GTK_CFLAGS"
+    GUI_TK_LIBRARY="$GTK_LIBS"
+    TOOLKIT=GTK
 
 
-  TOOLKIT_INCLUDE="$GTK_CFLAGS"
-  GUI_TK_LIBRARY="$GTK_LIBS"
-  TOOLKIT=GTK
+    GUIOBJS="\$(GTK_GUIOBJS)"
+    GUIHEADERS="\$(GTK_HEADERS)"
+    COMMONOBJS="\$(GTK_COMMONOBJS)"
+    GENERICOBJS="\$(GTK_GENERICOBJS)"
+    GUIDEPS="\$(GTK_GUIDEPS)"
+    COMMONDEPS="\$(GTK_COMMONDEPS)"
+    GENERICDEPS="\$(GTK_GENERICDEPS)"
+    UNIXOBJS="\$(UNIX_OBJS)"
+    GUIDIST=GTK_DIST
 fi
 
 if test "$wxUSE_WINE" = 1; then
 fi
 
 if test "$wxUSE_WINE" = 1; then
@@ -942,9 +1555,8 @@ if test "$wxUSE_WINE" = 1; then
     AC_MSG_CHECKING(for Xpm library)
     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
     if test "$ac_find_libraries" != "" ; then
     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 "
+        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_DEFINE(wxHAVE_LIB_XPM)
         AC_MSG_RESULT(found at $ac_find_libraries)
     else
@@ -952,10 +1564,31 @@ if test "$wxUSE_WINE" = 1; then
         AC_MSG_WARN(library will be compiled without support for images in XPM format)
     fi
 
         AC_MSG_WARN(library will be compiled without support for images in XPM format)
     fi
 
-    GUI_TK_LINK="-lwine $XPM_LINK -lXmu -lX11 -lm"
+    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
+
+    GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     WXWINE=1
     TOOLKIT=MSW
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     WXWINE=1
     TOOLKIT=MSW
+
+    GUIHEADERS="\$(MSW_HEADERS)"
+    GUIOBJS="\$(MSW_GUIOBJS)"
+    COMMONOBJS="\$(MSW_COMMONOBJS)"
+    GENERICOBJS="\$(MSW_GENERICOBJS)"
+    GUIDEPS="\$(MSW_GUIDEPS)"
+    COMMONDEPS="\$(MSW_COMMONDEPS)"
+    GENERICDEPS="\$(MSW_GENERICDEPS)"
+    UNIXOBJS="\$(UNIX_OBJS)"
+    GUIDIST=MSW_DIST
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
@@ -1021,20 +1654,158 @@ if test "$wxUSE_MOTIF" = 1; then
     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
+
+    GUIHEADERS="\$(MOTIF_HEADERS)"
+    GUIOBJS="\$(MOTIF_GUIOBJS)"
+    COMMONOBJS="\$(MOTIF_COMMONOBJS)"
+    GENERICOBJS="\$(MOTIF_GENERICOBJS)"
+    GUIDEPS="\$(MOTIF_GUIDEPS)"
+    COMMONDEPS="\$(MOTIF_COMMONDEPS)"
+    GENERICDEPS="\$(MOTIF_GENERICDEPS)"
+    UNIXOBJS="\$(UNIX_OBJS)"
+    GUIDIST=MOTIF_DIST
+fi
+
+dnl someone explicitly added -ldl to the list of libraries for these targets -
+dnl I don't know why has this been done, but let's respect this - with the
+dnl exception of the systems which don't have libdl at all (VZ)
+if test "$wxUSE_GTK" = 1 || test "$wxUSE_MOTIF" = 1 || test "$wxUSE_WINE" = 1; then
+    AC_CHECK_LIB(dl, main, GUI_TK_LIBRARY="$GUI_TK_LIBRARY -ldl")
 fi
 
 dnl the name of the directory where the files for this toolkit live
 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
 
 dnl the symbol which allows conditional compilation for the given toolkit
 fi
 
 dnl the name of the directory where the files for this toolkit live
 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
 
 dnl the symbol which allows conditional compilation for the given toolkit
-TOOLKIT_DEF=-D__WX${TOOLKIT}__
+TOOLKIT_DEF="-D__WX${TOOLKIT}__"
 
 dnl the name of the (libtool) library
 
 dnl the name of the (libtool) library
-WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
-
-dnl the name of the library to be linked reported by wx-config
 WX_LIBRARY="wx_${TOOLKIT_DIR}"
 
 WX_LIBRARY="wx_${TOOLKIT_DIR}"
 
+    dnl the sources, their dependenices and the headers
+    ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(JPEGOBJS) \$(PNGOBJS) \$(ZLIBOBJS)"
+    ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS)"
+    ALL_HEADERS="\$(GUIHEADERS) \$(HTML_HEADERS) \$(UNIX_HEADERS) \$(PROTOCOL_HEADERS) \$(GENERIC_HEADERS) \$(WX_HEADERS)"
+else
+    dnl leave all TOOLKIT_XXX vars empty
+
+    dnl the sources, their dependenices and the headers
+    ALL_OBJECTS="\$(BASE_OBJS)"
+    ALL_DEPFILES="\${BASE_DEPS}"
+    ALL_HEADERS="\${BASE_HEADERS}"
+
+    dnl building wxBase only
+    WX_LIBRARY="wxbase"
+fi
+
+dnl the name of the (libtool) library
+WX_LIBRARY_NAME="lib${WX_LIBRARY}.la"
+
+dnl the name of the static library
+WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
+
+dnl the name of the shared library
+WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+
+dnl the name of the links to the shared library
+WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}"
+WX_LIBRARY_LINK2="lib${WX_LIBRARY}-${WX_RELEASE}.so"
+WX_LIBRARY_LINK3="lib${WX_LIBRARY}.so"
+
+dnl shared library settings
+SHARED_LD=
+PIC_FLAG=
+WX_CREATE_LINKS=
+
+if test "$wxUSE_SHARED" = "yes"; then
+    dnl set target to shared
+    WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
+
+case "${host}" in
+  *-hp-hpux* )
+    WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl"
+    SHARED_LD="${CXX} -b -o"
+    PIC_FLAG="+Z"
+  ;;
+  *-*-linux* )
+    SHARED_LD="${CC} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-irix5* | *-*-irix6* )
+    if test "$GCC" = yes ; then
+       SHARED_LD="${CC} -shared -o"
+       PIC_FLAG="-fPIC"
+    else
+       SHARED_LD="${CXX} -shared -o"
+    fi
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-solaris2* )
+    if test "$GCC" = yes ; then
+       SHARED_LD="${CC} -shared -o"
+       PIC_FLAG="-fPIC"
+    else
+       SHARED_LD="${CXX} -G -o"
+       PIC_FLAG="PIC"
+    fi
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-sunos4* )
+    SHARED_LD="${CC} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-freebsd* | *-*-netbsd*)
+    SHARED_LD="${CC} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-osf* )
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-dgux5* )
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-sysv5* )
+    SHARED_LD="${CC} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_INSTALLED_LINKS="CREATE_INSTALLED_LINKS"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-aix* )
+    SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
+  ;;
+  *-*-cygwin32* )
+    dnl only static for now
+    WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
+  ;;
+  *-*-mingw32* )
+    dnl only static for now
+    WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
+  ;;
+  *-pc-os2_emx )
+  ;;
+  *)
+    AC_MSG_ERROR(unknown system type ${host}.)
+esac
+
+else
+    dnl set target to static
+    WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
+fi
+
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
@@ -1049,8 +1820,11 @@ dnl defines HAVE_WCSTR_H
 AC_CHECK_HEADERS(wcstr.h)
 dnl defines HAVE_FNMATCH_H
 AC_CHECK_HEADERS(fnmatch.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)
+
+if test "$wxUSE_GUI" = "yes"; then
+    dnl defines HAVE_X11_XKBLIB_H
+    AC_CHECK_HEADERS(X11/XKBlib.h)
+fi
 
 dnl ---------------------------------------------------------------------------
 dnl Checks for typedefs
 
 dnl ---------------------------------------------------------------------------
 dnl Checks for typedefs
@@ -1102,6 +1876,9 @@ WX_CPP_BOOL
 dnl check whether overloading on size_t/int parameter works
 WX_CPP_SIZE_T_IS_NOT_INT
 
 dnl check whether overloading on size_t/int parameter works
 WX_CPP_SIZE_T_IS_NOT_INT
 
+dnl check whether we should define _GNU_SOURCE
+WX_GNU_EXTENSIONS
+
 dnl ---------------------------------------------------------------------------
 dnl Check for functions
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Check for functions
 dnl ---------------------------------------------------------------------------
@@ -1126,6 +1903,46 @@ AC_CHECK_FUNCS(vsnprintf,
                AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
               )
 
                AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
               )
 
+dnl check for vsscanf() - on some platforms (Linux, glibc 2.1.1) it's
+dnl available in the library but the prototype is missing, so we can't use
+dnl AC_CHECK_FUNCS here, do it manually
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
+[
+  AC_TRY_RUN(
+             [
+                #include <stdio.h>
+                #include <stdarg.h>
+
+                int try_vsscanf(const char *format, ...)
+                {
+                  va_list ap;
+                  va_start(ap, format);
+
+                  vsscanf("17", format, ap);
+
+                  va_end(ap);
+                }
+
+                int main()
+                {
+                  int i;
+                  try_vsscanf("%d", &i);
+                  return i == 17 ? 0 : 1;
+                }
+             ], [
+                AC_DEFINE(HAVE_VSSCANF)
+                wx_cv_func_vsscanf=yes
+             ],
+             wx_cv_func_vsscanf=no,
+             wx_cv_func_vsscanf=no
+             )
+])
+
+AC_LANG_RESTORE
+
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
@@ -1144,6 +1961,14 @@ AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
+dnl check for MT-safe version of strtok
+AC_CHECK_FUNCS(strtok_r)
+
+dnl check for inet_addr, inet_aton, ...
+AC_CHECK_FUNCS(inet_addr)
+AC_CHECK_FUNCS(inet_aton)
+AC_CHECK_LIB(resolv, inet_aton)
+
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
 dnl ===========================================================================
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
 dnl ===========================================================================
@@ -1152,9 +1977,11 @@ dnl flush the cache
 AC_CACHE_SAVE
 
 dnl ---------------------------------------------------------------------------
 AC_CACHE_SAVE
 
 dnl ---------------------------------------------------------------------------
-dnl thread support
+dnl thread support for Unix (always available under Win32)
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
 
+if test "$USE_UNIX" = 1; then
+
 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 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
@@ -1163,7 +1990,14 @@ dnl   defines wxUSE_THREADS=1 if thread support is activated
 THREADS_LINK=""
 THREADS_OBJ=""
 
 THREADS_LINK=""
 THREADS_OBJ=""
 
-if test "$wxUSE_THREADS" = "yes"; then
+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
+
+if test "$wxUSE_THREADS" = "yes" ; then
     dnl find if POSIX threads are available
 
     dnl standard lib name is pthread
     dnl find if POSIX threads are available
 
     dnl standard lib name is pthread
@@ -1184,26 +2018,15 @@ if test "$wxUSE_THREADS" = "yes"; then
                 ])
             ])
         ])
                 ])
             ])
         ])
-    if test "$THREADS_LINK" != ""; then
-        AC_DEFINE(wxUSE_THREADS)
-    else
+
+    if test -z "$THREADS_OBJ" ; then
+        wxUSE_THREADS=no
         AC_MSG_WARN(No thread support on this system)
     fi
 fi
 
         AC_MSG_WARN(No thread support on this system)
     fi
 fi
 
-if test -z "$THREADS_OBJ"; then
-  wxUSE_THREADS=no
-fi
-
 dnl do other tests only if we are using threads
 dnl do other tests only if we are using threads
-if test "$wxUSE_THREADS" = "yes"; then
-  dnl must define _REENTRANT for multithreaded code
-  CFLAGS="${CFLAGS} -D_REENTRANT"
-  CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
-
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
-dnl  LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
-
+if test "$wxUSE_THREADS" = "yes" ; then
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
@@ -1265,6 +2088,19 @@ dnl  LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
   THREADS_LINK="-l$THREADS_LINK"
 fi
 
   THREADS_LINK="-l$THREADS_LINK"
 fi
 
+dnl from if USE_UNIX
+fi
+
+if test "$wxUSE_THREADS" = "yes"; then
+  AC_DEFINE(wxUSE_THREADS)
+
+  dnl must define _REENTRANT for multithreaded code
+  CFLAGS="${CFLAGS} -D_REENTRANT"
+  CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
+fi
+
 if test "$WXGTK12" = 1 ; then
   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
 fi
 if test "$WXGTK12" = 1 ; then
   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
 fi
@@ -1273,54 +2109,79 @@ if test "$WXWINE" = 1 ; then
   TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
 fi
 
   TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
 fi
 
-WXDEBUG=
-if test "$wxUSE_DEBUG_GDB" = "yes" ; then
-    wxUSE_DEBUG_INFO=yes
-    WXDEBUG="-ggdb"
+if test "$wxUSE_CYGWIN" = 1 ; then
+  TOOLKIT_DEF="${TOOLKIT_DEF} -D__WIN95__"
 fi
 
 fi
 
+WXDEBUG=
+
 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
     WXDEBUG="-g"
     wxUSE_OPTIMISE=no
 fi
 
 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
     WXDEBUG="-g"
     wxUSE_OPTIMISE=no
 fi
 
+if test "$wxUSE_DEBUG_GDB" = "yes" ; then
+    wxUSE_DEBUG_INFO=yes
+    WXDEBUG="-ggdb"
+fi
+
 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
-  AC_DEFINE(WXDEBUG)
-  WXDEBUG_DEFINE="-D__WXDEBUG__"
+    AC_DEFINE(WXDEBUG)
+    WXDEBUG_DEFINE="-D__WXDEBUG__"
 else
 else
-  WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
+    if test "$wxUSE_GTK" = 1 ; then
+        WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
+    fi
 fi
 
 if test "$wxUSE_MEM_TRACING" = "yes" ; then
 fi
 
 if test "$wxUSE_MEM_TRACING" = "yes" ; then
-  AC_DEFINE(wxUSE_MEMORY_TRACING)
-  AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
+    AC_DEFINE(wxUSE_MEMORY_TRACING)
+    AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
 fi
 
 if test "$wxUSE_DMALLOC" = "yes" ; then
 fi
 
 if test "$wxUSE_DMALLOC" = "yes" ; then
-  DMALLOC_LINK="-ldmalloc"
+    DMALLOC_LINK="-ldmalloc"
 fi
 
 PROFILE=
 if test "$wxUSE_PROFILE" = "yes" ; then
 fi
 
 PROFILE=
 if test "$wxUSE_PROFILE" = "yes" ; then
-  PROFILE="-pg"
+    PROFILE="-pg"
 fi
 
 fi
 
+DEP_INFO_FLAGS=
+if test "$GCC" = yes ; then
+    if test "$wxUSE_NO_RTTI" = "yes" ; then
+        WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti"
+    fi
+    if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
+        WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-exceptions"
+    fi
+    if test "$wxUSE_PERMISSIVE" = "yes" ; then
+       CFLAGS="${CFLAGS} -fpermissive"
+       CXXFLAGS="${CXXFLAGS} -fpermissive"
+    fi
+    if test "$wxUSE_NO_DEPS" = "no" ; then
+        DEP_INFO_FLAGS="-MMD"
+    fi
+fi
+
+
 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
 if test "$wxUSE_OPTIMISE" = "no" ; then
 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
 if test "$wxUSE_OPTIMISE" = "no" ; then
-  OPTIMISE=
+    OPTIMISE=
 else
 else
-  if test "$GCC" = yes ; then
-    OPTIMISE="-O2"
-    case "${host}" in
-      i586-*-*|i686-*-* )
-        OPTIMISE="${OPTIMISE} "
-    ;;
-    esac
-  else
-    OPTIMISE="-O"
-  fi
+    if test "$GCC" = yes ; then
+        OPTIMISE="-O2"
+        case "${host}" in
+            i586-*-*|i686-*-* )
+            OPTIMISE="${OPTIMISE} "
+        ;;
+        esac
+    else
+        OPTIMISE="-O"
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -1330,44 +2191,20 @@ dnl ---------------------------------------------------------------------------
 ZLIB_INCLUDE=
 if test "$wxUSE_ZLIB" = "yes" ; then
   AC_DEFINE(wxUSE_ZLIB)
 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"
+  ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
 fi
 
 PNG_INCLUDE=
 if test "$wxUSE_LIBPNG" = "yes" ; then
   AC_DEFINE(wxUSE_LIBPNG)
 fi
 
 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"
+  PNG_INCLUDE="-I\${top_srcdir}/src/png"
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
 fi
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
 fi
 
-if test "$wxUSE_LIBGIF" = "yes" ; then
-  AC_DEFINE(wxUSE_LIBGIF)
-fi
-
 JPEG_INCLUDE=
 if test "$wxUSE_LIBJPEG" = "yes" ; then
   AC_DEFINE(wxUSE_LIBJPEG)
 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"
+  JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
 fi
 
 if test "$wxUSE_OPENGL" = "yes"; then
 fi
 
 if test "$wxUSE_OPENGL" = "yes"; then
@@ -1404,13 +2241,6 @@ if test "$wxUSE_GUI" = "yes"; then
   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    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
 else
   AC_DEFINE(wxUSE_NOGUI)
 fi
@@ -1436,10 +2266,34 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
 fi
 
   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_FILE" = "yes"; then
   AC_DEFINE(wxUSE_FILE)
 fi
 
+if test "$wxUSE_FS_INET" = "yes"; then
+  AC_DEFINE(wxUSE_FS_INET)
+fi
+
+if test "$wxUSE_FS_ZIP" = "yes"; then
+  AC_DEFINE(wxUSE_FS_ZIP)
+fi
+
+if test "$wxUSE_ZIPSTREAM" = "yes"; then
+  AC_DEFINE(wxUSE_ZIPSTREAM)
+fi
+
+if test "$wxUSE_BUSYINFO" = "yes"; then
+  AC_DEFINE(wxUSE_BUSYINFO)
+fi
+
+if test "$wxUSE_STD_IOSTREAM" = "yes"; then
+  AC_DEFINE(wxUSE_STD_IOSTREAM)
+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)
 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)
@@ -1480,11 +2334,15 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
         INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
     else
         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)
+        AC_MSG_WARN(Socket classes require --with-threads and won't be compiled without it)
         wxUSE_SOCKETS=0
     fi
 fi
 
         wxUSE_SOCKETS=0
     fi
 fi
 
+if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
+  AC_DEFINE(wxUSE_DIALUP_MANAGER)
+fi
+
 if test "$wxUSE_STREAMS" = "yes" ; then
   AC_DEFINE(wxUSE_STREAMS)
 fi
 if test "$wxUSE_STREAMS" = "yes" ; then
   AC_DEFINE(wxUSE_STREAMS)
 fi
@@ -1551,9 +2409,13 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
                     [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
 
     if test "$HAVE_DL_FUNCS" = 0; then
                     [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
 
     if test "$HAVE_DL_FUNCS" = 0; then
-        AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
-        wxUSE_ODBC=no
-        wxUSE_DYNLIB_CLASS=no
+        if test "$USE_UNIX" = 1; then
+            AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
+            wxUSE_ODBC=no
+            wxUSE_DYNLIB_CLASS=no
+        else
+            AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.")
+        fi
     fi
 fi
 
     fi
 fi
 
@@ -1562,7 +2424,7 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl Unicode
+dnl String stuff
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_UNICODE" = "yes" ; then
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_UNICODE" = "yes" ; then
@@ -1573,6 +2435,10 @@ if test "$wxUSE_WCSRTOMBS" = "yes" ; then
   AC_DEFINE(wxUSE_WCSRTOMBS)
 fi
 
   AC_DEFINE(wxUSE_WCSRTOMBS)
 fi
 
+if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
+  AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
+fi
+
 dnl ----------------------------------------------------------------
 dnl iODBC support
 dnl ----------------------------------------------------------------
 dnl ----------------------------------------------------------------
 dnl iODBC support
 dnl ----------------------------------------------------------------
@@ -1580,8 +2446,6 @@ dnl ----------------------------------------------------------------
 IODBC_C_SRC=""
 if test "$wxUSE_ODBC" = "yes" ; then
   AC_DEFINE(wxUSE_ODBC)
 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
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
 fi
 
@@ -1602,72 +2466,83 @@ dnl big GUI components: MDI, doc/view, printing, help, ...
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_CONSTRAINTS" = "yes"; then
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_CONSTRAINTS" = "yes"; then
-  AC_DEFINE(wxUSE_CONSTRAINTS)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
+    AC_DEFINE(wxUSE_CONSTRAINTS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
 fi
 
 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
 fi
 
 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
-  AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+    AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
 fi
 
 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
 fi
 
 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
+    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
 
 if test "$wxUSE_HELP" = "yes"; then
 fi
 
 if test "$wxUSE_HELP" = "yes"; then
-  AC_DEFINE(wxUSE_HELP)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
+    AC_DEFINE(wxUSE_HELP)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
 fi
 
 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
 fi
 
 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
-  AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
+    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
 
 if test "$wxUSE_PROLOGIO" = "yes" ; then
 fi
 
 if test "$wxUSE_PROLOGIO" = "yes" ; then
-  AC_DEFINE(wxUSE_PROLOGIO)
+    AC_DEFINE(wxUSE_PROLOGIO)
 fi
 
 if test "$wxUSE_RESOURCES" = "yes" ; then
 fi
 
 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
+    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_X_RESOURCES" = "yes"; then
 fi
 
 if test "$wxUSE_X_RESOURCES" = "yes"; then
-  AC_DEFINE(wxUSE_X_RESOURCES)
+    AC_DEFINE(wxUSE_X_RESOURCES)
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl IPC: IPC, d-n-d, clipboard, ...
+dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_IPC" = "yes"; then
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_IPC" = "yes"; then
-  AC_DEFINE(wxUSE_IPC)
+    AC_DEFINE(wxUSE_IPC)
 fi
 
 if test "$wxUSE_CLIPBOARD" = "yes"; then
 fi
 
 if test "$wxUSE_CLIPBOARD" = "yes"; then
-  AC_DEFINE(wxUSE_CLIPBOARD)
+    AC_DEFINE(wxUSE_CLIPBOARD)
 fi
 
 fi
 
-if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
-  if test "$WXGTK12" = 1 ; then
-    AC_DEFINE(wxUSE_DRAG_AND_DROP)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
-  else
-    AC_MSG_WARN(drag and drop is only supported under GTK 1.2)
-  fi
-  if test "$WXWINE" = 1 ; then
-    AC_MSG_WARN(drag and drop is only supported under WINE)
-  fi
+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 GTK+ 1.2])
+            wxUSE_DRAG_AND_DROP=no
+        fi
+    fi
+
+    if test "$wxUSE_MOTIF" = 1; then
+        AC_MSG_WARN([Drag and drop is not yet supported under Motif])
+        wxUSE_DRAG_AND_DROP=no
+    fi
+
+    if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
+        AC_DEFINE(wxUSE_DRAG_AND_DROP)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
+    fi
 fi
 
 if test "$wxUSE_SPLINES" = "yes" ; then
 fi
 
 if test "$wxUSE_SPLINES" = "yes" ; then
@@ -1691,6 +2566,10 @@ if test "$wxUSE_COMBOBOX" = "yes"; then
   AC_DEFINE(wxUSE_COMBOBOX)
 fi
 
   AC_DEFINE(wxUSE_COMBOBOX)
 fi
 
+if test "$wxUSE_CHOICE" = "yes"; then
+  AC_DEFINE(wxUSE_CHOICE)
+fi
+
 if test "$wxUSE_BMPBUTTON" = "yes"; then
   AC_DEFINE(wxUSE_BMPBUTTON)
 fi
 if test "$wxUSE_BMPBUTTON" = "yes"; then
   AC_DEFINE(wxUSE_BMPBUTTON)
 fi
@@ -1714,99 +2593,107 @@ if test "$wxUSE_GRID" = "yes"; then
 fi
 
 if test "$wxUSE_IMAGLIST" = "yes"; then
 fi
 
 if test "$wxUSE_IMAGLIST" = "yes"; then
-  AC_DEFINE(wxUSE_IMAGLIST)
+    AC_DEFINE(wxUSE_IMAGLIST)
 fi
 
 if test "$wxUSE_LISTBOX" = "yes"; then
 fi
 
 if test "$wxUSE_LISTBOX" = "yes"; then
-  AC_DEFINE(wxUSE_LISTBOX)
+    AC_DEFINE(wxUSE_LISTBOX)
 fi
 
 if test "$wxUSE_LISTCTRL" = "yes"; then
 fi
 
 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
+    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
 
 if test "$wxUSE_NOTEBOOK" = "yes"; then
 fi
 
 if test "$wxUSE_NOTEBOOK" = "yes"; then
-  AC_DEFINE(wxUSE_NOTEBOOK)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
+    AC_DEFINE(wxUSE_NOTEBOOK)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
 fi
 
 if test "$wxUSE_RADIOBOX" = "yes"; then
 fi
 
 if test "$wxUSE_RADIOBOX" = "yes"; then
-  AC_DEFINE(wxUSE_RADIOBOX)
+    AC_DEFINE(wxUSE_RADIOBOX)
 fi
 
 if test "$wxUSE_RADIOBTN" = "yes"; then
 fi
 
 if test "$wxUSE_RADIOBTN" = "yes"; then
-  AC_DEFINE(wxUSE_RADIOBTN)
+    AC_DEFINE(wxUSE_RADIOBTN)
 fi
 
 if test "$wxUSE_SASH" = "yes"; then
 fi
 
 if test "$wxUSE_SASH" = "yes"; then
-  AC_DEFINE(wxUSE_SASH)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
+    AC_DEFINE(wxUSE_SASH)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
 fi
 
 if test "$wxUSE_SCROLLBAR" = "yes"; then
 fi
 
 if test "$wxUSE_SCROLLBAR" = "yes"; then
-  AC_DEFINE(wxUSE_SCROLLBAR)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
+    AC_DEFINE(wxUSE_SCROLLBAR)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
 fi
 
 if test "$wxUSE_SLIDER" = "yes"; then
 fi
 
 if test "$wxUSE_SLIDER" = "yes"; then
-  AC_DEFINE(wxUSE_SLIDER)
+    AC_DEFINE(wxUSE_SLIDER)
 fi
 
 if test "$wxUSE_SPINBTN" = "yes"; then
 fi
 
 if test "$wxUSE_SPINBTN" = "yes"; then
-  AC_DEFINE(wxUSE_SPINBTN)
+    AC_DEFINE(wxUSE_SPINBTN)
 fi
 
 if test "$wxUSE_SPLITTER" = "yes"; then
 fi
 
 if test "$wxUSE_SPLITTER" = "yes"; then
-  AC_DEFINE(wxUSE_SPLITTER)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
+    AC_DEFINE(wxUSE_SPLITTER)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
 fi
 
 if test "$wxUSE_STATBMP" = "yes"; then
 fi
 
 if test "$wxUSE_STATBMP" = "yes"; then
-  AC_DEFINE(wxUSE_STATBMP)
+    AC_DEFINE(wxUSE_STATBMP)
 fi
 
 if test "$wxUSE_STATBOX" = "yes"; then
 fi
 
 if test "$wxUSE_STATBOX" = "yes"; then
-  AC_DEFINE(wxUSE_STATBOX)
+    AC_DEFINE(wxUSE_STATBOX)
 fi
 
 if test "$wxUSE_STATLINE" = "yes"; then
 fi
 
 if test "$wxUSE_STATLINE" = "yes"; then
-  AC_DEFINE(wxUSE_STATLINE)
+    if test "$wxUSE_WINE" = 1 ; then
+        AC_MSG_WARN([wxStaticLine is not supported under WINE])
+    else
+        AC_DEFINE(wxUSE_STATLINE)
+    fi
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
-  AC_DEFINE(wxUSE_STATUSBAR)
+    AC_DEFINE(wxUSE_STATUSBAR)
 fi
 
 if test "$wxUSE_TABDIALOG" = "yes"; then
 fi
 
 if test "$wxUSE_TABDIALOG" = "yes"; then
-  AC_DEFINE(wxUSE_TAB_DIALOG)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
+    AC_DEFINE(wxUSE_TAB_DIALOG)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
 fi
 
 if test "$wxUSE_TOOLBAR" = "yes"; then
 fi
 
 if test "$wxUSE_TOOLBAR" = "yes"; then
-  AC_DEFINE(wxUSE_TOOLBAR)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
+    AC_DEFINE(wxUSE_TOOLBAR)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
 fi
 
 fi
 
-if test "$wxUSE_TOOLTIPS" = "yes" ; then
-    if test "$wxUSE_MOTIF" = "yes"; then
-      AC_MSG_WARN(tooltips are not supported yet under Motif)
+if test "$wxUSE_TOOLTIPS" = "yes"; then
+    if test "$wxUSE_MOTIF" = 1; then
+        AC_MSG_WARN(wxTooltip not supported yet under Motif)
     else
     else
-      AC_DEFINE(wxUSE_TOOLTIPS)
+        if test "$wxUSE_WINE" = 1; then
+            AC_MSG_WARN(wxTooltip not supported under WINE)
+        else
+            AC_DEFINE(wxUSE_TOOLTIPS)
+        fi
     fi
 fi
 
 if test "$wxUSE_TREECTRL" = "yes"; then
     fi
 fi
 
 if test "$wxUSE_TREECTRL" = "yes"; then
-  if test "$wxUSE_IMAGLIST" = "yes"; then
-    AC_DEFINE(wxUSE_TREECTRL)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
-  else
-    AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
-  fi
+    if test "$wxUSE_IMAGLIST" = "yes"; then
+        AC_DEFINE(wxUSE_TREECTRL)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
+    else
+        AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -1819,87 +2706,114 @@ dnl   AC_DEFINE(wxUSE_WXTREE)
 dnl fi
 
 if test "$wxUSE_METAFILE" = "yes"; then
 dnl fi
 
 if test "$wxUSE_METAFILE" = "yes"; then
-  AC_DEFINE(wxUSE_METAFILE)
+    AC_DEFINE(wxUSE_METAFILE)
 fi
 
 fi
 
-if test "$wxUSE_COMMONDLGS" = "yes"; then
-  dnl these classes don't depend on anything at all
+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
+        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
 
 
-  if test "$wxUSE_CONSTRAINTS" != "yes"; then
-    AC_MSG_WARN(many common dialogs cannot be used without constraints so they won't be compiled without them)
-  else
-    AC_DEFINE(wxUSE_CONSTRAINTS)
+if test "$wxUSE_TEXTDLG" = "yes"; then
     AC_DEFINE(wxUSE_TEXTDLG)
     AC_DEFINE(wxUSE_TEXTDLG)
+fi
 
 
-    if test "$wxUSE_TREECTRL" != "yes"; then
-      AC_MSG_WARN(wxDirDialog cannot be used without wxTreeCtrl and it won't be compiled without it)
+if test "$wxUSE_STARTUP_TIPS" = "yes"; then
+    if test "$wxUSE_CONSTRAINTS" != "yes"; then
+       AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
     else
     else
-      AC_DEFINE(wxUSE_DIRDLG)
+        AC_DEFINE(wxUSE_STARTUP_TIPS)
     fi
     fi
-  fi
+fi
 
 
-  if test "$wxUSE_PRINTING_ARCHITECTURE" = "no"; then
-    AC_MSG_WARN([wxPrintDialog class won't be compiled without printing support])
-  fi
+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
+        AC_DEFINE(wxUSE_PROGRESSDLG)
+    fi
 fi
 
 if test "$wxUSE_MINIFRAME" = "yes"; then
 fi
 
 if test "$wxUSE_MINIFRAME" = "yes"; then
-  AC_DEFINE(wxUSE_MINIFRAME)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
+    AC_DEFINE(wxUSE_MINIFRAME)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
+fi
+
+if test "$wxUSE_HTML" = "yes"; then
+    AC_DEFINE(wxUSE_HTML)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html"
+    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS html"
 fi
 
 if test "$wxUSE_VALIDATORS" = "yes"; then
 fi
 
 if test "$wxUSE_VALIDATORS" = "yes"; then
-  AC_DEFINE(wxUSE_VALIDATORS)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
+    AC_DEFINE(wxUSE_VALIDATORS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
+fi
+
+if test "$wxUSE_GIF" = "yes" ; then
+  AC_DEFINE(wxUSE_GIF)
+fi
+
+if test "$wxUSE_PCX" = "yes" ; then
+  AC_DEFINE(wxUSE_PCX)
+fi
+
+if test "$wxUSE_PNM" = "yes" ; then
+  AC_DEFINE(wxUSE_PNM)
 fi
 
 dnl ---------------------------------------------------------------------------
 dnl Output the makefiles and such from the results found above
 dnl ---------------------------------------------------------------------------
 
 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
 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"
+EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK"
+if test "$wxUSE_GUI" = "yes"; then
+    EXTRA_LIBS="$EXTRA_LIBS $GUILIBS"
+fi
 
 
-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 the libraries needed to link wxWindows programs when using the
+dnl makefile system without libtool
+LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $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
 
 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"
+if test "$GXX" = yes ; then
+    dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
+    CXXWARNINGS="-Wall"
+    dnl FIXME: there is one weird warning in docview.h:71 which prevents me from
+    dnl        doing this... (VZ)
+    dnl CXXWARNINGS="-Wall -Werror"
 fi
 EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
 
 fi
 EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
 
+CPPFLAGS="-I\${top_srcdir}/include $CPPFLAGS"
 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
 CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
 
 if test "$wxUSE_GUI" = "yes"; then
 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 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 notepad wxpoem"
+    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 wxpoem"
+else
+    SAMPLES_SUBDIRS=""
 fi
 
 fi
 
-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 for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
 dnl for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
@@ -1911,11 +2825,22 @@ 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_MINOR_VERSION_NUMBER)
 AC_SUBST(WX_RELEASE_NUMBER)
 AC_SUBST(WX_LIBRARY_NAME)
+AC_SUBST(WX_LIBRARY_NAME_STATIC)
+AC_SUBST(WX_LIBRARY_NAME_SHARED)
 AC_SUBST(WX_LIBRARY)
 AC_SUBST(WX_LIBRARY)
+AC_SUBST(WX_TARGET_LIBRARY)
+AC_SUBST(WX_LIBRARY_LINK1)
+AC_SUBST(WX_LIBRARY_LINK2)
+AC_SUBST(WX_LIBRARY_LINK3)
+AC_SUBST(PROGRAM_EXT)
 
 
-dnl suppress libtool's informational messages - they duplicate its command line
-LIBTOOL="$LIBTOOL --silent"
-AC_SUBST(LIBTOOL)
+dnl are we supposed to create the links?
+AC_SUBST(WX_CREATE_LINKS)
+AC_SUBST(WX_CREATE_INSTALLED_LINKS)
+
+AC_SUBST(SHARED_LD)
+AC_SUBST(PIC_FLAG)
+AC_SUBST(DEP_INFO_FLAGS)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
@@ -1926,9 +2851,20 @@ AC_SUBST(TOOLKIT_DEF)
 AC_SUBST(TOOLKIT_DIR)
 AC_SUBST(TOOLKIT_INCLUDE)
 
 AC_SUBST(TOOLKIT_DIR)
 AC_SUBST(TOOLKIT_INCLUDE)
 
-dnl additional sources
-AC_SUBST(EXTRA_VPATH)
-AC_SUBST(LTLIBOBJS)
+dnl what to compile
+AC_SUBST(GUIHEADERS)
+AC_SUBST(GUIOBJS)
+AC_SUBST(COMMONOBJS)
+AC_SUBST(GENERICOBJS)
+AC_SUBST(GUIDEPS)
+AC_SUBST(COMMONDEPS)
+AC_SUBST(GENERICDEPS)
+AC_SUBST(UNIXOBJS)
+AC_SUBST(UNIXDEPS)
+AC_SUBST(ALL_OBJECTS)
+AC_SUBST(ALL_DEPFILES)
+AC_SUBST(ALL_HEADERS)
+AC_SUBST(GUIDIST)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
@@ -1941,82 +2877,59 @@ AC_SUBST(USER_SUBDIRS)
 dnl additional libraries
 AC_SUBST(EXTRA_LIBS)
 AC_SUBST(LIBS)
 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)
+AC_SUBST(LD_LIBS)
 
 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 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
 
+AC_CONFIG_HEADER(setup.h:setup.h.in)
+
+dnl Duh! glcanvas/$(TOOLKIT_DIR) doesn't work for msw because some
+dnl genius called it "win"
+if test "${TOOLKIT_DIR}" = "msw" ; then
+  GL_TOOLKIT_DIR="win"
+else
+  GL_TOOLKIT_DIR="${TOOLKIT_DIR}"
+fi
+dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack!
+AC_SUBST(GL_TOOLKIT_DIR)
+
 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
 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
+            src/make.env
+            src/makeprog.env
+            src/makelib.env
             Makefile
             Makefile
-            src/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/Makefile
             samples/bombs/Makefile
             samples/caret/Makefile
             samples/checklst/Makefile
             samples/config/Makefile
             samples/controls/Makefile
-            samples/db/Makefile
             samples/dialogs/Makefile
             samples/dialogs/Makefile
-            samples/dnd/Makefile
             samples/docview/Makefile
             samples/docvwmdi/Makefile
             samples/docview/Makefile
             samples/docvwmdi/Makefile
+            samples/dnd/Makefile
             samples/drawing/Makefile
             samples/dynamic/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/image/Makefile
             samples/internat/Makefile
-            samples/joytest/Makefile
             samples/layout/Makefile
             samples/listctrl/Makefile
             samples/mdi/Makefile
             samples/layout/Makefile
             samples/listctrl/Makefile
             samples/mdi/Makefile
-            samples/memcheck/Makefile
-            samples/mfc/Makefile
             samples/minifram/Makefile
             samples/minimal/Makefile
             samples/minifram/Makefile
             samples/minimal/Makefile
-            samples/nativdlg/Makefile
             samples/notebook/Makefile
             samples/notebook/Makefile
-            samples/oleauto/Makefile
-            samples/ownerdrw/Makefile
-            samples/png/Makefile
             samples/printing/Makefile
             samples/proplist/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/sashtest/Makefile
             samples/scroll/Makefile
             samples/splitter/Makefile
-            samples/tab/Makefile
-            samples/taskbar/Makefile
             samples/text/Makefile
             samples/thread/Makefile
             samples/toolbar/Makefile
             samples/text/Makefile
             samples/thread/Makefile
             samples/toolbar/Makefile
@@ -2025,12 +2938,36 @@ AC_OUTPUT([
             samples/validate/Makefile
             samples/wxpoem/Makefile
             samples/wxsocket/Makefile
             samples/validate/Makefile
             samples/wxpoem/Makefile
             samples/wxsocket/Makefile
+            samples/wizard/Makefile
+            samples/html/Makefile
+            samples/html/about/Makefile
+            samples/html/help/Makefile
+            samples/html/printing/Makefile
+            samples/html/test/Makefile
+            samples/html/zip/Makefile
+            samples/html/virtual/Makefile
+            samples/html/widget/Makefile
+            utils/Makefile
+            utils/wxMMedia2/Makefile
+            utils/wxMMedia2/lib/Makefile
+            utils/wxMMedia2/sample/Makefile
+            utils/glcanvas/Makefile
+            utils/glcanvas/${GL_TOOLKIT_DIR}/Makefile
+            utils/ogl/Makefile
+            utils/ogl/src/Makefile
           ],
           [
             chmod +x wx-config
           ],
           [
             chmod +x wx-config
-            if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
-              ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
+            if test ! -d include; then
+              mkdir include
+            fi
+            if test ! -d include/wx; then
+              mkdir include/wx
+            fi
+            if test ! -d include/wx/${TOOLKIT_DIR}; then
+              mkdir include/wx/${TOOLKIT_DIR}
             fi
             fi
+            cp -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
           ],
           [
             LN_S="${ac_cv_prog_LN_S}"
           ],
           [
             LN_S="${ac_cv_prog_LN_S}"