]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
*** empty log message ***
[wxWidgets.git] / configure.in
index df29b962d225405d64bf937e6e46903a5280f74d..919de5ba6e6c9eea0db781801e7b30da8ae6eced 100644 (file)
@@ -11,6 +11,420 @@ 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 ---------------------------------------------------------------------------
@@ -18,7 +432,7 @@ dnl ---------------------------------------------------------------------------
 dnl the file passed to AC_INIT should be specific to our package
 AC_INIT(wx-config.in)
 
 dnl the file passed to AC_INIT should be specific to our package
 AC_INIT(wx-config.in)
 
-AC_CANONICAL_HOST
+AC_CANONICAL_SYSTEM
 
 dnl When making releases do:
 dnl
 
 dnl When making releases do:
 dnl
@@ -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,7 +481,7 @@ USE_FREEBSD=
 USE_VMS=
 USE_ULTRIX=
 USE_CYGWIN=
 USE_VMS=
 USE_ULTRIX=
 USE_CYGWIN=
-USE_MINGW32=
+USE_MINGW=
 USE_DATA_GENERAL=
 
 dnl the list of all available toolkits
 USE_DATA_GENERAL=
 
 dnl the list of all available toolkits
@@ -186,6 +587,18 @@ case "${host}" in
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
     AC_DEFINE(__GNUWIN32__)
     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
   ;;
 
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
@@ -200,7 +613,6 @@ esac
 if test "$USE_UNIX" = 1 ; then
   wxUSE_UNIX=yes
   AC_DEFINE(__UNIX__)
 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
@@ -228,10 +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_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
@@ -250,6 +665,7 @@ if test $DEBUG_CONFIGURE = 1; then
   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
@@ -288,8 +704,14 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_COMMONDLGS=no
   DEFAULT_wxUSE_DIRDLG=no
   DEFAULT_wxUSE_TEXTDLG=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_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_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=no
@@ -325,10 +747,13 @@ if test $DEBUG_CONFIGURE = 1; then
 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_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
@@ -347,6 +772,7 @@ else
   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
@@ -385,8 +811,14 @@ else
   DEFAULT_wxUSE_COMMONDLGS=yes
   DEFAULT_wxUSE_DIRDLG=yes
   DEFAULT_wxUSE_TEXTDLG=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_PROGRESSDLG=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
@@ -467,6 +899,7 @@ 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(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
@@ -486,6 +919,8 @@ WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory
 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(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 --disable-gui will build only non-GUI part of wxWindows
 
 dnl ---------------------------------------------------------------------------
 dnl --disable-gui will build only non-GUI part of wxWindows
@@ -500,24 +935,28 @@ dnl ---------------------------------------------------------------------------
 dnl (small) optional non GUI classes
 dnl ---------------------------------------------------------------------------
 
 dnl (small) optional non GUI classes
 dnl ---------------------------------------------------------------------------
 
-WX_ARG_ENABLE(intl,        [  --enable-intl           use internationalization system], wxUSE_INTL)
-WX_ARG_ENABLE(config,      [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
-WX_ARG_ENABLE(sockets,     [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
-WX_ARG_ENABLE(ipc,         [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
-WX_ARG_ENABLE(apple_ieee,  [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
-WX_ARG_ENABLE(timedate,    [  --enable-timedate       use date/time classes], wxUSE_TIMEDATE)
-WX_ARG_ENABLE(wave,        [  --enable-wave           use wxWave class], wxUSE_WAVE)
-WX_ARG_ENABLE(fraction,    [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
-WX_ARG_ENABLE(dynlib,      [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
-WX_ARG_ENABLE(longlong,    [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
-WX_ARG_ENABLE(log,         [  --enable-log            use logging system], wxUSE_LOG)
-WX_ARG_ENABLE(streams,     [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
-WX_ARG_ENABLE(file,        [  --enable-file           use wxFile classes], wxUSE_FILE)
-WX_ARG_ENABLE(textfile,    [  --enable-textfile       use wxTextFile classes], wxUSE_TEXTFILE)
-WX_ARG_ENABLE(unicode,     [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
-WX_ARG_ENABLE(wcsrtombs,   [  --enable-wcsrtombs      use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
-WX_ARG_ENABLE(wxprintfv,   [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
-WX_ARG_ENABLE(joystick,    [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
+WX_ARG_ENABLE(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
+WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
+WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
+WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
+WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
+WX_ARG_ENABLE(timedate,      [  --enable-timedate       use date/time classes], wxUSE_TIMEDATE)
+WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
+WX_ARG_ENABLE(fraction,      [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
+WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
+WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
+WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
+WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
+WX_ARG_ENABLE(file,          [  --enable-file           use wxFile classes], wxUSE_FILE)
+WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile classes], wxUSE_TEXTFILE)
+WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
+WX_ARG_ENABLE(wcsrtombs,     [  --enable-wcsrtombs      use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
+WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
+WX_ARG_ENABLE(joystick,      [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
+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)
@@ -667,11 +1106,14 @@ 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(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(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
+WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
 WX_ARG_ENABLE(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 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
@@ -739,11 +1181,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
 
@@ -839,23 +1285,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 without this (which just means that we use WXDLLEXPORT) libtool won't build
-dnl DLLs under Win32.
-dnl AC_LIBTOOL_WIN32_DLL
-
-dnl 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
@@ -867,6 +1301,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           \
@@ -941,6 +1377,10 @@ dnl ----------------------------------------------------------------
 TOOLKIT=
 TOOLKIT_INCLUDE=
 
 TOOLKIT=
 TOOLKIT_INCLUDE=
 
+GUIOBJS=
+COMMONOBJS=
+GENERICOBJS=
+
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
@@ -948,32 +1388,61 @@ WXGTK12=
 
 WXWINE=
 
 
 WXWINE=
 
-if test "$wxUSE_CYGWIN" = 1; then
-  AC_MSG_CHECKING(for Windows headers)
-  WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
+dnl Extension for programs; '.exe' for msw builds
+PROGRAM_EXT= 
 
 
-  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
+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
+    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
 fi
 
 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 -ldl"
+    TOOLKIT=GTK
+  
+    GUIHEADERS=GTK_HEADERS
+    GUIOBJS=GTK_GUIOBJS
+    COMMONOBJS=GTK_COMMONOBJS
+    GENERICOBJS=GTK_GENERICOBJS
+    GUIDEPS=GTK_GUIDEPS
+    COMMONDEPS=GTK_COMMONDEPS
+    GENERICDEPS=GTK_GENERICDEPS
+    UNIXOBJS=UNIXOBJS
+    GUIDIST=GTK_DIST
 fi
 
 if test "$wxUSE_WINE" = 1; then
 fi
 
 if test "$wxUSE_WINE" = 1; then
@@ -1015,7 +1484,16 @@ if test "$wxUSE_WINE" = 1; then
     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
-    LTLIBOBJS="$LTLIBOBJS winestub.lo"
+    
+    GUIHEADERS=MSW_HEADERS
+    GUIOBJS=MSW_GUIOBJS
+    COMMONOBJS=MSW_COMMONOBJS
+    GENERICOBJS=MSW_GENERICOBJS
+    GUIDEPS=MSW_GUIDEPS
+    COMMONDEPS=MSW_COMMONDEPS
+    GENERICDEPS=MSW_GENERICDEPS
+    UNIXOBJS=UNIXOBJS
+    GUIDIST=MSW_DIST
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
@@ -1078,22 +1556,137 @@ if test "$wxUSE_MOTIF" = 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="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
+    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -ldl -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
     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=UNIXOBJS
+    GUIDIST=MOTIF_DIST
 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
+WX_LIBRARY="wx_${TOOLKIT_DIR}"
 
 dnl the name of the (libtool) library
 WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
 
 
 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}"
+dnl the name of the static library
+WX_LIBRARY_NAME_STATIC="libwx_${TOOLKIT_DIR}.a"
+
+dnl the name of the shared library
+WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+
+dnl the name of the links to the shared library
+WX_LIBRARY_LINK1="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so.${WX_CURRENT}"
+WX_LIBRARY_LINK2="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so"
+WX_LIBRARY_LINK3="libwx_${TOOLKIT_DIR}.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 Check for headers
@@ -1162,6 +1755,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 ---------------------------------------------------------------------------
@@ -1186,6 +1782,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)
 
@@ -1204,6 +1840,11 @@ 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 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 ===========================================================================
@@ -1253,17 +1894,15 @@ if test "$wxUSE_THREADS" = "yes" ; then
                 ])
             ])
         ])
                 ])
             ])
         ])
-fi
 
 
-if test -z "$THREADS_OBJ" ; then
-    wxUSE_THREADS=no
-    AC_MSG_WARN(No thread support on this system)
+    if test -z "$THREADS_OBJ" ; then
+        wxUSE_THREADS=no
+        AC_MSG_WARN(No thread support on this system)
+    fi
 fi
 
 dnl do other tests only if we are using threads
 if test "$wxUSE_THREADS" = "yes" ; then
 fi
 
 dnl do other tests only if we are using threads
 if test "$wxUSE_THREADS" = "yes" ; then
-  dnl  LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
-
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
@@ -1351,16 +1990,17 @@ if test "$wxUSE_CYGWIN" = 1 ; then
 fi
 
 WXDEBUG=
 fi
 
 WXDEBUG=
-if test "$wxUSE_DEBUG_GDB" = "yes" ; then
-    wxUSE_DEBUG_INFO=yes
-    WXDEBUG="-ggdb"
-fi
 
 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
     AC_DEFINE(WXDEBUG)
     WXDEBUG_DEFINE="-D__WXDEBUG__"
 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
     AC_DEFINE(WXDEBUG)
     WXDEBUG_DEFINE="-D__WXDEBUG__"
@@ -1385,6 +2025,7 @@ if test "$wxUSE_PROFILE" = "yes" ; then
     PROFILE="-pg"
 fi
 
     PROFILE="-pg"
 fi
 
+DEP_INFO_FLAGS=
 if test "$GCC" = yes ; then
     if test "$wxUSE_NO_RTTI" = "yes" ; then
        WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti"
 if test "$GCC" = yes ; then
     if test "$wxUSE_NO_RTTI" = "yes" ; then
        WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti"
@@ -1392,6 +2033,13 @@ if test "$GCC" = yes ; then
     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
        WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-exceptions"
     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  
          
          
 fi  
          
          
@@ -1419,21 +2067,13 @@ 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
 
@@ -1444,19 +2084,7 @@ 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
@@ -1493,13 +2121,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
@@ -1533,6 +2154,26 @@ if test "$wxUSE_FILE" = "yes"; then
   AC_DEFINE(wxUSE_FILE)
 fi
 
   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)
@@ -1644,9 +2285,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
 
@@ -1677,8 +2322,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
 
@@ -1762,7 +2405,7 @@ fi
 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
     if test "$wxUSE_GTK" = 1; then
         if test "$WXGTK12" != 1; then
 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
     if test "$wxUSE_GTK" = 1; then
         if test "$WXGTK12" != 1; then
-            AC_MSG_WARN([Drag and drop is only supported under wxGTK 2.1])
+            AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
            wxUSE_DRAG_AND_DROP=no
         fi
     fi
            wxUSE_DRAG_AND_DROP=no
         fi
     fi
@@ -1890,11 +2533,7 @@ if test "$wxUSE_STATLINE" = "yes"; then
     if test "$wxUSE_WINE" = 1 ; then
         AC_MSG_WARN([wxStaticLine is not supported under WINE])
     else
     if test "$wxUSE_WINE" = 1 ; then
         AC_MSG_WARN([wxStaticLine is not supported under WINE])
     else
-        if test "$wxUSE_MOTIF" = 1 ; then
-            AC_MSG_WARN([wxStaticLine is not supported under Motif])
-       else
-            AC_DEFINE(wxUSE_STATLINE)
-       fi
+       AC_DEFINE(wxUSE_STATLINE)
     fi
 fi
 
     fi
 fi
 
@@ -1962,6 +2601,14 @@ if test "$wxUSE_TEXTDLG" = "yes"; then
     AC_DEFINE(wxUSE_TEXTDLG)
 fi
 
     AC_DEFINE(wxUSE_TEXTDLG)
 fi
 
+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
+        AC_DEFINE(wxUSE_STARTUP_TIPS)
+    fi
+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)
 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)
@@ -1975,6 +2622,12 @@ if test "$wxUSE_MINIFRAME" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
 fi
 
     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
     AC_DEFINE(wxUSE_VALIDATORS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
 if test "$wxUSE_VALIDATORS" = "yes"; then
     AC_DEFINE(wxUSE_VALIDATORS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
@@ -1995,6 +2648,10 @@ 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 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 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"
 
@@ -2019,15 +2676,9 @@ if test "$wxUSE_GUI" = "yes"; then
     dnl TODO some samples are never built so far:
     dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
     dnl TODO some samples are never built so far:
     dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
-                     forty fractal image richedit wxpoem"
+                     forty fractal image wxpoem"
 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
@@ -2039,11 +2690,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)
@@ -2054,9 +2716,16 @@ 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(GUIDIST)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
@@ -2069,107 +2738,95 @@ 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
-
-dnl just for testing, will remove soon (VZ)
-dnl             src/msw/Makefile
-dnl             include/Makefile include/wx/Makefile include/wx/generic/Makefile
-dnl             include/wx/msw/Makefile
-dnl             samples/Makefile samples/minimal/Makefile
-
-            src/gtk/Makefile
-            src/motif/Makefile
-            src/msw/Makefile
-            include/Makefile
-            include/wx/Makefile
-            include/wx/generic/Makefile
-            include/wx/gtk/Makefile
-            include/wx/motif/Makefile
-            include/wx/msw/Makefile
-            include/wx/protocol/Makefile
-            include/wx/unix/Makefile
-            misc/Makefile
-            misc/afm/Makefile
-            misc/gs_afm/Makefile
             samples/Makefile
             samples/bombs/Makefile
             samples/caret/Makefile
             samples/checklst/Makefile
             samples/config/Makefile
             samples/controls/Makefile
             samples/Makefile
             samples/bombs/Makefile
             samples/caret/Makefile
             samples/checklst/Makefile
             samples/config/Makefile
             samples/controls/Makefile
-            samples/db/Makefile
-            samples/dialogs/Makefile
-            samples/dnd/Makefile
-            samples/docview/Makefile
-            samples/docvwmdi/Makefile
-            samples/drawing/Makefile
-            samples/dynamic/Makefile
-            samples/forty/Makefile
-            samples/fractal/Makefile
-            samples/grid/Makefile
-            samples/help/Makefile
-            samples/image/Makefile
-            samples/internat/Makefile
-            samples/joytest/Makefile
-            samples/layout/Makefile
-            samples/listctrl/Makefile
-            samples/mdi/Makefile
-            samples/memcheck/Makefile
-            samples/mfc/Makefile
-            samples/minifram/Makefile
-            samples/minimal/Makefile
-            samples/nativdlg/Makefile
-            samples/notebook/Makefile
-            samples/oleauto/Makefile
-            samples/ownerdrw/Makefile
-            samples/png/Makefile
+           samples/dialogs/Makefile
+           samples/docview/Makefile
+           samples/docvwmdi/Makefile
+           samples/dnd/Makefile
+           samples/drawing/Makefile
+           samples/dynamic/Makefile
+           samples/image/Makefile
+           samples/internat/Makefile
+           samples/layout/Makefile
+           samples/listctrl/Makefile
+           samples/mdi/Makefile
+           samples/minifram/Makefile
+           samples/minimal/Makefile
+           samples/notebook/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/tab/Makefile
-            samples/taskbar/Makefile
-            samples/text/Makefile
-            samples/thread/Makefile
-            samples/toolbar/Makefile
-            samples/treectrl/Makefile
-            samples/typetest/Makefile
-            samples/validate/Makefile
-            samples/wxpoem/Makefile
-            samples/wxsocket/Makefile
+           samples/sashtest/Makefile
+           samples/scroll/Makefile
+           samples/splitter/Makefile
+           samples/text/Makefile
+           samples/thread/Makefile
+           samples/toolbar/Makefile
+           samples/treectrl/Makefile
+           samples/typetest/Makefile
+           samples/validate/Makefile
+           samples/wxpoem/Makefile
+           samples/wxsocket/Makefile
+           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
           ],
           [
             chmod +x wx-config
           ],
           [
             chmod +x wx-config
-dnl The following line is more elegant but test -e is not supported by all
-dnl test varieties.
-dnl            if test ! -e include/wx/${TOOLKIT_DIR}/setup.h; then
-            cat include/wx/${TOOLKIT_DIR}/setup.h >/dev/null 2>&1
-            if test $? != 0; then
-              ${LN_S} `pwd`/setup.h include/wx/${TOOLKIT_DIR}/setup.h
-            fi
+           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
+           cp -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
           ],
           [
             LN_S="${ac_cv_prog_LN_S}"
           ],
           [
             LN_S="${ac_cv_prog_LN_S}"