]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
ugh. Nesting the (per class) plugin sentries can require them to
[wxWidgets.git] / configure.in
index af9e9a81d5b0cb1220bc0c5cfd4b8f6910dc546a..eb66fb25ad3a2a0f702fa870d43f681f069869b3 100644 (file)
@@ -3,97 +3,14 @@ AC_REVISION($Id$)dnl
 
 dnl ---------------------------------------------------------------------------
 dnl
 
 dnl ---------------------------------------------------------------------------
 dnl
-dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker and
-dnl Vadim Zeitlin
+dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker,
+dnl Vadim Zeitlin and Ron Lee
 dnl
 dnl This script is under the wxWindows licence.
 dnl
 dnl Version: $Id$
 dnl ---------------------------------------------------------------------------
 
 dnl
 dnl This script is under the wxWindows licence.
 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 gthread`
-    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 <gtk/gtkfeatures.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_MAJOR_VERSION != gtk_major_version) ||
-       (GTK_MINOR_VERSION != gtk_minor_version) ||
-       (GTK_MICRO_VERSION != gtk_micro_version)) {
-     printf("Headers vs. library version mismatch!\n");
-     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 macros to find the a file in the list of include/lib paths
 dnl ===========================================================================
@@ -115,7 +32,7 @@ for ac_dir in $1;
 ])
 
 dnl ---------------------------------------------------------------------------
 ])
 
 dnl ---------------------------------------------------------------------------
-dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_includes
+dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_libraries
 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,
 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,
@@ -123,7 +40,7 @@ AC_DEFUN(WX_PATH_FIND_LIBRARIES,
 ac_find_libraries=
 for ac_dir in $1;
   do
 ac_find_libraries=
 for ac_dir in $1;
   do
-    for ac_extension in a so sl; do
+    for ac_extension in a so sl dylib; do
       if test -f "$ac_dir/lib$2.$ac_extension"; then
         ac_find_libraries=$ac_dir
         break 2
       if test -f "$ac_dir/lib$2.$ac_extension"; then
         ac_find_libraries=$ac_dir
         break 2
@@ -143,7 +60,7 @@ AC_DEFUN(WX_INCLUDE_PATH_EXIST,
   if test $result = 0; then
     ac_path_to_include=""
   else
   if test $result = 0; then
     ac_path_to_include=""
   else
-    ac_path_to_include="-I$1"
+    ac_path_to_include=" -I$1"
   fi
 ])
 
   fi
 ])
 
@@ -157,7 +74,7 @@ AC_DEFUN(WX_LINK_PATH_EXIST,
   if test $result = 0; then
     ac_path_to_link=""
   else
   if test $result = 0; then
     ac_path_to_link=""
   else
-    ac_path_to_link="-L$1"
+    ac_path_to_link=" -L$1"
   fi
 ])
 
   fi
 ])
 
@@ -183,10 +100,10 @@ AC_DEFUN(WX_CPP_NEW_HEADERS,
 
     AC_CHECK_HEADERS(iostream)
 
 
     AC_CHECK_HEADERS(iostream)
 
-    if test "x$HAVE_IOSTREAM" = x ; then
-      ifelse([$2], , :, [$2])
-    else
+    if test "$ac_cv_header_iostream" = "yes" ; then
       ifelse([$1], , :, [$1])
       ifelse([$1], , :, [$1])
+    else
+      ifelse([$2], , :, [$2])
     fi
 
     AC_LANG_RESTORE
     fi
 
     AC_LANG_RESTORE
@@ -215,7 +132,6 @@ AC_DEFUN(WX_CPP_BOOL,
         return 0;
       ],
       [
         return 0;
       ],
       [
-        AC_DEFINE(HAVE_BOOL)
         wx_cv_cpp_bool=yes
       ],
       [
         wx_cv_cpp_bool=yes
       ],
       [
@@ -288,13 +204,63 @@ AC_DEFUN(WX_ARG_CACHE_FLUSH,
           mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
         ])
 
           mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
         ])
 
+dnl this macro checks for a three-valued command line --with argument:
+dnl   possible arguments are 'yes', 'no', 'sys', or 'builtin'
+dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
+AC_DEFUN(WX_ARG_SYS_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'
+                        elif test "$withval" = no; then
+                          ac_cv_use_$1='$3=no'
+                        elif test "$withval" = sys; then
+                          ac_cv_use_$1='$3=sys'
+                        elif test "$withval" = builtin; then
+                          ac_cv_use_$1='$3=builtin'
+                        else
+                          AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
+                        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)
+          elif test "$$3" = no; then
+            AC_MSG_RESULT(no)
+          elif test "$$3" = sys; then
+            AC_MSG_RESULT(system version)
+          elif test "$$3" = builtin; then
+            AC_MSG_RESULT(builtin version)
+          else
+            AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
+          fi
+        ])
+
 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,
         [
 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")
+          AC_MSG_CHECKING([for --with-$1])
           no_cache=0
           no_cache=0
-          AC_ARG_WITH($1, $2,
+          AC_ARG_WITH($1, [$2],
                       [
                         if test "$withval" = yes; then
                           ac_cv_use_$1='$3=yes'
                       [
                         if test "$withval" = yes; then
                           ac_cv_use_$1='$3=yes'
@@ -329,9 +295,9 @@ 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,
         [
 dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
 AC_DEFUN(WX_ARG_ENABLE,
         [
-          AC_MSG_CHECKING("for --enable-$1")
+          AC_MSG_CHECKING([for --enable-$1])
           no_cache=0
           no_cache=0
-          AC_ARG_ENABLE($1, $2,
+          AC_ARG_ENABLE($1, [$2],
                         [
                           if test "$enableval" = yes; then
                             ac_cv_use_$1='$3=yes'
                         [
                           if test "$enableval" = yes; then
                             ac_cv_use_$1='$3=yes'
@@ -362,32 +328,6 @@ AC_DEFUN(WX_ARG_ENABLE,
           fi
         ])
 
           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 ---------------------------------------------------------------------------
@@ -395,32 +335,47 @@ 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)
 
+dnl sets build, host, target variables and the same with _alias
 AC_CANONICAL_SYSTEM
 
 dnl When making releases do:
 dnl
 dnl WX_RELEASE_NUMBER += 1
 AC_CANONICAL_SYSTEM
 
 dnl When making releases do:
 dnl
 dnl WX_RELEASE_NUMBER += 1
-dnl WX_INTERFACE_AGE += 1
-dnl WX_BINARY_AGE += 1
 dnl
 dnl
-dnl if any functions have been added, do:
+dnl ..and update WX_CURRENT, WX_RELEASE and WX_AGE according to the
+dnl following rules:
+dnl
+dnl    If any changes have been made to the public interface, that is if any
+dnl    exported class, method, global or global type has been added, removed
+dnl    or changed in any way, then do:  WX_CURRENT += 1
 dnl
 dnl
-dnl WX_INTERFACE_AGE = 0
+dnl    If source changes have been made that *do not* alter the public
+dnl    interface then do:  WX_REVISION += 1
+dnl    If WX_CURRENT was incremented (as above) instead do:  WX_REVISION = 0
+dnl
+dnl    If any public interface was added, do:  WX_AGE += 1
+dnl    If any public interface was removed (or altered in a way effectively
+dnl    removing the previous definition), instead do:  WX_AGE = 0
+dnl
+dnl When the major or minor version numbers are incremented, all the above
+dnl variables should be reset to 0.
+dnl
+dnl The resulting library name will be of the form:
+dnl   libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
 
 WX_MAJOR_VERSION_NUMBER=2
 
 WX_MAJOR_VERSION_NUMBER=2
-WX_MINOR_VERSION_NUMBER=1
-WX_RELEASE_NUMBER=13
-
-WX_INTERFACE_AGE=0
-WX_BINARY_AGE=0
+WX_MINOR_VERSION_NUMBER=3
+WX_RELEASE_NUMBER=3
 
 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
-
-dnl wxWindows shared library versioning
 WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
 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`
+
+WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER
+
+WX_CURRENT=2
+WX_REVISION=0
+WX_AGE=0
+
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
@@ -429,7 +384,9 @@ dnl ------------------------------------------------------------------------
 dnl assume Unix
 USE_UNIX=1
 USE_WIN32=0
 dnl assume Unix
 USE_UNIX=1
 USE_WIN32=0
+USE_DOS=0
 USE_BEOS=0
 USE_BEOS=0
+USE_MAC=0
 
 USE_LINUX=
 USE_SGI=
 
 USE_LINUX=
 USE_SGI=
@@ -443,11 +400,12 @@ USE_SUNOS=
 USE_ALPHA=
 USE_OSF=
 USE_BSD=
 USE_ALPHA=
 USE_OSF=
 USE_BSD=
+USE_DARWIN=
 USE_FREEBSD=
 USE_FREEBSD=
+USE_OPENBSD=
+USE_NETBSD=
 USE_VMS=
 USE_ULTRIX=
 USE_VMS=
 USE_ULTRIX=
-USE_CYGWIN=
-USE_MINGW=
 USE_DATA_GENERAL=
 
 dnl on some platforms xxx_r() functions are declared inside "#ifdef
 USE_DATA_GENERAL=
 
 dnl on some platforms xxx_r() functions are declared inside "#ifdef
@@ -455,25 +413,37 @@ dnl _REENTRANT" and it's easier to just define this symbol for these platforms
 dnl than checking it during run-time
 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
 
 dnl than checking it during run-time
 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
 
+dnl the additional define needed for MT programs
+CPP_MT_FLAG=-D_REENTRANT
+
 dnl the list of all available toolkits
 dnl the list of all available toolkits
-ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE PM"
+dnl
+dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
+ALL_TOOLKITS="GTK MAC MGL MOTIF MSW PM 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
+DEFAULT_wxUSE_MAC=0
+DEFAULT_wxUSE_MGL=0
 DEFAULT_wxUSE_MOTIF=0
 DEFAULT_wxUSE_MSW=0
 DEFAULT_wxUSE_MOTIF=0
 DEFAULT_wxUSE_MSW=0
-DEFAULT_wxUSE_WINE=0
 DEFAULT_wxUSE_PM=0
 DEFAULT_wxUSE_PM=0
+DEFAULT_wxUSE_WINE=0
 
 dnl these are the values which are really default for the given platform -
 dnl they're not cached and are only used if no --with-toolkit was given *and*
 dnl nothing was found in the cache
 DEFAULT_DEFAULT_wxUSE_GTK=0
 
 dnl these are the values which are really default for the given platform -
 dnl they're not cached and are only used if no --with-toolkit was given *and*
 dnl nothing was found in the cache
 DEFAULT_DEFAULT_wxUSE_GTK=0
+DEFAULT_DEFAULT_wxUSE_MAC=0
+DEFAULT_DEFAULT_wxUSE_MGL=0
 DEFAULT_DEFAULT_wxUSE_MOTIF=0
 DEFAULT_DEFAULT_wxUSE_MSW=0
 DEFAULT_DEFAULT_wxUSE_MOTIF=0
 DEFAULT_DEFAULT_wxUSE_MSW=0
-DEFAULT_DEFAULT_wxUSE_WINE=0
 DEFAULT_DEFAULT_wxUSE_PM=0
 DEFAULT_DEFAULT_wxUSE_PM=0
+DEFAULT_DEFAULT_wxUSE_WINE=0
+
+PROGRAM_EXT=
+SO_SUFFIX=so
 
 dnl to support a new system, you need to add its canonical name (as determined
 dnl by config.sub or specified by the configure command line) to this "case"
 
 dnl to support a new system, you need to add its canonical name (as determined
 dnl by config.sub or specified by the configure command line) to this "case"
@@ -484,6 +454,7 @@ case "${host}" in
     USE_HPUX=1
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
     USE_HPUX=1
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
+    SO_SUFFIX=sl
     AC_DEFINE(__HPUX__)
   ;;
   *-*-linux* )
     AC_DEFINE(__HPUX__)
   ;;
   *-*-linux* )
@@ -522,19 +493,35 @@ case "${host}" in
     AC_DEFINE(__BSD__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
     AC_DEFINE(__BSD__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
-  *-*-freebsd* | *-*-netbsd*)
+  *-*-freebsd*)
     USE_BSD=1
     USE_FREEBSD=1
     USE_BSD=1
     USE_FREEBSD=1
+    CPP_MT_FLAG=-D_THREAD_SAFE
     AC_DEFINE(__FREEBSD__)
     AC_DEFINE(__BSD__)
     DEFAULT_DEFAULT_wxUSE_GTK=1
   ;;
     AC_DEFINE(__FREEBSD__)
     AC_DEFINE(__BSD__)
     DEFAULT_DEFAULT_wxUSE_GTK=1
   ;;
+  *-*-openbsd*)
+    USE_BSD=1
+    USE_OPENBSD=1
+    AC_DEFINE(__FREEBSD__)
+    AC_DEFINE(__OPENBSD__)
+    DEFAULT_DEFAULT_wxUSE_GTK=1
+  ;;
+  *-*-netbsd*)
+    USE_BSD=1
+    USE_NETBSD=1
+    AC_DEFINE(__FREEBSD__)
+    AC_DEFINE(__NETBSD__)
+    DEFAULT_DEFAULT_wxUSE_GTK=1
+  ;;
   *-*-osf* )
     USE_ALPHA=1
     USE_OSF=1
     AC_DEFINE(__ALPHA__)
     AC_DEFINE(__OSF__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   *-*-osf* )
     USE_ALPHA=1
     USE_OSF=1
     AC_DEFINE(__ALPHA__)
     AC_DEFINE(__OSF__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
+    NEEDS_D_REENTRANT_FOR_R_FUNCS=1
   ;;
   *-*-dgux5* )
     USE_ALPHA=1
   ;;
   *-*-dgux5* )
     USE_ALPHA=1
@@ -560,9 +547,10 @@ case "${host}" in
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
 
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
 
-  *-*-cygwin32* | *-*-mingw32* )
+  *-*-cygwin* | *-*-mingw32* )
     USE_UNIX=0
     USE_WIN32=1
     USE_UNIX=0
     USE_WIN32=1
+    SO_SUFFIX=dll
     AC_DEFINE(__WIN32__)
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
     AC_DEFINE(__WIN32__)
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
@@ -570,15 +558,37 @@ case "${host}" in
     AC_DEFINE(STRICT)
     AC_DEFINE(WINVER, 0x0400)
     PROGRAM_EXT=".exe"
     AC_DEFINE(STRICT)
     AC_DEFINE(WINVER, 0x0400)
     PROGRAM_EXT=".exe"
+    RESCOMP=windres
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
-  *-pc-os2_emx )
+  *-pc-msdosdjgpp )
+    USE_UNIX=0
+    USE_DOS=1
+    AC_DEFINE(__DOS__)
+    PROGRAM_EXT=".exe"
+    DEFAULT_DEFAULT_wxUSE_MGL=1
+    DEFAULT_DEFAULT_wxUSE_SHARED=0
+  ;;
+
+  *-pc-os2_emx | *-pc-os2-emx )
     AC_DEFINE(__EMX__)
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_PM=1
   ;;
 
     AC_DEFINE(__EMX__)
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_PM=1
   ;;
 
+  powerpc-*-darwin* )
+    dnl PowerPC Darwin based distributions (including Mac OS X)
+    USE_BSD=1
+    USE_DARWIN=1
+    CPP_MT_FLAG=
+    SO_SUFFIX=dylib
+    AC_DEFINE(__BSD__)
+    AC_DEFINE(__DARWIN__)
+    AC_DEFINE(__POWERPC__)
+    DEFAULT_DEFAULT_wxUSE_MAC=1
+  ;;
+
   *-*-beos* )
     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
     USE_BEOS=1
   *-*-beos* )
     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
     USE_BEOS=1
@@ -592,19 +602,28 @@ 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__)
-
-    SRC_SUBDIRS="$SRC_SUBDIRS unix"
-    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
-fi
-
-if test "$USE_BEOS" = 1; then
-    SRC_SUBDIRS="$SRC_SUBDIRS be"
-    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS be"
 fi
 
 fi
 
-dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
+dnl check for glibc version
 if test "$USE_LINUX" = 1; then
 if test "$USE_LINUX" = 1; then
-  AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
+    AC_CACHE_CHECK([for glibc 2.1 or later], wx_lib_glibc21,
+        AC_TRY_COMPILE([#include <features.h>],
+            [
+                #if !__GLIBC_PREREQ(2, 1)
+                    #error not glibc2.1
+                #endif
+            ],
+            [
+                wx_lib_glibc21=yes
+            ],
+            [
+                wx_lib_glibc21=no
+            ]
+        )
+    )
+    if test "$wx_lib_glibc21" = "yes"; then
+        AC_DEFINE(wxHAVE_GLIBC2)
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -623,14 +642,17 @@ dnl useful to test the compilation with minimum options, define as 0 for normal
 dnl usage
 DEBUG_CONFIGURE=0
 if test $DEBUG_CONFIGURE = 1; then
 dnl usage
 DEBUG_CONFIGURE=0
 if test $DEBUG_CONFIGURE = 1; then
+  DEFAULT_wxUSE_UNIVERSAL=no
+
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
-  DEFAULT_wxUSE_OPTIMISE=yes
+  DEFAULT_wxUSE_SONAME=no
+  DEFAULT_wxUSE_OPTIMISE=no
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
-  DEFAULT_wxUSE_NO_RTTI=no
-  DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_NO_RTTI=yes
+  DEFAULT_wxUSE_NO_EXCEPTIONS=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
@@ -638,32 +660,50 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
+  DEFAULT_wxUSE_PRECOMP=yes
   DEFAULT_wxUSE_APPLE_IEEE=no
 
   DEFAULT_wxUSE_LOG=yes
   DEFAULT_wxUSE_APPLE_IEEE=no
 
   DEFAULT_wxUSE_LOG=yes
+  DEFAULT_wxUSE_LOGWINDOW=no
+  DEFAULT_wxUSE_LOGGUI=no
+  DEFAULT_wxUSE_LOGDIALOG=no
 
   DEFAULT_wxUSE_GUI=yes
 
   DEFAULT_wxUSE_GUI=yes
+  DEFAULT_wxUSE_CONTROLS=no
 
 
+  DEFAULT_wxUSE_REGEX=no
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
   DEFAULT_wxUSE_LIBJPEG=no
   DEFAULT_wxUSE_LIBTIFF=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
   DEFAULT_wxUSE_LIBJPEG=no
   DEFAULT_wxUSE_LIBTIFF=no
   DEFAULT_wxUSE_ODBC=no
+  DEFAULT_wxUSE_FREETYPE=no
+  DEFAULT_wxUSE_OPENGL=no
 
 
+  DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
+  DEFAULT_wxUSE_SNGLINST_CHECKER=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
+  DEFAULT_wxUSE_CMDLINE_PARSER=no
+  DEFAULT_wxUSE_DATETIME=no
+  DEFAULT_wxUSE_TIMEDATE=no
+  DEFAULT_wxUSE_TIMER=no
+  DEFAULT_wxUSE_STOPWATCH=no
   DEFAULT_wxUSE_FILE=no
   DEFAULT_wxUSE_FILE=no
+  DEFAULT_wxUSE_FFILE=no
+  DEFAULT_wxUSE_TEXTBUFFER=no
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_TEXTFILE=no
-  DEFAULT_wxUSE_TIMEDATE=no
   DEFAULT_wxUSE_WAVE=no
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_WAVE=no
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
+  DEFAULT_wxUSE_FONTMAP=no
   DEFAULT_wxUSE_STREAMS=no
   DEFAULT_wxUSE_SOCKETS=no
   DEFAULT_wxUSE_DIALUP_MANAGER=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_JOYSTICK=no
   DEFAULT_wxUSE_DYNLIB_CLASS=no
+  DEFAULT_wxUSE_DYNAMIC_LOADER=no
   DEFAULT_wxUSE_LONGLONG=no
   DEFAULT_wxUSE_LONGLONG=no
+  DEFAULT_wxUSE_GEOMETRY=no
 
   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
 
   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
@@ -673,6 +713,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CLIPBOARD=no
   DEFAULT_wxUSE_TOOLTIPS=no
   DEFAULT_wxUSE_DRAG_AND_DROP=no
   DEFAULT_wxUSE_CLIPBOARD=no
   DEFAULT_wxUSE_TOOLTIPS=no
   DEFAULT_wxUSE_DRAG_AND_DROP=no
+  DEFAULT_wxUSE_DRAGIMAGE=no
   DEFAULT_wxUSE_SPLINES=no
 
   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
   DEFAULT_wxUSE_SPLINES=no
 
   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
@@ -684,28 +725,46 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CONSTRAINTS=no
   DEFAULT_wxUSE_IPC=no
   DEFAULT_wxUSE_HELP=no
   DEFAULT_wxUSE_CONSTRAINTS=no
   DEFAULT_wxUSE_IPC=no
   DEFAULT_wxUSE_HELP=no
-  DEFAULT_wxUSE_WXTREE=no
+  DEFAULT_wxUSE_MS_HTML_HELP=no
+  DEFAULT_wxUSE_WXHTML_HELP=no
+  DEFAULT_wxUSE_TREELAYOUT=no
   DEFAULT_wxUSE_METAFILE=no
   DEFAULT_wxUSE_METAFILE=no
+  DEFAULT_wxUSE_MIMETYPE=no
+  DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
 
   DEFAULT_wxUSE_COMMONDLGS=no
 
   DEFAULT_wxUSE_COMMONDLGS=no
+  DEFAULT_wxUSE_CHOICEDLG=no
+  DEFAULT_wxUSE_COLOURDLG=no
   DEFAULT_wxUSE_DIRDLG=no
   DEFAULT_wxUSE_DIRDLG=no
+  DEFAULT_wxUSE_FILEDLG=no
+  DEFAULT_wxUSE_FINDREPLDLG=no
+  DEFAULT_wxUSE_FONTDLG=no
+  DEFAULT_wxUSE_MSGDLG=no
+  DEFAULT_wxUSE_NUMBERDLG=no
   DEFAULT_wxUSE_TEXTDLG=no
   DEFAULT_wxUSE_TEXTDLG=no
+  DEFAULT_wxUSE_SPLASH=no
   DEFAULT_wxUSE_STARTUP_TIPS=no
   DEFAULT_wxUSE_PROGRESSDLG=no
   DEFAULT_wxUSE_STARTUP_TIPS=no
   DEFAULT_wxUSE_PROGRESSDLG=no
+  DEFAULT_wxUSE_WIZARDDLG=no
+
+  DEFAULT_wxUSE_MENUS=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_HTML=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_FILESYSTEM=no
   DEFAULT_wxUSE_FS_INET=no
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
   DEFAULT_wxUSE_ZIPSTREAM=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_VALIDATORS=no
 
   DEFAULT_wxUSE_ACCEL=no
 
   DEFAULT_wxUSE_ACCEL=no
-  DEFAULT_wxUSE_CARET=no
+  DEFAULT_wxUSE_BUTTON=no
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_BMPBUTTON=no
+  DEFAULT_wxUSE_CALCTRL=no
+  DEFAULT_wxUSE_CARET=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLST=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLST=no
-  DEFAULT_wxUSE_CHOICE=yes
+  DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
@@ -714,6 +773,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
+  DEFAULT_wxUSE_PROPSHEET=no
   DEFAULT_wxUSE_RADIOBOX=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
   DEFAULT_wxUSE_RADIOBOX=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
@@ -725,28 +785,39 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_STATBMP=no
   DEFAULT_wxUSE_STATBOX=no
   DEFAULT_wxUSE_STATLINE=no
   DEFAULT_wxUSE_STATBMP=no
   DEFAULT_wxUSE_STATBOX=no
   DEFAULT_wxUSE_STATLINE=no
+  DEFAULT_wxUSE_STATTEXT=no
   DEFAULT_wxUSE_STATUSBAR=yes
   DEFAULT_wxUSE_TABDIALOG=no
   DEFAULT_wxUSE_STATUSBAR=yes
   DEFAULT_wxUSE_TABDIALOG=no
+  DEFAULT_wxUSE_TEXTCTRL=no
+  DEFAULT_wxUSE_TOGGLEBTN=no
   DEFAULT_wxUSE_TOOLBAR=no
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
   DEFAULT_wxUSE_TREECTRL=no
   DEFAULT_wxUSE_TOOLBAR=no
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
   DEFAULT_wxUSE_TREECTRL=no
+  DEFAULT_wxUSE_POPUPWIN=no
+  DEFAULT_wxUSE_TIPWINDOW=no
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
+  DEFAULT_wxUSE_PALETTE=no
+  DEFAULT_wxUSE_IMAGE=no
   DEFAULT_wxUSE_GIF=no
   DEFAULT_wxUSE_PCX=no
   DEFAULT_wxUSE_PNM=no
   DEFAULT_wxUSE_GIF=no
   DEFAULT_wxUSE_PCX=no
   DEFAULT_wxUSE_PNM=no
+  DEFAULT_wxUSE_XPM=no
 else
 else
+  DEFAULT_wxUSE_UNIVERSAL=no
+
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
+  DEFAULT_wxUSE_SONAME=no
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=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=yes
+  DEFAULT_wxUSE_NO_EXCEPTIONS=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
@@ -754,32 +825,49 @@ else
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
+  DEFAULT_wxUSE_PRECOMP=yes
   DEFAULT_wxUSE_APPLE_IEEE=yes
 
   DEFAULT_wxUSE_LOG=yes
   DEFAULT_wxUSE_APPLE_IEEE=yes
 
   DEFAULT_wxUSE_LOG=yes
+  DEFAULT_wxUSE_LOGWINDOW=yes
+  DEFAULT_wxUSE_LOGGUI=yes
+  DEFAULT_wxUSE_LOGDIALOG=yes
 
   DEFAULT_wxUSE_GUI=yes
 
 
   DEFAULT_wxUSE_GUI=yes
 
+  DEFAULT_wxUSE_REGEX=yes
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
   DEFAULT_wxUSE_LIBJPEG=yes
   DEFAULT_wxUSE_LIBTIFF=yes
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
   DEFAULT_wxUSE_LIBJPEG=yes
   DEFAULT_wxUSE_LIBTIFF=yes
   DEFAULT_wxUSE_ODBC=no
+  DEFAULT_wxUSE_FREETYPE=no
+  DEFAULT_wxUSE_OPENGL=no
 
 
+  DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
+  DEFAULT_wxUSE_SNGLINST_CHECKER=yes
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
+  DEFAULT_wxUSE_CMDLINE_PARSER=yes
+  DEFAULT_wxUSE_DATETIME=yes
+  DEFAULT_wxUSE_TIMEDATE=no
+  DEFAULT_wxUSE_TIMER=yes
+  DEFAULT_wxUSE_STOPWATCH=yes
   DEFAULT_wxUSE_FILE=yes
   DEFAULT_wxUSE_FILE=yes
+  DEFAULT_wxUSE_FFILE=yes
+  DEFAULT_wxUSE_TEXTBUFFER=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_TEXTFILE=yes
-  DEFAULT_wxUSE_TIMEDATE=yes
   DEFAULT_wxUSE_WAVE=no
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_WAVE=no
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
+  DEFAULT_wxUSE_FONTMAP=yes
   DEFAULT_wxUSE_STREAMS=yes
   DEFAULT_wxUSE_SOCKETS=yes
   DEFAULT_wxUSE_DIALUP_MANAGER=yes
   DEFAULT_wxUSE_STREAMS=yes
   DEFAULT_wxUSE_SOCKETS=yes
   DEFAULT_wxUSE_DIALUP_MANAGER=yes
-  DEFAULT_wxUSE_SERIAL=yes
   DEFAULT_wxUSE_JOYSTICK=yes
   DEFAULT_wxUSE_JOYSTICK=yes
-  DEFAULT_wxUSE_DYNLIB_CLASS=yes
+  DEFAULT_wxUSE_DYNLIB_CLASS=no
+  DEFAULT_wxUSE_DYNAMIC_LOADER=yes
   DEFAULT_wxUSE_LONGLONG=yes
   DEFAULT_wxUSE_LONGLONG=yes
+  DEFAULT_wxUSE_GEOMETRY=yes
 
   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
 
   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
@@ -789,6 +877,7 @@ else
   DEFAULT_wxUSE_CLIPBOARD=yes
   DEFAULT_wxUSE_TOOLTIPS=yes
   DEFAULT_wxUSE_DRAG_AND_DROP=yes
   DEFAULT_wxUSE_CLIPBOARD=yes
   DEFAULT_wxUSE_TOOLTIPS=yes
   DEFAULT_wxUSE_DRAG_AND_DROP=yes
+  DEFAULT_wxUSE_DRAGIMAGE=yes
   DEFAULT_wxUSE_SPLINES=yes
 
   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
   DEFAULT_wxUSE_SPLINES=yes
 
   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
@@ -800,16 +889,32 @@ else
   DEFAULT_wxUSE_CONSTRAINTS=yes
   DEFAULT_wxUSE_IPC=yes
   DEFAULT_wxUSE_HELP=yes
   DEFAULT_wxUSE_CONSTRAINTS=yes
   DEFAULT_wxUSE_IPC=yes
   DEFAULT_wxUSE_HELP=yes
-  DEFAULT_wxUSE_WXTREE=yes
+  DEFAULT_wxUSE_MS_HTML_HELP=yes
+  DEFAULT_wxUSE_WXHTML_HELP=yes
+  DEFAULT_wxUSE_TREELAYOUT=yes
   DEFAULT_wxUSE_METAFILE=yes
   DEFAULT_wxUSE_METAFILE=yes
+  DEFAULT_wxUSE_MIMETYPE=yes
+  DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
 
   DEFAULT_wxUSE_COMMONDLGS=yes
 
   DEFAULT_wxUSE_COMMONDLGS=yes
+  DEFAULT_wxUSE_CHOICEDLG=yes
+  DEFAULT_wxUSE_COLOURDLG=yes
   DEFAULT_wxUSE_DIRDLG=yes
   DEFAULT_wxUSE_DIRDLG=yes
+  DEFAULT_wxUSE_FILEDLG=yes
+  DEFAULT_wxUSE_FINDREPLDLG=yes
+  DEFAULT_wxUSE_FONTDLG=yes
+  DEFAULT_wxUSE_MSGDLG=yes
+  DEFAULT_wxUSE_NUMBERDLG=yes
   DEFAULT_wxUSE_TEXTDLG=yes
   DEFAULT_wxUSE_TEXTDLG=yes
+  DEFAULT_wxUSE_SPLASH=yes
   DEFAULT_wxUSE_STARTUP_TIPS=yes
   DEFAULT_wxUSE_PROGRESSDLG=yes
   DEFAULT_wxUSE_STARTUP_TIPS=yes
   DEFAULT_wxUSE_PROGRESSDLG=yes
+  DEFAULT_wxUSE_WIZARDDLG=yes
+
+  DEFAULT_wxUSE_MENUS=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_HTML=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_HTML=yes
+  DEFAULT_wxUSE_FILESYSTEM=yes
   DEFAULT_wxUSE_FS_INET=yes
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
   DEFAULT_wxUSE_FS_INET=yes
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
@@ -817,19 +922,22 @@ else
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
-  DEFAULT_wxUSE_CARET=yes
+  DEFAULT_wxUSE_BUTTON=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
+  DEFAULT_wxUSE_CALCTRL=yes
+  DEFAULT_wxUSE_CARET=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_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLST=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_NEW_GRID=no
+  DEFAULT_wxUSE_NEW_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
+  DEFAULT_wxUSE_PROPSHEET=yes
   DEFAULT_wxUSE_RADIOBOX=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
   DEFAULT_wxUSE_RADIOBOX=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
@@ -841,19 +949,27 @@ else
   DEFAULT_wxUSE_STATBMP=yes
   DEFAULT_wxUSE_STATBOX=yes
   DEFAULT_wxUSE_STATLINE=yes
   DEFAULT_wxUSE_STATBMP=yes
   DEFAULT_wxUSE_STATBOX=yes
   DEFAULT_wxUSE_STATLINE=yes
+  DEFAULT_wxUSE_STATTEXT=yes
   DEFAULT_wxUSE_STATUSBAR=yes
   DEFAULT_wxUSE_TABDIALOG=no
   DEFAULT_wxUSE_STATUSBAR=yes
   DEFAULT_wxUSE_TABDIALOG=no
+  DEFAULT_wxUSE_TEXTCTRL=yes
+  DEFAULT_wxUSE_TOGGLEBTN=yes
   DEFAULT_wxUSE_TOOLBAR=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
   DEFAULT_wxUSE_TREECTRL=yes
   DEFAULT_wxUSE_TOOLBAR=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
   DEFAULT_wxUSE_TREECTRL=yes
+  DEFAULT_wxUSE_POPUPWIN=yes
+  DEFAULT_wxUSE_TIPWINDOW=yes
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
 
   DEFAULT_wxUSE_UNICODE=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
+  DEFAULT_wxUSE_PALETTE=yes
+  DEFAULT_wxUSE_IMAGE=yes
   DEFAULT_wxUSE_GIF=yes
   DEFAULT_wxUSE_PCX=yes
   DEFAULT_wxUSE_PNM=yes
   DEFAULT_wxUSE_GIF=yes
   DEFAULT_wxUSE_PCX=yes
   DEFAULT_wxUSE_PNM=yes
+  DEFAULT_wxUSE_XPM=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
@@ -887,42 +1003,43 @@ WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GU
 
 if test "$wxUSE_GUI" = "yes"; then
 
 
 if test "$wxUSE_GUI" = "yes"; then
 
+WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWindows GUI controls instead of native ones], wxUSE_UNIVERSAL)
 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(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(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
 AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$withval" CACHE_WINE=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(msw,           [  --with-msw              use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW TOOLKIT_GIVEN=1])
 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(mgl,           [  --with-mgl              use SciTech MGL], [wxUSE_MGL="$withval" CACHE_MGL=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="")
+AC_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)],wxUSE_GTK2=1,wxUSE_GTK2=0)
 
 
-WX_ARG_WITH(libpng,        [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
-WX_ARG_WITH(libjpeg,       [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
-WX_ARG_WITH(libtiff,       [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
+WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
+WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
+WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
+WX_ARG_SYS_WITH(freetype,  [  --with-freetype         use freetype (font rasterizer)], wxUSE_FREETYPE)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
 dnl for GUI only
 
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
 dnl for GUI only
 
-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(dmalloc,       [  --with-dmalloc          use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
+WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx class], wxUSE_REGEX)
+WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
 
 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
 
-dnl ====================
-dnl compile-time options
-dnl ====================
-
 dnl ---------------------------------------------------------------------------
 dnl compile options
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
 dnl ---------------------------------------------------------------------------
 dnl compile options
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
+WX_ARG_ENABLE(soname,      [  --enable-soname         set the DT_SONAME field in ELF shared libraries], wxUSE_SONAME)
 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)
 
+dnl allow the precompiled header option to be disabled under Mac OS X
+WX_ARG_ENABLE(precomp,     [  --enable-precomp        enable use of precompiled headers (Mac OS X)], wxUSE_PRECOMP)
+
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
@@ -938,10 +1055,13 @@ WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxU
 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(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(no_exceptions, [  --enable-no_exceptions  create code without C++ exceptions handling], 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)
 
 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)
 
+WX_ARG_ENABLE(compat20,      [  --enable-compat20       enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2)
+WX_ARG_ENABLE(compat22,      [  --enable-compat22       enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
+
 dnl ---------------------------------------------------------------------------
 dnl (small) optional non GUI classes
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl (small) optional non GUI classes
 dnl ---------------------------------------------------------------------------
@@ -949,40 +1069,49 @@ 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(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
 WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
 
-dnl can't use sockets without GUI so far
-if test "$wxUSE_GUI" = "yes"; then
 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
-else
-wxUSE_SOCKETS=no
-fi
 
 
-WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
+
+WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
+WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
+WX_ARG_ENABLE(timedate,      [  --enable-timedate       use obsolete wxDate/wxTime classes], wxUSE_TIMEDATE)
+WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
+WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
 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(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
 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(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(dynamicloader, [  --enable-dynamicloader  use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
 WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
 WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
+WX_ARG_ENABLE(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
 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(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(ffile,         [  --enable-ffile          use wxFFile classes], wxUSE_FFILE)
+WX_ARG_ENABLE(textbuf,       [  --enable-textbuf        use wxTextBuffer class], wxUSE_TEXTBUFFER)
+WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], wxUSE_TEXTFILE)
+WX_ARG_ENABLE(fontmap,       [  --enable-fontmap        use font encodings conversion classes], wxUSE_FONTMAP)
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
 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(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(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
 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)
 
 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)
 
+WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
+WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
+
+WX_ARG_ENABLE(mimetype,      [  --enable-mimetype       use wxMimeTypesManager], wxUSE_MIMETYPE)
+WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
+
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
-WX_ARG_ENABLE(serial,      [  --enable-serial         use class serialization], wxUSE_SERIAL)
 
 if test "$wxUSE_GUI" = "yes"; then
 
 
 if test "$wxUSE_GUI" = "yes"; then
 
@@ -991,10 +1120,16 @@ dnl "big" GUI options
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
-WX_ARG_ENABLE(help,        [  --enable-help           use help (using external browser at present)], wxUSE_HELP)
+WX_ARG_ENABLE(help,        [  --enable-help           use help subsystem], wxUSE_HELP)
+WX_ARG_ENABLE(mshtmlhelp,  [  --enable-mshtmlhelp     use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
+WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
+WX_ARG_ENABLE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], wxUSE_WXHTML_HELP)
 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
+WX_ARG_ENABLE(loggui,      [  --enable-loggui         use standard GUI logger], wxUSE_LOGGUI)
+WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LOGWINDOW)
+WX_ARG_ENABLE(logdialog,   [  --enable-logdialog      use wxLogDialog], wxUSE_LOGDIALOG)
 
 dnl ---------------------------------------------------------------------------
 dnl PostScript options
 
 dnl ---------------------------------------------------------------------------
 dnl PostScript options
@@ -1008,6 +1143,7 @@ dnl WX_ARG_ENABLE(afmfonts,        [  --enable-afmfonts       use Adobe Font Met
 dnl ---------------------------------------------------------------------------
 dnl resources
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl resources
 dnl ---------------------------------------------------------------------------
+
 WX_ARG_ENABLE(prologio,    [  --enable-prologio       use Prolog IO library], wxUSE_PROLOGIO)
 WX_ARG_ENABLE(resources,   [  --enable-resources      use wxWindows resources], wxUSE_RESOURCES)
 
 WX_ARG_ENABLE(prologio,    [  --enable-prologio       use Prolog IO library], wxUSE_PROLOGIO)
 WX_ARG_ENABLE(resources,   [  --enable-resources      use wxWindows resources], wxUSE_RESOURCES)
 
@@ -1019,9 +1155,9 @@ dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard classes], wxUSE_CLIPBOARD)
 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
 
 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard classes], wxUSE_CLIPBOARD)
 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
+WX_ARG_ENABLE(metafile,    [  --enable-metafile       use win32 metafiles], wxUSE_METAFILE)
 
 
-dnl TODO: doesn't work yet
-WX_ARG_ENABLE(wxtree,      [  --enable-wxtree         make wxTree library], wxUSE_WXTREE)
+WX_ARG_ENABLE(treelayout,  [  --enable-treelayout     use wxTreeLayout classes], wxUSE_TREELAYOUT)
 
 dnl ---------------------------------------------------------------------------
 dnl optional GUI controls (in alphabetical order except the first one)
 
 dnl ---------------------------------------------------------------------------
 dnl optional GUI controls (in alphabetical order except the first one)
@@ -1034,19 +1170,22 @@ dnl --disable-<control> later on the command line - but by default all will be
 dnl used (and vice versa)
 if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_ACCEL=yes
 dnl used (and vice versa)
 if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_ACCEL=yes
+  DEFAULT_wxUSE_BMPBUTTON=yes
+  DEFAULT_wxUSE_BUTTON=yes
+  DEFAULT_wxUSE_CALCTRL=no
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_COMBOBOX=yes
-  DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_NEW_GRID=no
+  DEFAULT_wxUSE_NEW_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
+  DEFAULT_wxUSE_PROPSHEET=yes
   DEFAULT_wxUSE_RADIOBOX=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
   DEFAULT_wxUSE_RADIOBOX=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
@@ -1060,16 +1199,21 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_STATLINE=yes
   DEFAULT_wxUSE_STATUSBAR=yes
   DEFAULT_wxUSE_TAB_DIALOG=yes
   DEFAULT_wxUSE_STATLINE=yes
   DEFAULT_wxUSE_STATUSBAR=yes
   DEFAULT_wxUSE_TAB_DIALOG=yes
+  DEFAULT_wxUSE_TOGGLEBTN=yes
   DEFAULT_wxUSE_TOOLBAR=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
   DEFAULT_wxUSE_TOOLTIPS=yes
   DEFAULT_wxUSE_TREECTRL=yes
   DEFAULT_wxUSE_TOOLBAR=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
   DEFAULT_wxUSE_TOOLTIPS=yes
   DEFAULT_wxUSE_TREECTRL=yes
+  DEFAULT_wxUSE_POPUPWIN=yes
+  DEFAULT_wxUSE_TIPWINDOW=yes
 elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_ACCEL=no
 elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_ACCEL=no
+  DEFAULT_wxUSE_BMPBUTTON=no
+  DEFAULT_wxUSE_BUTTON=no
+  DEFAULT_wxUSE_CALCTRL=no
   DEFAULT_wxUSE_CARET=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_CARET=no
   DEFAULT_wxUSE_COMBOBOX=no
-  DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLISTBOX=no
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLISTBOX=no
   DEFAULT_wxUSE_CHOICE=no
@@ -1080,6 +1224,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
+  DEFAULT_wxUSE_PROPSHEET=no
   DEFAULT_wxUSE_RADIOBOX=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
   DEFAULT_wxUSE_RADIOBOX=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
@@ -1093,16 +1238,21 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_STATLINE=no
   DEFAULT_wxUSE_STATUSBAR=no
   DEFAULT_wxUSE_TAB_DIALOG=no
   DEFAULT_wxUSE_STATLINE=no
   DEFAULT_wxUSE_STATUSBAR=no
   DEFAULT_wxUSE_TAB_DIALOG=no
+  DEFAULT_wxUSE_TOGGLEBTN=no
   DEFAULT_wxUSE_TOOLBAR=no
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
   DEFAULT_wxUSE_TOOLTIPS=no
   DEFAULT_wxUSE_TREECTRL=no
   DEFAULT_wxUSE_TOOLBAR=no
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
   DEFAULT_wxUSE_TOOLTIPS=no
   DEFAULT_wxUSE_TREECTRL=no
+  DEFAULT_wxUSE_POPUPWIN=no
+  DEFAULT_wxUSE_TIPWINDOW=no
 fi
 
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
 fi
 
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
-WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
+WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
+WX_ARG_ENABLE(calendar,    [  --enable-calendar       use wxCalendarCtrl class], wxUSE_CALCTRL)
+WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
@@ -1114,6 +1264,7 @@ WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wx
 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
+WX_ARG_ENABLE(propsheet,   [  --enable-propsheet      use wxPropertySheet class], wxUSE_PROPSHEET)
 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
@@ -1125,36 +1276,61 @@ WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class
 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
+WX_ARG_ENABLE(stattext,    [  --enable-stattext       use wxStaticText class], wxUSE_STATTEXT)
 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
+WX_ARG_ENABLE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
+WX_ARG_ENABLE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
 WX_ARG_ENABLE(tbarsmpl,    [  --enable-tbarsmpl       use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
 WX_ARG_ENABLE(tbarsmpl,    [  --enable-tbarsmpl       use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
+WX_ARG_ENABLE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
+WX_ARG_ENABLE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
 
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
-dnl misc GUI options
+dnl common dialogs
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
 
-WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
+WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use all common dialogs], wxUSE_COMMONDLGS)
+WX_ARG_ENABLE(choicedlg,   [  --enable-choicedlg      use wxChoiceDialog], wxUSE_CHOICEDLG)
+WX_ARG_ENABLE(coldlg,      [  --enable-coldlg         use wxColourDialog], wxUSE_COLOURDLG)
+WX_ARG_ENABLE(filedlg,     [  --enable-filedlg        use wxFileDialog], wxUSE_FILEDLG)
+WX_ARG_ENABLE(finddlg,     [  --enable-finddlg        use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
+WX_ARG_ENABLE(fontdlg,     [  --enable-fontdlg        use wxFontDialog], wxUSE_FONTDLG)
 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
+WX_ARG_ENABLE(msgdlg,      [  --enable-msgdlg         use wxMessageDialog], wxUSE_MSGDLG)
+WX_ARG_ENABLE(numberdlg,   [  --enable-numberdlg      use wxNumberEntryDialog], wxUSE_NUMBERDLG)
+WX_ARG_ENABLE(splash,      [  --enable-splash         use wxSplashScreen], wxUSE_SPLASH)
 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(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(wizarddlg,   [  --enable-wizarddlg      use wxWizard], wxUSE_WIZARDDLG)
+
+dnl ---------------------------------------------------------------------------
+dnl misc GUI options
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(menus,       [  --enable-menus          use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS)
 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(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
 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)
+WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick (Linux only)], wxUSE_JOYSTICK)
+WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Windows only)], wxUSE_METAFILE)
+WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
 
 dnl ---------------------------------------------------------------------------
 dnl support for image formats that do not rely on external library
 dnl ---------------------------------------------------------------------------
 
 
 dnl ---------------------------------------------------------------------------
 dnl support for image formats that do not rely on external library
 dnl ---------------------------------------------------------------------------
 
+WX_ARG_ENABLE(palette,     [  --enable-palette        use wxPalette class], wxUSE_PALETTE)
+WX_ARG_ENABLE(image,       [  --enable-image          use wxImage class], wxUSE_IMAGE)
 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)
 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)
+WX_ARG_ENABLE(xpm,         [  --enable-xpm            use xpm images (XPM file format)], wxUSE_XPM)
 
 fi
 dnl for GUI only
 
 fi
 dnl for GUI only
@@ -1169,79 +1345,78 @@ AC_MSG_CHECKING(for toolkit)
 
 if test "$wxUSE_GUI" = "yes"; then
 
 
 if test "$wxUSE_GUI" = "yes"; then
 
-if test "$USE_BEOS" = 1; then
-    AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
-fi
+    if test "$USE_BEOS" = 1; then
+        AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
+    fi
 
 
-if test "$TOOLKIT_GIVEN" = 1; then
-  dnl convert "yes" to 1 and "no" to 0
-  for toolkit in `echo $ALL_TOOLKITS`; do
-    var=wxUSE_$toolkit
-    eval "value=\$${var}"
-    eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
-  done
-else
-  dnl try to guess the most apropriate toolkit for this platform
-  for toolkit in `echo $ALL_TOOLKITS`; do
-    if test "$has_toolkit_in_cache" != 1; then
-      var=DEFAULT_DEFAULT_wxUSE_$toolkit
+    if test "$TOOLKIT_GIVEN" = 1; then
+      dnl convert "yes" to 1 and "no" to 0
+      for toolkit in `echo $ALL_TOOLKITS`; do
+        var=wxUSE_$toolkit
+        eval "value=\$${var}"
+        eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
+      done
     else
     else
-      var=DEFAULT_wxUSE_$toolkit
+      dnl try to guess the most apropriate toolkit for this platform
+      for toolkit in `echo $ALL_TOOLKITS`; do
+        if test "$has_toolkit_in_cache" != 1; then
+          var=DEFAULT_DEFAULT_wxUSE_$toolkit
+        else
+          var=DEFAULT_wxUSE_$toolkit
+        fi
+        eval "wxUSE_$toolkit=\$${var}"
+      done
     fi
     fi
-    eval "wxUSE_$toolkit=\$${var}"
-  done
-fi
 
 
-dnl we suppose that expr exists...
-NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}`
+    dnl we suppose that expr is available (maybe there is a better way to do
+    dnl this? what about using ALL_TOOLKITS? TODO)
+    NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_MAC:-0}  \
+                  + ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0}`
 
 
-dnl Allow wxUSE_PM only for OS/2 with EMX.
-dnl Path separator; ':' for unix.
-dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
-dnl Extension for programs; '.exe' for OS/2 and msw builds (set later).
-case "${host}" in
-  *-pc-os2_emx )
-    NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
-    # PATH_IFS is autodetected by OS/2's configure (usually ';')
-    LEX_STEM="lexyy"
-  ;;
-  *)
-    PATH_IFS=':'
-    LEX_STEM="lex.yy"
-    PROGRAM_EXT=
-  ;;
-esac
-
-case "$NUM_TOOLKITS" in
-  1)
-  ;;
-  0)
-    AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
-  ;;
-  *)
-    AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
-esac
+    dnl Allow wxUSE_PM only for OS/2 with EMX.
+    dnl Path separator; ':' for unix.
+    dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
+    case "${host}" in
+      *-pc-os2_emx | *-pc-os2-emx )
+        # PATH_IFS is autodetected by OS/2's configure (usually ';')
+        NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
+        LEX_STEM="lexyy"
+      ;;
+      *)
+        PATH_IFS=':'
+        LEX_STEM="lex.yy"
+      ;;
+    esac
 
 
-dnl cache the wxUSE_<TOOLKIT> values too
-for toolkit in `echo $ALL_TOOLKITS`; do
-  var=wxUSE_$toolkit
-  eval "value=\$${var}"
-  if test "x$value" != x; then
-    cache_var=CACHE_$toolkit
-    eval "cache=\$${cache_var}"
-    if test "$cache" = 1; then
-      echo "$var=$value" >> ${wx_arg_cache_file}
-    fi
-    if test "$value" = 1; then
-      AC_MSG_RESULT(`echo $toolkit | tr [[A-Z]] [[a-z]]`)
-    fi
-  fi
-done
+    case "$NUM_TOOLKITS" in
+      1)
+      ;;
+      0)
+        AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
+      ;;
+      *)
+        AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
+    esac
 
 
-dnl from "if wxUSE_GUI"
+    dnl cache the wxUSE_<TOOLKIT> values too
+    for toolkit in `echo $ALL_TOOLKITS`; do
+      var=wxUSE_$toolkit
+      eval "value=\$${var}"
+      if test "x$value" != x; then
+        cache_var=CACHE_$toolkit
+        eval "cache=\$${cache_var}"
+        if test "$cache" = 1; then
+          echo "$var=$value" >> ${wx_arg_cache_file}
+        fi
+        if test "$value" = 1; then
+          toolkit_echo=`echo $toolkit | tr [[A-Z]] [[a-z]]`
+          AC_MSG_RESULT($toolkit_echo)
+        fi
+      fi
+    done
 else
     PATH_IFS=':'
 else
     PATH_IFS=':'
-    AC_MSG_RESULT(base only)
+    AC_MSG_RESULT(base ($host_alias hosted) only)
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -1253,17 +1428,20 @@ 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)
 
 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 $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
+if test "$build" != "$host" ; then
+    if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 ; then
+        CC=$host_alias-gcc
+        CXX=$host_alias-c++
+        AR=$host_alias-ar
+        RANLIB=$host_alias-ranlib
+        DLLTOOL=$host_alias-dlltool
+        RESCOMP=$host_alias-windres
+        LD=$host_alias-ld
+        NM=$host_alias-nm
+        STRIP=$host_alias-strip
+    else
+        AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
+    fi
 fi
 
 dnl C-compiler checks
 fi
 
 dnl C-compiler checks
@@ -1275,10 +1453,6 @@ AC_PROG_CC
 
 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
 
 
 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
 
-dnl what is the c-preprocessor
-dnl   defines CPP with the c-preprocessor
-AC_PROG_CPP
-
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
 AC_PROG_GCC_TRADITIONAL
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
 AC_PROG_GCC_TRADITIONAL
@@ -1293,10 +1467,6 @@ dnl   defines GXX empty if not using gxx
 dnl   defines CXXFLAGS
 AC_PROG_CXX
 
 dnl   defines CXXFLAGS
 AC_PROG_CXX
 
-dnl what is the C++-preprocessor
-dnl   defines CXXCPP with the C++-preprocessor
-AC_PROG_CXXCPP
-
 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
 
 AC_LANG_RESTORE
 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
 
 AC_LANG_RESTORE
@@ -1312,13 +1482,25 @@ AC_CHECK_PROG(AR, ar, ar, ar)
 dnl install checks
 dnl   defines INSTALL with the appropriate command
 AC_PROG_INSTALL
 dnl install checks
 dnl   defines INSTALL with the appropriate command
 AC_PROG_INSTALL
+case "${host}" in
+
+    dnl The other BSD's should probably go in here too, since this is
+    dnl to workaround a strange static lib BSDism.
+    dnl Mac OS X install seems to ignore -p option...
+    powerpc-*-darwin* )
+        INSTALL_PROGRAM="cp -fp"
+        INSTALL_DATA="cp -fp"
+        ;;
+    *)
+        ;;
+esac
 
 dnl strip command
 dnl   defines STRIP as strip or nothing if not found
 AC_CHECK_PROG(STRIP, strip, strip, true)
 
 dnl check if VPATH works
 
 dnl strip command
 dnl   defines STRIP as strip or nothing if not found
 AC_CHECK_PROG(STRIP, strip, strip, true)
 
 dnl check if VPATH works
-AC_MSG_CHECKING("make for VPATH support")
+AC_MSG_CHECKING(make for VPATH support)
 dnl create Makefile
 cat - << EOF > confMake
 check : file
 dnl create Makefile
 cat - << EOF > confMake
 check : file
@@ -1330,7 +1512,7 @@ if test ! -d sub ; then
   mkdir sub
 fi
 echo dummy > sub/file
   mkdir sub
 fi
 echo dummy > sub/file
-${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
+${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
 RESULT=$?
 rm -f sub/file check final_file confMake
 rmdir sub
 RESULT=$?
 rm -f sub/file check final_file confMake
 rmdir sub
@@ -1338,7 +1520,7 @@ if test "$RESULT" = 0; then
   AC_MSG_RESULT(yes)
 else
   AC_MSG_RESULT(no)
   AC_MSG_RESULT(yes)
 else
   AC_MSG_RESULT(no)
-  AC_MSG_ERROR(
+  AC_MSG_ERROR([
 You need a make-utility that is able to use the variable
 VPATH correctly.
 If your version of make does not support VPATH correctly,
 You need a make-utility that is able to use the variable
 VPATH correctly.
 If your version of make does not support VPATH correctly,
@@ -1348,7 +1530,7 @@ export MAKE=gmake; ./configure  for sh-type shells
 setenv MAKE gmake; ./configure  for csh-type shells
 Also please do remember to use gmake in this case every time
 you are trying to compile.
 setenv MAKE gmake; ./configure  for csh-type shells
 Also please do remember to use gmake in this case every time
 you are trying to compile.
-)
+])
 fi
 
 dnl YACC checks
 fi
 
 dnl YACC checks
@@ -1451,511 +1633,1079 @@ dnl ------------------------------------------------------------------------
 dnl flush the cache because checking for libraries below might abort
 AC_CACHE_SAVE
 
 dnl flush the cache because checking for libraries below might abort
 AC_CACHE_SAVE
 
-dnl ----------------------------------------------------------------
-dnl search for toolkit (widget sets)
-dnl ----------------------------------------------------------------
-
-AFMINSTALL=
-
-if test "$wxUSE_GUI" = "yes"; then
-
-USE_GUI=1
-
-TOOLKIT=
-TOOLKIT_INCLUDE=
+dnl ---------------------------------------------------------------------------
+dnl Optional libraries
+dnl
+dnl   --with-<lib>=sys
+dnl       looks for system library and fails if not found
+dnl
+dnl   --with-<lib>
+dnl   --with-<lib>=yes
+dnl       looks for system library and, if not found, prints a warning,
+dnl       falls back to the builtin wx version, and continues configuration
+dnl
+dnl   --with-<lib>=builtin
+dnl       uses builtin wx version without searching for system library
+dnl
+dnl   --with-<lib>=no
+dnl   --without-<lib>
+dnl       do not use library (neither system nor builtin wx version)
+dnl
+dnl ---------------------------------------------------------------------------
 
 
-GUIOBJS=
-COMMONOBJS=
-GENERICOBJS=
+dnl ------------------------------------------------------------------------
+dnl Check for regex libraries
+dnl ------------------------------------------------------------------------
 
 
-GUI_TK_LIBRARY=
-GUI_TK_LINK=
+REGEX_INCLUDE=
+if test "$wxUSE_REGEX" != "no"; then
+    AC_DEFINE(wxUSE_REGEX)
+
+    if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
+        dnl according to Unix 98 specs, regcomp() is in libc but I believe that
+        dnl on some old systems it may be in libregex - check for it too?
+        AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp))
+
+        if test "x$ac_cv_func_regcomp" != "xyes"; then
+            if test "$wxUSE_REGEX" = "sys" ; then
+                AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
+            else
+                AC_MSG_WARN([system regex library not found, will use built-in instead])
+                wxUSE_REGEX=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_REGEX=sys
+        fi
+    fi
 
 
-WXGTK12=
-WXGTK13=
+    if test "$wxUSE_REGEX" = "builtin" ; then
+        REGEX_INCLUDE="-I\${top_srcdir}/src/regex"
+    fi
+fi
 
 
-WXWINE=
+dnl ------------------------------------------------------------------------
+dnl Check for zlib compression library
+dnl ------------------------------------------------------------------------
 
 
-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"
+ZLIB_INCLUDE=
+ZLIB_LINK=
+if test "$wxUSE_ZLIB" != "no" ; then
+    AC_DEFINE(wxUSE_ZLIB)
+
+    if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
+        AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz"))
+
+        if test "x$ZLIB_LINK" = "x" ; then
+            if test "$wxUSE_ZLIB" = "sys" ; then
+                AC_MSG_ERROR([system zlib compression library not found! Use --with-zlib=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system zlib compression library not found, will use built-in instead])
+                wxUSE_ZLIB=builtin
+            fi
         else
         else
-            AC_MSG_RESULT(no)
-            AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+            dnl we are using the system library
+            wxUSE_ZLIB=sys
         fi
     fi
 
         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"
-
-    dnl -mwindows is needed to avoid that spawning of a console window
-    if test "$wxUSE_MINGW" = 1; then
-        LDFLAGS="$LDFLAGS -mwindows"
+    if test "$wxUSE_ZLIB" = "builtin" ; then
+        ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
     fi
     fi
-
-    TOOLKIT=MSW
-
-    GUIOBJS="\$(MSW_GUIOBJS)"
-    GUIHEADERS="\$(MSW_HEADERS)"
-    COMMONOBJS="\$(MSW_COMMONOBJS)"
-    GENERICOBJS="\$(MSW_GENERICOBJS)"
-    UNIXOBJS=
-    GUIDIST=MSW_DIST
 fi
 
 fi
 
-if test "$wxUSE_GTK" = 1; then
-    dnl avoid calling AM_PATH_GTK twice, so check first for the newer version
-    dnl and only then, if it wasn't found, for an older one
-    AM_PATH_GTK(1.2.3, WXGTK12=1)
-
-    if test "$WXGTK12" != 1; then
-        AC_MSG_ERROR([
-            Please check that gtk-config is in path, the directory
-            where GTK+ libraries are installed (returned by
-            'gtk-config --libs' command) is in LD_LIBRARY_PATH or
-            equivalent variable and GTK+ is version 1.2.3 or above.
-        ])
-    fi
+dnl ------------------------------------------------------------------------
+dnl Check for png library
+dnl ------------------------------------------------------------------------
 
 
-dnl it doesn't really work with 1.3.0 now...
-dnl    AM_PATH_GTK(1.3.0,
-dnl        WXGTK13=1,
-dnl        AM_PATH_GTK(1.2.1,
-dnl            WXGTK12=1,
-dnl            AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?)
-dnl        )
-dnl    )
-
-    TOOLKIT_INCLUDE="$GTK_CFLAGS"
-
-dnl Appending gthreads as it was done here is not portable, instead
-dnl we now call "gtk-config --libs gthread" which sets the right library
-dnl name for us. The following hacks are no longer required.
-
-    GUI_TK_LIBRARY="$GTK_LIBS"
-
-dnl dnl On FreeBSD, the libs are called gtk12 etc, so we must append gthread12
-dnl    echo $GTK_LIBS | fgrep -q "glib12"
-dnl    if test $? = 0  ; then
-dnl       GUI_TK_LIBRARY="$GTK_LIBS -gthread12"
-dnl    else
-dnl       GUI_TK_LIBRARY="$GTK_LIBS -lgthread"
-dnl    fi
-    TOOLKIT=GTK
-
-    AFMINSTALL=afminstall
-
-    GUIOBJS="\$(GTK_GUIOBJS)"
-    GUIHEADERS="\$(GTK_HEADERS)"
-    COMMONOBJS="\$(GTK_COMMONOBJS)"
-    GENERICOBJS="\$(GTK_GENERICOBJS)"
-    GUIDEPS="\$(GTK_GUIDEPS)"
-    COMMONDEPS="\$(GTK_COMMONDEPS)"
-    GENERICDEPS="\$(GTK_GENERICDEPS)"
-    UNIXOBJS="\$(UNIX_OBJS)"
-    UNIXDEPS="\$(UNIX_DEPS)"
-    GUIDIST=GTK_DIST
-
-    dnl test for XIM support in libgdk
-    AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
-fi
-
-if test "$wxUSE_WINE" = 1; then
-    AC_MSG_CHECKING(for WINE includes)
-    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
-    if test "$ac_find_includes" != "" ; then
-        AC_MSG_RESULT(found $ac_find_includes)
-        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+PNG_INCLUDE=
+PNG_LINK=
+if test "$wxUSE_LIBPNG" != "no" ; then
+    AC_DEFINE(wxUSE_LIBPNG)
+
+    dnl for the check below to have a chance to succeed, we must already have
+    dnl libz somewhere
+    if test "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
+        AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
+        wxUSE_LIBPNG=builtin
     fi
 
     fi
 
-    XPM_LINK=""
-    AC_MSG_CHECKING(for Xpm library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
-    if test "$ac_find_libraries" != "" ; then
-        GUI_TK_LIBRARY="-L$ac_find_libraries"
-        XPM_LINK="-lXpm"
-        AC_DEFINE(wxHAVE_LIB_XPM)
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_WARN(library will be compiled without support for images in XPM format)
+    if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then
+        AC_CHECK_HEADER(png.h,
+                        AC_CHECK_LIB(png, png_check_sig,
+                                     PNG_LINK=" -lpng",
+                                     ,
+                                     [-lz -lm])
+                       )
+
+        if test "x$PNG_LINK" = "x" ; then
+            if test "$wxUSE_LIBPNG" = "sys" ; then
+                AC_MSG_ERROR([system png library not found! Use --with-libpng=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system png library not found, will use built-in instead])
+                wxUSE_LIBPNG=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_LIBPNG=yes
+        fi
     fi
 
     fi
 
-    MESA_LINK=""
-    AC_MSG_CHECKING(for Mesa library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
-    if test "$ac_find_libraries" != "" ; then
-        GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
-        MESA_LINK="-lMesaGL"
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_ERROR(no)
+    if test "$wxUSE_LIBPNG" = "builtin" ; then
+        PNG_INCLUDE="-I\${top_srcdir}/src/png"
     fi
 
     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
-
-    GUIHEADERS="\$(MSW_HEADERS)"
-    GUIOBJS="\$(MSW_GUIOBJS)"
-    COMMONOBJS="\$(MSW_COMMONOBJS)"
-    GENERICOBJS="\$(MSW_GENERICOBJS)"
-    GUIDEPS="\$(MSW_GUIDEPS)"
-    COMMONDEPS="\$(MSW_COMMONDEPS)"
-    GENERICDEPS="\$(MSW_GENERICDEPS)"
-    UNIXOBJS="\$(UNIX_OBJS)"
-    UNIXDEPS="\$(UNIX_DEPS)"
-    GUIDIST=MSW_DIST
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
 fi
 
 fi
 
-if test "$wxUSE_MOTIF" = 1; then
-    dnl use standard macros to check for X headers/libs, this brings support
-    dnl for the standard configure options --x-includes and --x-libraries
-    AC_PATH_XTRA
+dnl ------------------------------------------------------------------------
+dnl Check for jpeg library
+dnl ------------------------------------------------------------------------
+
+JPEG_INCLUDE=
+JPEG_LINK=
+if test "$wxUSE_LIBJPEG" != "no" ; then
+    AC_DEFINE(wxUSE_LIBJPEG)
+
+    if test "$wxUSE_LIBJPEG" = "sys" -o "$wxUSE_LIBJPEG" = "yes" ; then
+        dnl can't use AC_CHECK_HEADER as jconfig.h defines things like
+        dnl HAVE_STDLIB_H which are already defined and this provokes
+        dnl a compiler warning which configure considers as an error...
+        AC_MSG_CHECKING(for jpeglib.h)
+        AC_CACHE_VAL(ac_cv_header_jpeglib_h,
+            AC_TRY_COMPILE(
+                [
+                    #undef HAVE_STDLIB_H
+                    #include <stdio.h>
+                    #include <jpeglib.h>
+                ],
+                [
+                ],
+                ac_cv_header_jpeglib_h=yes,
+                ac_cv_header_jpeglib_h=no
+            )
+        )
+        AC_MSG_RESULT($ac_cv_header_jpeglib_h)
 
 
-    if test "$no_x" = "yes"; then
-        AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
+        if test "$ac_cv_header_jpeglib_h" = "yes"; then
+            AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK=" -ljpeg")
+        fi
+
+        if test "x$JPEG_LINK" = "x" ; then
+            if test "$wxUSE_LIBJPEG" = "sys" ; then
+                AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system jpeg library not found, will use built-in instead])
+                wxUSE_LIBJPEG=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_LIBJPEG=sys
+        fi
     fi
 
     fi
 
-    GUI_TK_LIBRARY="$X_LIBS"
-    TOOLKIT_INCLUDE="$X_CFLAGS"
+    if test "$wxUSE_LIBJPEG" = "builtin" ; then
+        JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
+    fi
+fi
 
 
-    AFMINSTALL=afminstall
+dnl ------------------------------------------------------------------------
+dnl Check for tiff library
+dnl ------------------------------------------------------------------------
 
 
-    dnl manual check for X11 headers/libs
-    dnl
-    dnl    AC_MSG_CHECKING(for X11 headers)
-    dnl    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
-    dnl    if test "$ac_find_includes" != "" ; then
-    dnl        AC_MSG_RESULT(found $ac_find_includes)
-    dnl    else
-    dnl        AC_MSG_RESULT(no)
-    dnl        AC_MSG_ERROR(please set CFLAGS to contain the location of X11/Intrinsic.h)
-    dnl    fi
-    dnl
-    dnl    AC_MSG_CHECKING(for X11 libraries)
-    dnl    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, X11)
-    dnl    if test "$ac_find_libraries" != "" ; then
-    dnl        WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
-    dnl        WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
-    dnl
-    dnl        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
-    dnl        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
-    dnl        AC_MSG_RESULT(found at $ac_find_libraries)
-    dnl    else
-    dnl        AC_MSG_RESULT(no)
-    dnl        AC_MSG_ERROR(please set LDFLAGS to contain the location of libX11)
-    dnl    fi
-
-    AC_MSG_CHECKING(for Motif/Lesstif headers)
-    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
-    if test "$ac_find_includes" != "" ; then
-        AC_MSG_RESULT(found $ac_find_includes)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+TIFF_INCLUDE=
+TIFF_LINK=
+if test "$wxUSE_LIBTIFF" != "no" ; then
+    AC_DEFINE(wxUSE_LIBTIFF)
+
+    if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
+        AC_CHECK_HEADER(tiffio.h,
+                        AC_CHECK_LIB(tiff, TIFFError,
+                                     TIFF_LINK=" -ltiff",
+                                     ,
+                                     -lm)
+                       )
+
+        if test "x$TIFF_LINK" = "x" ; then
+            if test "$wxUSE_LIBTIFF" = "sys" ; then
+                AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system tiff library not found, will use built-in instead])
+                wxUSE_LIBTIFF=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_LIBTIFF=sys
+        fi
     fi
 
     fi
 
-    AC_MSG_CHECKING(for Motif/Lesstif library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
-    if test "$ac_find_libraries" != "" ; then
-        WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
-        WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
+    if test "$wxUSE_LIBTIFF" = "builtin" ; then
+        TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
+    fi
+fi
 
 
-        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
-        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+dnl ------------------------------------------------------------------------
+dnl Check for freetype library
+dnl ------------------------------------------------------------------------
+
+FREETYPE_INCLUDE=
+FREETYPE_LINK=
+if test "$wxUSE_FREETYPE" != "no" ; then
+    AC_DEFINE(wxUSE_FREETYPE)
+
+    if test "$wxUSE_FREETYPE" = "sys" -o "$wxUSE_FREETYPE" = "yes" ; then
+        AC_CHECK_HEADER(freetype.h,
+                        AC_CHECK_LIB(freetype, FT_Render_Glyph,
+                                     FREETYPE_LINK=" -lfreetype",
+                                     ,
+                                     [-lm])
+                       )
+
+        if test "x$FREETYPE_LINK" = "x" ; then
+            if test "$wxUSE_FREETYPE" = "sys" ; then
+                AC_MSG_ERROR([system freetype library not found! Use --with-freetype=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system freetype library not found, will use built-in instead])
+                wxUSE_FREETYPE=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_FREETYPE=sys
+        fi
+    fi
+
+    if test "$wxUSE_FREETYPE" = "builtin" ; then
+        FREETYPE_INCLUDE="-I\${top_srcdir}/src/freetype"
+    fi
+fi
+
+dnl ----------------------------------------------------------------
+dnl search for toolkit (widget sets)
+dnl ----------------------------------------------------------------
+
+AFMINSTALL=
+
+TOOLKIT=
+TOOLKIT_INCLUDE=
+WIDGET_SET=
+
+dnl are we building for a win32 target environment?
+dnl If so, setup common stuff needed for both GUI and Base libs.
+if test "$USE_WIN32" = 1 ; then
+    AC_CHECK_HEADERS(w32api.h)
+    AC_CHECK_HEADER(windows.h, [],
+    [
+        AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+    ])
+
+    dnl check if can use _WIN32_IE macro
+    AC_CACHE_CHECK([if w32api has good enough MSIE support], wx_cv_w32api_win32_ie,
+    [
+      AC_TRY_COMPILE([#include <w32api.h>],
+                     [
+                       #define wxCHECK_W32API_VERSION( major, minor ) \
+                       ( defined( __W32API_MAJOR_VERSION ) && defined( __W32API_MINOR_VERSION ) \
+                       && ( ( __W32API_MAJOR_VERSION > (major) ) \
+                       || ( __W32API_MAJOR_VERSION == (major) && __W32API_MINOR_VERSION >= (minor))))
+
+                       #if !wxCHECK_W32API_VERSION(1,1)
+                       #error You need w32api 1.1 or newer
+                       #endif
+                     ], [
+                        wx_cv_w32api_win32_ie=yes
+                     ], [
+                        wx_cv_w32api_win32_ie=no
+                     ])
+    ])
+    if test "$wx_cv_w32api_win32_ie" = "yes" ; then
+        CPPFLAGS="$CPPFLAGS -D_WIN32_IE=0x400"
+    fi
+
+    dnl --- FIXME: This is still a somewhat random list of libs,
+    dnl ---        some of them should probably be included conditionally.
+    LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
+
+    case "${host}" in
+        *-*-cygwin* )
+            dnl Cygwin doesn't include these by default
+            LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
+            TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
+    esac
+
+    dnl add extra odbc libs if we have compiled in odbc
+    if test "$wxUSE_ODBC" = "yes" ; then
+        LIBS=" -lodbc32 -lole32 -loleaut32$LIBS"
+    fi
+
+    RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
+    RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
+fi
+
+if test "$wxUSE_GUI" = "yes"; then
+    USE_GUI=1
+
+    GUI_TK_LIBRARY=
+
+    WXGTK12=
+    WXGTK127=
+    WXGTK20=
+
+    if test "$wxUSE_MSW" = 1 ; then
+        TOOLKIT=MSW
+        GUIDIST=MSW_DIST
+
+        dnl -mwindows causes a heap of other default gui libs to be linked in.
+        dnl FIXME: If cygwin needs this, please push it above, if not, please
+        dnl        remove this comment :-)
+        case "${host}" in
+            *-*-mingw32* )
+                LDFLAGS="$LDFLAGS -Wl,--subsystem,windows -mwindows"
+        esac
+    fi
+
+    if test "$wxUSE_GTK" = 1; then
+        AC_MSG_CHECKING([for GTK+ version])
+
+        gtk_version_cached=1
+        AC_CACHE_VAL(wx_cv_lib_gtk,
+            [
+                dnl stupid GTK+ AM macros produce their own messages, so we
+                dnl have to pass to the next line
+                gtk_version_cached=0
+                AC_MSG_RESULT()
+
+                dnl we must link against lgthread unless the user
+                dnl used --disable-threads
+                GTK_MODULES=
+                if test "$wxUSE_THREADS" = "yes"; then
+                    GTK_MODULES=gthread
+                fi
+
+                wx_cv_lib_gtk=
+                if test "x$wxUSE_GTK2" = "xyes"; then
+                    AM_PATH_GTK_2_0(1.3.1, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
+                fi
+
+                if test -z "$wx_cv_lib_gtk"; then
+                    AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
+                fi
+
+                if test -z "$wx_cv_lib_gtk"; then
+                    AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
+                fi
+
+                if test -z "$wx_cv_lib_gtk"; then
+                    dnl looks better in AC_MSG_RESULT
+                    wx_cv_lib_gtk=none
+                else
+                    dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
+                    dnl subsequent runs
+                    wx_cv_cflags_gtk=$GTK_CFLAGS
+                    wx_cv_libs_gtk=$GTK_LIBS
+                fi
+            ]
+        )
+
+        dnl if it wasn't cached, the messages from AM_PATH_GTK() above are
+        dnl enough
+        if test "$gtk_version_cached" = 1; then
+            AC_MSG_RESULT($wx_cv_lib_gtk)
+        fi
+
+        case "$wx_cv_lib_gtk" in
+            2.0)    WXGTK20=1
+                    ;;
+            1.2.7)  WXGTK127=1
+                    WXGTK12=1
+                    ;;
+            1.2.3)  WXGTK12=1
+                    ;;
+            *)      AC_MSG_ERROR([
+Please check that gtk-config is in path, the directory
+where GTK+ libraries are installed (returned by
+'gtk-config --libs' command) is in LD_LIBRARY_PATH or
+equivalent variable and GTK+ is version 1.2.3 or above.
+                            ])
+                    ;;
+        esac
+
+        TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
+        GUI_TK_LIBRARY="$wx_cv_libs_gtk"
+
+        AFMINSTALL=afminstall
+        TOOLKIT=GTK
+        GUIDIST=GTK_DIST
+
+        dnl test for XIM support in libgdk
+        AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
     fi
 
     fi
 
-    AC_MSG_CHECKING(for Xt library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
-    if test "$ac_find_libraries" != "" ; then
-        WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
-        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
-        AC_MSG_RESULT(found at $ac_find_libraries)
+    if test "$wxUSE_MGL" = 1; then
+        AC_MSG_CHECKING(for SciTech MGL library)
+        if test "x$MGL_ROOT" = x ; then
+            AC_MSG_RESULT(not found)
+            AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
+        else
+            AC_MSG_RESULT($MGL_ROOT)
+        fi
+
+        dnl Find MGL library that we want
+        dnl FIXME_MGL - test for MGL variants for freebsd etc.
+        case "${host}" in
+            *-*-linux* )
+              mgl_os=linux/gcc/glibc
+              ;;
+            *-pc-msdosdjgpp )
+              mgl_os=dos32/dj2
+              ;;
+            *)
+              AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
+        esac
+
+        mgl_lib_type=""
+
+        if test "$wxUSE_DEBUG_FLAG" = yes ; then
+            if test -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.a -o \
+                    -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.so; then
+                mgl_lib_type=debug
+            fi
+        fi
+        if test "x$mgl_lib_type" = x ; then
+            if test -f $MGL_ROOT/lib/release/$mgl_os/libmgl.a -o \
+                    -f $MGL_ROOT/lib/release/$mgl_os/libmgl.so; then
+                mgl_lib_type=release
+            else
+                AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
+            fi
+        fi
+
+        TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
+        GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
+
+        AFMINSTALL=afminstall
+        TOOLKIT=MGL
+        GUIDIST=MGL_DIST
+    fi
+
+    if test "$wxUSE_WINE" = 1; then
+        AC_CHECK_HEADER(windows.h, [],
+        [
+            AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+        ])
+
+        xpm_link=
+        AC_MSG_CHECKING(for Xpm library)
+        WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
+        if test "$ac_find_libraries" != "" ; then
+            GUI_TK_LIBRARY="-L$ac_find_libraries"
+            xpm_link=" -lXpm"
+            AC_DEFINE(wxHAVE_LIB_XPM)
+            AC_MSG_RESULT(found at $ac_find_libraries)
+        else
+            AC_MSG_RESULT(no)
+            AC_MSG_WARN(library will be compiled without support for images in XPM format)
+        fi
+
+        mesa_link=
+        AC_MSG_CHECKING(for Mesa library)
+        WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
+        if test "$ac_find_libraries" != "" ; then
+            GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
+            mesa_link=" -lMesaGL"
+            AC_MSG_RESULT(found at $ac_find_libraries)
+        else
+            AC_MSG_ERROR(no)
+        fi
+
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lwine$mesa_link$xpm_link -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses"
+        TOOLKIT=MSW
+        GUIDIST=MSW_DIST
+        TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXWINE__"
+    fi
+
+    if test "$wxUSE_MOTIF" = 1; then
+        dnl use standard macros to check for X headers/libs, this brings support
+        dnl for the standard configure options --x-includes and --x-libraries
+        AC_PATH_XTRA
+
+        if test "$no_x" = "yes"; then
+          AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
+        fi
+
+        GUI_TK_LIBRARY="$X_LIBS"
+        TOOLKIT_INCLUDE="$X_CFLAGS"
+        AFMINSTALL=afminstall
+        COMPILED_X_PROGRAM=0
+
+        AC_MSG_CHECKING(for Motif/Lesstif headers)
+        WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
+        if test "$ac_find_includes" != "" ; then
+            AC_MSG_RESULT(found $ac_find_includes)
+        else
+            AC_TRY_COMPILE(
+                [
+                    #include <Xm/Xm.h>
+                ],
+                [
+                    int version;
+                    version = xmUseVersion;
+                ],
+                [
+                    AC_MSG_RESULT(found in default search path)
+                    COMPILED_X_PROGRAM=1
+                ],
+                [
+                    AC_MSG_RESULT(no)
+                    AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+                ]
+            )
+        fi
+
+        if test "$COMPILED_X_PROGRAM" = 0; then
+            AC_MSG_CHECKING(for Motif/Lesstif library)
+            WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
+            if test "$ac_find_libraries" != "" ; then
+                WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
+                WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
+
+                GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
+                TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
+                AC_MSG_RESULT(found at $ac_find_libraries)
+            else
+                dnl it might happen that we found headers in one of the standard
+                dnl paths but the libs are elsewhere - we do need to try to
+                dnl compile a sample program then here
+                AC_TRY_COMPILE(
+                    [
+                        #include <Xm/Xm.h>
+                    ],
+                    [
+                        int version;
+                        version = xmUseVersion;
+                    ],
+                    [
+                        AC_MSG_RESULT(found in default search path)
+                        COMPILED_X_PROGRAM=1
+                    ],
+                    [
+                        AC_MSG_RESULT(no)
+                        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+                    ]
+                )
+            fi
+        fi
+
+        xpm_link=
+        AC_MSG_CHECKING(for Xpm library)
+        WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
+        if test "$ac_find_libraries" != "" ; then
+            WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+            GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
+            xpm_link=" -lXpm"
+            AC_DEFINE(wxHAVE_LIB_XPM)
+            AC_MSG_RESULT(found at $ac_find_libraries)
+        else
+            AC_TRY_COMPILE(
+                [
+                    #include <X11/xpm.h>
+                ],
+                [
+                    int version;
+                    version = XpmLibraryVersion();
+                ],
+                [
+                    xpm_link=" -lXpm"
+                    AC_DEFINE(wxHAVE_LIB_XPM)
+                    AC_MSG_RESULT(found in default search path)
+                    COMPILED_X_PROGRAM=0
+                ],
+                [
+                    AC_MSG_RESULT(no)
+                    AC_MSG_WARN(library will be compiled without support for images in XPM format)
+                ]
+            )
+        fi
+
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link -lXmu -lXext -lXt -lX11"
+        TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo"
+        TOOLKIT=MOTIF
+        GUIDIST=MOTIF_DIST
+    fi
+
+    if test "$wxUSE_MAC" = 1; then
+        if test "$wxUSE_PRECOMP" = "yes"; then
+            CPPFLAGS="$CPPFLAGS -cpp-precomp"
+        fi
+        CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon -I\${top_srcdir}/src/mac/morefile"
+        CFLAGS="$CFLAGS -fpascal-strings"
+        CXXFLAGS="$CXXFLAGS -fpascal-strings"
+        TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -DTARGET_CARBON"
+
+        TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefile"
+        TOOLKIT=MAC
+        dnl we can't call this MAC_DIST or autoconf thinks its a macro
+        GUIDIST=MACX_DIST
+    fi
+
+    if test "$wxUSE_PM" = 1; then
+        TOOLKIT=PM
+        GUIDIST=GTK_DIST
+    fi
+
+    dnl the name of the directory where the files for this toolkit live
+    if test "$TOOLKIT" = "PM" ; then
+        TOOLKIT_DIR="os2"
     else
     else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
-    fi
-
-    XPM_LINK=""
-    AC_MSG_CHECKING(for Xpm library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
-    if test "$ac_find_libraries" != "" ; then
-        WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
-        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
-        XPM_LINK="-lXpm "
-        AC_DEFINE(wxHAVE_LIB_XPM)
-        AC_MSG_RESULT(found at $ac_find_libraries)
+        TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
+    fi
+
+    dnl misc other files depending on the port
+    PORT_FILES="\${top_srcdir}/src/\$(TOOLKITDIR)/files.lst"
+
+    if test "$wxUSE_UNIVERSAL" = "yes"; then
+        ALL_OBJECTS="\$(GUI_LOWLEVEL_OBJS) \${UNIVOBJS}"
+        PORT_FILES="${PORT_FILES} \${top_srcdir}/src/univ/files.lst"
+        TOOLKIT_VPATH="\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes${PATH_IFS}\${top_srcdir}/src/${TOOLKIT_DIR}"
+        TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
+        WIDGET_SET=univ
     else
     else
-        AC_MSG_RESULT(no)
-        AC_MSG_WARN(library will be compiled without support for images in XPM format)
-    fi
-
-    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -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)"
-    UNIXDEPS="\$(UNIX_DEPS)"
-    GUIDIST=MOTIF_DIST
-fi
-
-if test "$wxUSE_PM" = 1; then
-    TOOLKIT=PM
-
-    GUIOBJS="\$(PM_GUIOBJS)"
-    GUIHEADERS="\$(PM_HEADERS)"
-    COMMONOBJS="\$(PM_COMMONOBJS)"
-    GENERICOBJS="\$(PM_GENERICOBJS)"
-    GUIDEPS="\$(PM_GUIDEPS)"
-    COMMONDEPS="\$(PM_COMMONDEPS)"
-    GENERICDEPS="\$(PM_GENERICDEPS)"
-    UNIXOBJS=
-    UNIXDEPS=
-    GUIDIST=GTK_DIST
-fi
-
-dnl the name of the directory where the files for this toolkit live
-if test "$TOOLKIT" != "PM" ; then
-    TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
-else
-    TOOLKIT_DIR="os2"
-fi
+        ALL_OBJECTS="\$(GUIOBJS)"
+    fi
 
 
-    dnl the symbol which allows conditional compilation for the given toolkit
-    TOOLKIT_DEF="-D__WX${TOOLKIT}__"
+    ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
 
 
-    dnl the name of the (libtool) library
-    WX_LIBRARY="wx_${TOOLKIT_DIR}"
+    if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
+    fi
 
 
-    dnl the sources, their dependenices and the headers
-    ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS)"
+    if test "$wxUSE_HTML" = "yes"; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(HTMLOBJS)"
+    fi
 
     dnl ODBC objects are Unix only
 
     dnl ODBC objects are Unix only
-    if test "$(TOOLKIT)" != "MSW"; then
+    if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
     fi
         ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
     fi
-
-    if test "$wxUSE_LIBJPEG" = "yes" ; then
+    if test "$wxUSE_LIBJPEG" = "builtin" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
     fi
         ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
     fi
-    if test "$wxUSE_LIBTIFF" = "yes" ; then
+    if test "$wxUSE_LIBTIFF" = "builtin" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
     fi
         ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
     fi
-    if test "$wxUSE_LIBPNG" = "yes" ; then
+    if test "$wxUSE_LIBPNG" = "builtin" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
     fi
         ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
     fi
-    if test "$wxUSE_ZLIB" = "yes" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
+    if test "$wxUSE_FREETYPE" = "builtin" ; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(FREETYPEOBJS)"
     fi
     fi
-    ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS)"
-
-    PORT_FILES="src/\$(TOOLKITDIR)/files.lst"
-    RPM_FILES="src/\$(TOOLKITDIR)/rpmfiles.lst"
-    RPM_SPEC="wx\$(TOOLKIT).spec"
 
     dnl distribute samples/demos/utils with GUI versions
     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
     DISTDIR="wx\$(TOOLKIT)"
 else
 
     dnl distribute samples/demos/utils with GUI versions
     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
     DISTDIR="wx\$(TOOLKIT)"
 else
-    dnl leave all TOOLKIT_XXX vars empty
-
     USE_GUI=0
 
     USE_GUI=0
 
+    dnl this doesn't quite work right for wxBase, but the places
+    dnl where it is wrong aren't fatal (yet) though.
+    TOOLKIT_DIR="base"
+
     dnl the sources, their dependenices and the headers
     dnl the sources, their dependenices and the headers
-    ALL_OBJECTS="\$(BASE_OBJS) \${BASE_UNIX_OBJS}"
-    ALL_DEPFILES="\${BASE_DEPS} \${BASE_UNIX_DEPS}"
+    if test "$USE_WIN32" = 1 ; then
+        ALL_OBJECTS="\${BASE_OBJS} \${BASE_MSW_OBJS}"
+        TOOLKIT_VPATH="\${top_srcdir}/src/msw"
 
 
-    dnl building wxBase only
-    WX_LIBRARY="wxbase"
+        dnl yes, the toolkit for wxBase on win32 is actually MSW
+        dnl wxBase on unix does not need a 'TOOLKIT' defined.
+        TOOLKIT="MSW"
+    else
+        ALL_OBJECTS="\${BASE_OBJS} \${BASE_UNIX_OBJS}"
+        TOOLKIT_VPATH="\${top_srcdir}/src/unix"
+    fi
 
 
-    PORT_FILES="src/files.lst"
-    RPM_FILES="src/rpmfiles.lst"
-    RPM_SPEC="wxBase.spec"
+    PORT_FILES="\${top_srcdir}/src/files.lst"
 
     dnl distribute only wxBase sources/headers
     GUIDIST="BASE_DIST"
     DISTDIR="wxBase"
 fi
 
 
     dnl distribute only wxBase sources/headers
     GUIDIST="BASE_DIST"
     DISTDIR="wxBase"
 fi
 
-dnl the name of the (libtool) library
-WX_LIBRARY_NAME="lib${WX_LIBRARY}.la"
+dnl ---------------------------------------------------------------------------
+dnl Optional libraries included when system library is not used
+dnl ---------------------------------------------------------------------------
+if test "$wxUSE_REGEX" = "builtin" ; then
+    ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
+fi
+if test "$wxUSE_ZLIB" = "builtin" ; then
+    ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
+fi
 
 
-dnl the name of the static library
-WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
+dnl ---------------------------------------------------------------------------
+dnl OpenGL libraries
+dnl ---------------------------------------------------------------------------
+if test "$wxUSE_OPENGL" = "yes"; then
+    if test "$wxUSE_MAC" = 1; then
+        OPENGL_LIBS="-framework OpenGL -framework AGL"
+    else
+
+        AC_CHECK_HEADER(GL/gl.h,
+            [
+                AC_MSG_CHECKING([for -lGL])
+                WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],[GL])
+                if test "$ac_find_libraries" != "" ; then
+                    WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
+                    LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
+                    OPENGL_LIBS="-lGL -lGLU"
+                    AC_MSG_RESULT([yes])
+                else
+                    AC_MSG_RESULT([no])
+                    AC_MSG_CHECKING([for -lMesaGL])
+                    WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],[MesaGL])
+                    if test "$ac_find_libraries" != "" ; then
+                        WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
+                        LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
+                        OPENGL_LIBS="-lMesaGL -lMesaGLU"
+                        AC_MSG_RESULT([yes])
+                    else
+                        AC_MSG_RESULT([no])
+                    fi
+                fi
+            ])
+
+    dnl check for OpenGL libs availability first
+    dnl -lGL requires -lm with soem OpenGL versions
+
+#    AC_CHECK_HEADER(GL/gl.h,
+#        [
+#            AC_CHECK_LIB(GL, glFlush,
+#                [
+#                    OPENGL_LIBS="-lGL -lGLU"
+#                ],
+#                [
+#                    AC_CHECK_LIB(MesaGL, glFlush,
+#                        [
+#                            OPENGL_LIBS="-lMesaGL -lMesaGLU"
+#                        ],
+#                        [],
+#                        [-lm])
+#                ],
+#                [-lm])
+#        ])
+
+        if test "x$OPENGL_LIBS" = "x"; then
+            dnl it should be an error and not a warning because OpenGL is not on
+            dnl by default and so if it had been explicitely requested, we
+            dnl shouldn't just fall back to compiling the library without it
+            AC_MSG_ERROR(OpenGL libraries not available)
+        fi
+    fi
+
+    if test "$wxUSE_OPENGL" = "yes"; then
+        AC_DEFINE(wxUSE_OPENGL)
+        AC_DEFINE(wxUSE_GLCANVAS)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
+    fi
+fi
+
+if test -z "$TOOLKIT_VPATH" ; then
+    TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}"
+fi
+
+dnl the symbol which allows conditional compilation for the given toolkit
+if test -n "$TOOLKIT" ; then
+    TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
+fi
+
+lib_unicode_suffix=
+if test "$wxUSE_UNICODE" = "yes"; then
+    lib_unicode_suffix=u
+fi
+
+lib_debug_suffix=
+if test "$wxUSE_DEBUG_FLAG" = "yes"; then
+    lib_debug_suffix=d
+fi
+
+TOOLCHAIN_NAME="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
+TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
+
+if test "$cross_compiling" = "yes"; then
+    TOOLCHAIN_NAME="${TOOLCHAIN_NAME}-${host_alias}"
+    TOOLCHAIN_NAME_GL="${TOOLCHAIN_NAME_GL}-${host_alias}"
+fi
+
+dnl library link name
+WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
+WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
 
 dnl the name of the shared library
 
 dnl the name of the shared library
-WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
 
 dnl the name of the links to the shared library
 
 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"
+WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}"
+WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
+WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}"
+WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
+
+dnl the name of the resources file for wxMac
+WX_RESOURCES_MACOSX="lib${WX_LIBRARY}.rsrc"
+WX_RESOURCES_MACOSX_COMPILED="lib${WX_LIBRARY}.r"
+
+case "${host}" in
+    *-*-cygwin* | *-*-mingw32* )
+
+        dnl If we are cross compiling we want to use the 'full' unix type name for the
+        dnl lib, but for a native install use the windows style naming convention.
+        dnl (excepting again that we strip the ELF style version numbers off it).
+
+        dnl FIXME: is this GL stuff actually even used for wxMSW?  should it be??
+
+        if test "$cross_compiling" != "yes"; then
+            WX_LIBRARY="wxmsw${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
+            WX_LIBRARY_GL="wxmsw_gl${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
+            WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
+            WX_LIBRARY_NAME_SHARED_GL="${WX_LIBRARY_GL}.${SO_SUFFIX}"
+        else
+            WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
+            WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
+        fi
+
+esac
+
+dnl the name of the static library
+WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
+WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
+
+dnl define which libs wx-config should link.
+WXCONFIG_LIBS="-l${WX_LIBRARY}"
+WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
+
+if test "$wxUSE_OPENGL" = "yes"; then
+    WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}"
+    WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
+fi
 
 
-dnl shared library settings
-SHARED_LD=
-PIC_FLAG=
-WX_ALL=
-WX_ALL_INSTALLED=
-BURNT_LIBRARY_NAME=
 
 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
 if test "$wxUSE_SHARED" = "yes"; then
 
 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
 if test "$wxUSE_SHARED" = "yes"; then
+
+    dnl install targets
+    if test "$wxUSE_OPENGL" = "yes"; then
+        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
+        WX_ALL="\$(build_libdir)/${WX_LIBRARY_LINK1} \$(build_libdir)/${WX_LIBRARY_LINK1_GL}"
+    else
+        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
+        WX_ALL="\$(build_libdir)/${WX_LIBRARY_LINK1}"
+    fi
+
+    dnl the extra compiler flags needed for compilation of shared library
+    if test "$GCC" = "yes"; then
+        dnl the switch for gcc is the same under all platforms
+        PIC_FLAG="-fPIC"
+    fi
+
+    dnl the command to use for creating the shared library
+    SHARED_LD="${CXX} -shared -o"
+
     case "${host}" in
       *-hp-hpux* )
     case "${host}" in
       *-hp-hpux* )
-        if test "$GCC" = yes ; then
-            SHARED_LD="${CC} -shared -fPIC -o"
-            PIC_FLAG="-fPIC"
-        else
+        dnl default settings are good for gcc but not for the native HP-UX
+        if test "$GCC" != "yes"; then
+            dnl no idea why it wants it, but it does
+            LDFLAGS="$LDFLAGS -L/usr/lib"
+
             SHARED_LD="${CXX} -b -o"
             PIC_FLAG="+Z"
         fi
             SHARED_LD="${CXX} -b -o"
             PIC_FLAG="+Z"
         fi
-        WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl"
-        WX_ALL=${WX_LIBRARY_NAME_SHARED}
+
+        dnl install shared libs without symlinks
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL_INSTALLED="preinstall_gl"
+            WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
+        else
+            WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
+        fi
       ;;
 
       ;;
 
-      dnl in fact, these settings are for any platform using gcc
       *-*-linux* )
       *-*-linux* )
-        SHARED_LD="${CC} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
-        dnl BURNT_LIBRARY_NAME="-Wl,-soname -Wl,${WX_LIBRARY_NAME_SHARED}"
-      ;;
-      *-*-irix5* | *-*-irix6* )
-        if test "$GCC" = yes ; then
-           SHARED_LD="${CC} -shared -o"
-           PIC_FLAG="-fPIC"
-        else
-           SHARED_LD="${CXX} -shared -o"
+        if test "$GCC" != "yes"; then
+            AC_CACHE_CHECK([for Intel compiler], wx_cv_prog_icc,
+            [
+                AC_TRY_COMPILE([],
+                    [
+                        #ifndef __INTEL_COMPILER
+                        #error Not icc
+                        #endif
+                    ],
+                    wx_cv_prog_icc=yes,
+                    wx_cv_prog_icc=no
+                )
+            ])
+            if test "$wx_cv_prog_icc" = "yes"; then
+                PIC_FLAG="-KPIC"
+            fi
+        fi
+
+        if test "$wxUSE_SONAME" = "yes" ; then
+            SONAME_FLAGS="-Wl,-soname,${WX_LIBRARY_LINK1}"
+            SONAME_FLAGS_GL="-Wl,-soname,${WX_LIBRARY_LINK1_GL}"
+            dnl substitute this in makelib.env for the contrib libs
+            WX_TARGET_LIBRARY_SONAME="-Wl,-soname,\$(TARGETLIB_LINK1)"
         fi
         fi
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
       ;;
       ;;
+
       *-*-solaris2* )
         if test "$GCC" = yes ; then
       *-*-solaris2* )
         if test "$GCC" = yes ; then
-            SHARED_LD="${CC} -shared -o"
-            PIC_FLAG="-fPIC"
+            dnl newer versions of gcc need -isystem to compile X headers on
+            dnl Solaris (which use old style C syntax)
+            CPPFLAGS="$CPPFLAGS -isystem /usr/openwin/include"
         else
             SHARED_LD="${CXX} -G -o"
             PIC_FLAG="-KPIC"
         else
             SHARED_LD="${CXX} -G -o"
             PIC_FLAG="-KPIC"
+            SONAME_FLAGS="-h ${WX_LIBRARY_NAME_SHARED}"
+            SONAME_FLAGS_GL="-h ${WX_LIBRARY_NAME_SHARED}"
         fi
         fi
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
       ;;
       ;;
-      *-*-sunos4* )
-        SHARED_LD="${CC} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
-      ;;
-      *-*-freebsd* | *-*-netbsd*)
-        SHARED_LD="${CC} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
-      ;;
-      *-*-osf* )
-        SHARED_LD="${CXX} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
-      ;;
-      *-*-dgux5* )
-        SHARED_LD="${CXX} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
-      ;;
-      *-*-sysv5* )
-        SHARED_LD="${CC} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
+
+      *-*-darwin* )
+        CFLAGS="$CFLAGS -fno-common -DDYLIB_INIT"
+        CXXFLAGS="$CXXFLAGS -fno-common -DDYLIB_INIT"
+        SHARED_LD="$CXX -dynamiclib -init _wxWindowsDylibInit -o"
+        PIC_FLAG="-dynamic -fPIC"
       ;;
       ;;
+
       *-*-aix* )
         SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
       *-*-aix* )
         SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
-        WX_ALL=${WX_LIBRARY_NAME_SHARED}
       ;;
       ;;
-      *-*-cygwin32* )
-        dnl only static for now
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-        WX_ALL="${WX_LIBRARY_NAME_STATIC}"
-      ;;
-      *-*-mingw32* )
-        dnl only static for now
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-        WX_ALL="${WX_LIBRARY_NAME_STATIC}"
+
+      *-*-cygwin* | *-*-mingw32* )
+
+        WX_LIBRARY_IMPORTLIB="${WX_LIBRARY_NAME_SHARED}.a"
+
+        SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_IMPORTLIB} -o"
+        TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
+
+        PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
+
+        dnl install shared libs without symlinks
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL_INSTALLED="preinstall_gl"
+            WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
+        else
+            WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
+        fi
       ;;
       ;;
-      *-pc-os2_emx )
+
+      *-pc-os2_emx | *-pc-os2-emx )
         dnl only static for now
         dnl only static for now
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-        WX_ALL="${WX_LIBRARY_NAME_STATIC}"
+        wxUSE_SHARED=no
       ;;
       ;;
+
       *-*-beos* )
         dnl can't use gcc under BeOS for shared library creation because it
         dnl complains about missing 'main'
         SHARED_LD="${LD} -shared -o"
       *-*-beos* )
         dnl can't use gcc under BeOS for shared library creation because it
         dnl complains about missing 'main'
         SHARED_LD="${LD} -shared -o"
-        PIC_FLAG="-fPIC"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
       ;;
       ;;
+
+      *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
+      *-*-sunos4* | \
+      *-*-irix5* | *-*-irix6* | \
+      *-*-osf* | \
+      *-*-dgux5* | \
+      *-*-sysv5* )
+        dnl defaults are ok
+      ;;
+
       *)
       *)
-        AC_MSG_ERROR(unknown system type ${host}.)
+        AC_MSG_ERROR(unknown system type $host.)
     esac
 
     dnl set target to shared if not explicitly chose static before
     if test "x$WX_TARGET_LIBRARY" = "x"; then
         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
     esac
 
     dnl set target to shared if not explicitly chose static before
     if test "x$WX_TARGET_LIBRARY" = "x"; then
         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
+        WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
     fi
     fi
-else
-    dnl set target to static
+
+    dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
+    WX_TARGET_LIBRARY_TYPE="so"
+    INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
+fi
+
+dnl do not 'else' this, it may be changed in the above conditional.
+if test "$wxUSE_SHARED" = "no"; then
+
+    dnl give static wxBase and wxMSW build a working install target
+    if test "$wxUSE_GUI" = "no" -o "$USE_WIN32" = 1 ; then
+        dnl we're here because WX_ALL_INSTALLED is empty, but play safe anyway
+        WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
+    fi
+
+    if test "$wxUSE_MAC" = 1; then
+        WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
+    fi
+
+    if test "$wxUSE_OPENGL" = "yes"; then
+        WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_gl"
+        WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC} \$(build_libdir)/${WX_LIBRARY_NAME_STATIC_GL}"
+    else
+        WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC}"
+    fi
+
     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-    WX_ALL="${WX_LIBRARY_NAME_STATIC}"
+    WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
+
+    WX_TARGET_LIBRARY_TYPE="a"
+    INSTALL_LIBRARY='$(INSTALL_DATA)'
+fi
+
+if test "$wxUSE_MAC" = 1; then
+    dnl add the resources target for wxMac
+    WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r"
+    WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
+    AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
+    AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
+    LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r"
+    LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
+    LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
 fi
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
 fi
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
-dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
-AC_CHECK_HEADERS(strings.h)
+dnl do not check for strings.h for wxMac
+dnl   it exists but is only a simple redirection to string.h
+dnl   it is in conflict with Strings.h in FlatCarbon headers
+if test "$wxUSE_MAC" != 1; then
+  dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
+  AC_CHECK_HEADERS(strings.h)
+fi
+
+dnl defines HAVE_STDLIB_H
+AC_CHECK_HEADERS(stdlib.h)
+dnl defines HAVE_MALLOC_H
+AC_CHECK_HEADERS(malloc.h)
 dnl defines HAVE_UNISTD_H
 AC_CHECK_HEADERS(unistd.h)
 dnl defines HAVE_WCHAR_H
 AC_CHECK_HEADERS(wchar.h)
 dnl defines HAVE_WCSTR_H
 AC_CHECK_HEADERS(wcstr.h)
 dnl defines HAVE_UNISTD_H
 AC_CHECK_HEADERS(unistd.h)
 dnl defines HAVE_WCHAR_H
 AC_CHECK_HEADERS(wchar.h)
 dnl defines HAVE_WCSTR_H
 AC_CHECK_HEADERS(wcstr.h)
+dnl defined HAVE_WCTYPE_H
+AC_CHECK_HEADERS(wctype.h)
 dnl defines HAVE_FNMATCH_H
 AC_CHECK_HEADERS(fnmatch.h)
 dnl defines HAVE_FNMATCH_H
 AC_CHECK_HEADERS(fnmatch.h)
+dnl defines HAVE_ICONV_H (Unix98 encoding conversion routines)
+AC_CHECK_HEADERS(iconv.h)
+dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
+AC_CHECK_HEADERS(langinfo.h)
 
 if test "$wxUSE_GUI" = "yes"; then
 
 if test "$wxUSE_GUI" = "yes"; then
-    dnl defines HAVE_X11_XKBLIB_H
-    AC_CHECK_HEADERS(X11/XKBlib.h)
+    if test "$wxUSE_UNIX" = "yes"; then
+        dnl defines HAVE_X11_XKBLIB_H
+        AC_CHECK_HEADERS(X11/XKBlib.h)
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -1973,6 +2723,87 @@ AC_TYPE_SIZE_T
 dnl   defines uid_t and gid_t if not already defined
 AC_TYPE_UID_T
 
 dnl   defines uid_t and gid_t if not already defined
 AC_TYPE_UID_T
 
+dnl   check for wchar_t
+dnl   Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
+dnl   on Cygwin wchar.h needs stddef.h to be #included by hand
+AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
+[
+    AC_TRY_COMPILE(
+        [
+            #ifdef HAVE_WCHAR_H
+            #  ifdef __CYGWIN__
+            #    include <stddef.h>
+            #  endif
+            #  include <wchar.h>
+            #endif
+            #ifdef HAVE_STDLIB_H
+            #  include <stdlib.h>
+            #endif
+        ],
+        [
+            wchar_t wc, *ws;
+            wc = L'a';
+            ws = L"Hello, world!";
+        ],
+        wx_cv_type_wchar_t=yes,
+        wx_cv_type_wchar_t=no
+    )
+])
+
+if test "$wx_cv_type_wchar_t" = "yes"; then
+    AC_DEFINE(wxUSE_WCHAR_T)
+fi
+
+dnl check what exactly size_t is on this machine - this is necessary to avoid
+dnl ambiguos overloads in several places, notably wx/string.h and wx/array.h
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_CACHE_CHECK([if size_t is unsigned int],
+    wx_cv_size_t_is_uint,
+    dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
+    dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
+    dnl methods in a local class (i.e. class inside a function) declaration
+    dnl without any objections!!
+    dnl
+    dnl hence the hack below: we must have Foo at global scope!
+    AC_TRY_COMPILE([#include <stddef.h>],
+        [
+            return 0; }
+
+            struct Foo { void foo(size_t); void foo(unsigned int); };
+
+            int bar() {
+        ],
+        wx_cv_size_t_is_uint=no,
+        wx_cv_size_t_is_uint=yes
+    )
+)
+
+if test "$wx_cv_size_t_is_uint" = "yes"; then
+    AC_DEFINE(wxSIZE_T_IS_UINT)
+else
+    AC_CACHE_CHECK([if size_t is unsigned long],
+        wx_cv_size_t_is_ulong,
+        AC_TRY_COMPILE([#include <stddef.h>],
+            [
+                return 0; }
+
+                struct Foo { void foo(size_t); void foo(unsigned long); };
+
+                int bar() {
+            ],
+            wx_cv_size_t_is_ulong=no,
+            wx_cv_size_t_is_ulong=yes
+        )
+    )
+
+    if test "$wx_cv_size_t_is_ulong" = "yes"; then
+        AC_DEFINE(wxSIZE_T_IS_ULONG)
+    fi
+fi
+
+AC_LANG_RESTORE
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
 dnl ---------------------------------------------------------------------------
@@ -1988,7 +2819,6 @@ AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
              ],
              [
                 wx_cv_struct_pw_gecos=yes
              ],
              [
                 wx_cv_struct_pw_gecos=yes
-                AC_DEFINE(HAVE_PW_GECOS)
              ],
              [
                 wx_cv_struct_pw_gecos=no
              ],
              [
                 wx_cv_struct_pw_gecos=no
@@ -1997,6 +2827,10 @@ AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
     ]
 )
 
     ]
 )
 
+if test "$wx_cv_struct_pw_gecos" = "yes"; then
+    AC_DEFINE(HAVE_PW_GECOS)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for compiler characteristics
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Checks for compiler characteristics
 dnl ---------------------------------------------------------------------------
@@ -2016,6 +2850,39 @@ AC_CHECK_SIZEOF(int, 4)
 AC_CHECK_SIZEOF(long, 4)
 AC_CHECK_SIZEOF(long long, 0)
 
 AC_CHECK_SIZEOF(long, 4)
 AC_CHECK_SIZEOF(long long, 0)
 
+dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
+dnl wchar_t and AC_CHECK_SIZEOF only includes stdio.h
+dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
+AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
+[
+    AC_TRY_RUN(
+        [
+            #ifdef HAVE_WCHAR_H
+            #  ifdef __CYGWIN__
+            #    include <stddef.h>
+            #  endif
+            #  include <wchar.h>
+            #endif
+            #ifdef HAVE_STDLIB_H
+            #  include <stdlib.h>
+            #endif
+            #include <stdio.h>
+            int main()
+            {
+                FILE *f=fopen("conftestval", "w");
+                if (!f) exit(1);
+                fprintf(f, "%i", sizeof(wchar_t));
+                exit(0);
+            }
+        ],
+        wx_cv_sizeof_wchar_t=`cat conftestval`,
+        wx_cv_sizeof_wchar_t=0,
+        wx_cv_sizeof_wchar_t=4
+    )
+])
+
+AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
+
 dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
 WX_C_BIGENDIAN
 
 dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
 WX_C_BIGENDIAN
 
@@ -2025,9 +2892,6 @@ WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
 dnl check whether C++ compiler supports bool built-in type
 WX_CPP_BOOL
 
 dnl check whether C++ compiler supports bool built-in type
 WX_CPP_BOOL
 
-dnl check whether we should define _GNU_SOURCE
-WX_GNU_EXTENSIONS
-
 dnl ---------------------------------------------------------------------------
 dnl Check for functions
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Check for functions
 dnl ---------------------------------------------------------------------------
@@ -2035,71 +2899,276 @@ dnl ---------------------------------------------------------------------------
 dnl check for wcslen
 AC_CHECK_LIB(c, wcslen, [
             AC_DEFINE(HAVE_WCSLEN)
 dnl check for wcslen
 AC_CHECK_LIB(c, wcslen, [
             AC_DEFINE(HAVE_WCSLEN)
-            WCHAR_LINK=""
+            WCHAR_LINK=
         ], [
             AC_CHECK_LIB(w, wcslen, [
                 AC_DEFINE(HAVE_WCSLEN)
         ], [
             AC_CHECK_LIB(w, wcslen, [
                 AC_DEFINE(HAVE_WCSLEN)
-                WCHAR_LINK="-lw"
+                WCHAR_LINK=" -lw"
+            ], [
+                AC_CHECK_LIB(msvcrt, wcslen, [
+                    AC_DEFINE(HAVE_WCSLEN)
+                    WCHAR_LINK=
+                ])
             ])
         ])
 
             ])
         ])
 
+dnl use wcsrtombs instead of wcstombs which is buggy in old GNU libc versions
+dnl if possible
+AC_CHECK_FUNCS(wcsrtombs)
+
 dnl check for vprintf/vsprintf() which are GNU extensions
 AC_FUNC_VPRINTF
 
 dnl check for vprintf/vsprintf() which are GNU extensions
 AC_FUNC_VPRINTF
 
-dnl check for vsnprintf() - a safe version of vsprintf()
-AC_CHECK_FUNCS(vsnprintf,
-               AC_DEFINE(HAVE_VSNPRINTF),
-               AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
-              )
-
-dnl check for 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
+dnl check for vsscanf() and vsnprintf() - on some platforms (Linux, glibc
+dnl 2.1.1 for the first one, HP-UX for the second) it's available in the
+dnl library but the prototype is missing, so we can't use AC_CHECK_FUNCS() here,
+dnl do it manually. We can't use AC_TRY_COMPILE(), either, because it doesn't
+dnl check if the symbol is available at linking time
 
 
-AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
+dnl we use AC_TRY_LINK() here instead of AC_TRY_RUN() to make the checks
+dnl work for cross-compilation, but AC_TRY_LINK() normally only compiles
+dnl one function while we need at least 2 - hence the ugly hack below. To
+dnl understand why it works, remember that AC_TRY_LINK() just prepends
+dnl "int main() {" in the beginning of the code and "; return 0; }" at the
+dnl end...
+
+dnl if we fail to find vsnprintf, also try for _vsnprintf as that is what
+dnl we'll find under MSW if it exists.
+
+dnl final note: AC_TRY_LINK will only be executed if there is nothing in
+dnl the cache so we have to do AC_DEFINE(HAVE_VSNPRINTF) below and not inside
+dnl it or the symbol wouldn't be defined for the 2nd and subsequent configure
+dnl runs
+
+dnl check for vsnprintf() - a safe version of vsprintf()
+AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
 [
 [
-  AC_TRY_RUN(
-             [
-                #include <stdio.h>
-                #include <stdarg.h>
+  AC_TRY_LINK([
+                    #include <stdio.h>
+                    #include <stdarg.h>
+                 ], [
+                    int wx_test_vsnprintf(const char *, ...);
 
 
-                int try_vsscanf(const char *format, ...)
-                {
-                  va_list ap;
-                  va_start(ap, format);
+                    wx_test_vsnprintf("%s");
+                    return 0;
+                 }
+
+                 int wx_test_vsnprintf(const char *fmt, ...)
+                 {
+                    char *s;
+
+                    va_list argp;
+                    va_start(argp, fmt);
+                    vsnprintf(s, 42, fmt, argp);
+                    va_end(argp);
+                 ], [
+                    wx_cv_func_vsnprintf=yes
+                 ], [
+                    AC_TRY_LINK([
+                                      #include <stdio.h>
+                                      #include <stdarg.h>
+                                   ], [
+                                      int wx_test_vsnprintf(const char *, ...);
+
+                                      wx_test_vsnprintf("%s");
+                                      return 0;
+                                   }
+
+                                   int wx_test_vsnprintf(const char *fmt, ...)
+                                   {
+                                      char *s;
+
+                                      va_list argp;
+                                      va_start(argp, fmt);
+                                      _vsnprintf(s, 42, fmt, argp);
+                                      va_end(argp);
+                                   ], [
+                                      wx_cv_func_vsnprintf=yes
+                                   ], [
+                                      wx_cv_func_vsnprintf=no
+                                   ])
+                 ])
+])
 
 
-                  vsscanf("17", format, ap);
+if test "$wx_cv_func_vsnprintf" = yes; then
+    AC_DEFINE(HAVE_VSNPRINTF)
+else
+    AC_MSG_WARN(unsafe function vsprintf will be used instead of vsnprintf)
+fi
 
 
-                  va_end(ap);
+dnl check for vsscanf()
+AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
+[
+  AC_TRY_COMPILE([
+                    #include <stdio.h>
+                    #include <stdarg.h>
+                ], [
+                    int wx_test_vsscanf(const char *, ...);
+
+                    wx_test_vsscanf("%d");
+                    return 0;
                 }
 
                 }
 
-                int main()
+                int wx_test_vsscanf(const char *fmt, ...)
                 {
                 {
-                  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
-             )
+                    va_list argp;
+                    va_start(argp, fmt);
+                    vsscanf("42", fmt, argp);
+                    va_end(argp);
+                ], [
+                    wx_cv_func_vsscanf=yes
+                ], [
+                    wx_cv_func_vsscanf=no
+                ])
 ])
 
 ])
 
+if test "$wx_cv_func_vsscanf" = yes; then
+    AC_DEFINE(HAVE_VSSCANF)
+fi
+
+dnl the following tests are for Unix(like) systems only
+if test "$TOOLKIT" != "MSW"; then
+
+dnl check for available version of iconv()
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_CACHE_CHECK([if iconv() takes char**], wx_cv_iconv_takes_char,
+[
+    AC_TRY_COMPILE([#include <iconv.h>],
+    [
+        char **inbuf, **outbuf;
+        iconv_t cd;
+        size_t insz, outsz;
+        iconv(cd, inbuf, &insz, outbuf, &outsz);
+    ],
+    wx_cv_iconv_takes_char=yes,
+    wx_cv_iconv_takes_char=no)
+])
 AC_LANG_RESTORE
 AC_LANG_RESTORE
+if test "$wx_cv_iconv_takes_char" = yes ; then
+    AC_DEFINE(WX_ICONV_TAKES_CHAR)
+fi
+
+
+dnl check for POSIX signals if we need them
+if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
+    AC_CHECK_FUNCS(sigaction)
+
+    if test "$ac_cv_func_sigaction" = "no"; then
+        AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
+        wxUSE_ON_FATAL_EXCEPTION=no
+    fi
 
 
-if test "$USE_UNIX" = 1; then
+    if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
+      AC_LANG_SAVE
+      AC_LANG_CPLUSPLUS
+
+      AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
+      [
+        AC_TRY_COMPILE([#include <signal.h>],
+                     [
+                        extern void testSigHandler(int);
+
+                        struct sigaction sa;
+                        sa.sa_handler = testSigHandler;
+                     ], [
+                        wx_cv_type_sa_handler=int
+                     ], [
+                        wx_cv_type_sa_handler=void
+                     ])
+      ])
+
+      AC_LANG_RESTORE
+
+      AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
+    fi
+fi
 
 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)
 
+dnl check for the function for temp files creation
+AC_CHECK_FUNCS(mkstemp mktemp, break)
+
+dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
+dnl Linux and *BSD and statvfs() under Solaris
+AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
+    AC_TRY_COMPILE(
+        [
+             #if defined(__BSD__)
+               #include <sys/param.h>
+               #include <sys/mount.h>
+             #else
+               #include <sys/vfs.h>
+             #endif
+        ],
+        [
+             long l;
+             struct statfs fs;
+             statfs("/", &fs);
+             l = fs.f_bsize;
+             l += fs.f_blocks;
+             l += fs.f_bavail;
+        ],
+        [
+             wx_cv_func_statfs=yes
+        ],
+        [
+             wx_cv_func_statfs=no
+        ]
+    )
+)
+
+if test "$wx_cv_func_statfs" = "yes"; then
+    AC_DEFINE(HAVE_STATFS)
+else
+    AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
+        AC_TRY_COMPILE(
+            [
+                 #include <sys/statvfs.h>
+            ],
+            [
+                 long l;
+                 struct statvfs fs;
+                 statvfs("/", &fs);
+                 l = fs.f_bsize;
+                 l += fs.f_blocks;
+                 l += fs.f_bavail;
+            ],
+            [
+                 wx_cv_func_statvfs=yes
+            ],
+            [
+                 wx_cv_func_statvfs=no
+            ]
+        )
+    )
+
+    if test "$wx_cv_func_statvfs" = "yes"; then
+        AC_DEFINE(HAVE_STATVFS)
+    else
+        AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
+    fi
+fi
+
+dnl check for fcntl() or at least flock() needed by Unix implementation of
+dnl wxSingleInstanceChecker
+if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
+    AC_CHECK_FUNCS(fcntl flock, break)
+
+    if test "$ac_cv_func_fcntl" != "yes" -a "$ac_cv_func_flock" != "yes"; then
+        AC_MSG_WARN(wxSingleInstanceChecker not available)
+        wxUSE_SNGLINST_CHECKER=no
+    fi
+fi
+
 dnl check for timegm() used by datetime.cpp
 AC_CHECK_FUNCS(timegm)
 
 dnl check for timegm() used by datetime.cpp
 AC_CHECK_FUNCS(timegm)
 
+dnl look for a function to modify the environment
+AC_CHECK_FUNCS(putenv setenv, break)
+
 HAVE_SOME_SLEEP_FUNC=0
 if test "$USE_BEOS" = 1; then
     dnl BeOS has its own (wonder where did they get it from) sleep() function
 HAVE_SOME_SLEEP_FUNC=0
 if test "$USE_BEOS" = 1; then
     dnl BeOS has its own (wonder where did they get it from) sleep() function
@@ -2108,6 +3177,13 @@ if test "$USE_BEOS" = 1; then
     HAVE_SOME_SLEEP_FUNC=1
 fi
 
     HAVE_SOME_SLEEP_FUNC=1
 fi
 
+if test "$USE_DARWIN" = 1; then
+    dnl Mac OS X has both nanosleep and usleep
+    dnl but only usleep is defined in unistd.h
+    AC_DEFINE(HAVE_USLEEP)
+    HAVE_SOME_SLEEP_FUNC=1
+fi
+
 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
     dnl try nanosleep() in libc and libposix4, if this fails - usleep()
     POSIX4_LINK=
 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
     dnl try nanosleep() in libc and libposix4, if this fails - usleep()
     POSIX4_LINK=
@@ -2117,11 +3193,13 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
             AC_CHECK_LIB(posix4, nanosleep,
                 [
                     AC_DEFINE(HAVE_NANOSLEEP)
             AC_CHECK_LIB(posix4, nanosleep,
                 [
                     AC_DEFINE(HAVE_NANOSLEEP)
-                    POSIX4_LINK="-lposix4"
+                    POSIX4_LINK=" -lposix4"
                 ],
                 [
                 ],
                 [
-                    AC_CHECK_FUNCS(usleep)
-                    AC_MSG_WARN([wxSleep() function will not work])
+                    AC_CHECK_FUNCS(usleep,
+                        AC_DEFINE(HAVE_USLEEP),
+                        AC_MSG_WARN([wxSleep() function will not work])
+                    )
                 ]
             )
         ]
                 ]
             )
         ]
@@ -2131,9 +3209,15 @@ fi
 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
+dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler
+dnl but not for C++ one - hence change language)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
 AC_CHECK_FUNCS(strtok_r)
 
 AC_CHECK_FUNCS(strtok_r)
 
+AC_LANG_RESTORE
+
 dnl check for inet_addr and inet_aton (these may live either in libc, or in
 dnl libnsl or libresolv)
 INET_LINK=
 dnl check for inet_addr and inet_aton (these may live either in libc, or in
 dnl libnsl or libresolv)
 INET_LINK=
@@ -2158,11 +3242,11 @@ AC_CHECK_FUNCS(inet_aton,
 
 if test "x$INET_LINK" != "x"; then
     AC_DEFINE(HAVE_INET_ADDR)
 
 if test "x$INET_LINK" != "x"; then
     AC_DEFINE(HAVE_INET_ADDR)
-    INET_LINK="-l$INET_LINK"
+    INET_LINK=" -l$INET_LINK"
 fi
 
 fi
 fi
 
 fi
-dnl Unix
+dnl if !MSW
 
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
 
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
@@ -2175,128 +3259,216 @@ dnl ---------------------------------------------------------------------------
 dnl thread support for Unix (always available under Win32)
 dnl ---------------------------------------------------------------------------
 
 dnl thread support for Unix (always available under Win32)
 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   defines wxUSE_THREADS=1 if thread support is activated
-
-THREADS_LINK=""
-THREADS_OBJ=""
-
-if test "$wxUSE_THREADS" = "yes" ; then
-    if test "$wxUSE_WINE" = 1 ; then
-        AC_MSG_WARN([Threads are not supported under WINE])
-        wxUSE_THREADS="no"
-    elif test "$USE_BEOS" = 1; then
-        AC_MSG_WARN([BeOS threads are not yet supported])
-        wxUSE_THREADS="no"
+dnl under MSW we always have thread support
+if test "$TOOLKIT" != "MSW"; 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   defines wxUSE_THREADS=1 if thread support is activated
+
+    THREADS_LINK=
+    THREADS_OBJ=
+    CODE_GEN_FLAGS=
+    CODE_GEN_FLAGS_CXX=
+
+    if test "$wxUSE_THREADS" = "yes" ; then
+        if test "$wxUSE_WINE" = 1 ; then
+            AC_MSG_WARN([Threads are not supported under WINE... disabled])
+            wxUSE_THREADS="no"
+        elif test "$USE_BEOS" = 1; then
+            AC_MSG_WARN([BeOS threads are not yet supported... disabled])
+            wxUSE_THREADS="no"
+        fi
     fi
     fi
-fi
 
 
-if test "$wxUSE_THREADS" = "yes" ; then
-    dnl find if POSIX threads are available
+    if test "$wxUSE_THREADS" = "yes" ; then
+        dnl find if POSIX threads are available
 
 
-    dnl standard lib name is pthread
-    dnl We no longer test for pthread-0.7 as it breaks compilation on some
-    dnl glibc2 systems, especially for static linkage.
-    AC_CHECK_LIB(pthread, pthread_create, [
-            THREADS_OBJ="threadpsx.lo"
-            THREADS_LINK="pthread"
-        ], [
-            dnl thread functions are in libc_r under FreeBSD
-            AC_CHECK_LIB(c_r, pthread_create, [
+        dnl AIX calls the library libpthreads - thanks IBM!
+        if test "$USE_AIX" = 1; then
+            THREADS_LIB=pthreads
+        else
+            THREADS_LIB=pthread
+        fi
+
+        dnl standard lib name is pthread
+        dnl We no longer test for pthread-0.7 as it breaks compilation on some
+        dnl glibc2 systems, especially for static linkage.
+        AC_CHECK_LIB($THREADS_LIB, pthread_create, [
                 THREADS_OBJ="threadpsx.lo"
                 THREADS_OBJ="threadpsx.lo"
-                THREADS_LINK="c_r"
+                THREADS_LINK=$THREADS_LIB
             ], [
             ], [
-                dnl VZ: SGI threads are not supported currently
-                AC_CHECK_HEADER(sys/prctl.h, [
-                    THREADS_OBJ="threadsgi.lo"
+                dnl thread functions are in libc_r under FreeBSD
+                AC_CHECK_LIB(c_r, pthread_create, [
+                    THREADS_OBJ="threadpsx.lo"
+                    THREADS_LINK="c_r"
+                ], [
+                    dnl VZ: SGI threads are not supported currently
+                    AC_CHECK_HEADER(sys/prctl.h, [
+                        THREADS_OBJ="threadsgi.lo"
+                    ])
                 ])
             ])
                 ])
             ])
+
+        if test -z "$THREADS_OBJ" ; then
+            wxUSE_THREADS=no
+            AC_MSG_WARN([No thread support on this system... disabled])
+        fi
+    fi
+
+    dnl do other tests only if we are using threads
+    if test "$wxUSE_THREADS" = "yes" ; then
+      AC_CHECK_FUNCS(thr_setconcurrency)
+
+      dnl define autoconf macro to check for given function in both pthread and
+      dnl posix4 libraries
+      dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
+      dnl VZ: TODO
+      dnl AC_DEFUN(AC_FUNC_THREAD,
+      dnl [
+      dnl     AC_CHECK_LIB($THREADS_LINK, $1,
+      dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
+      dnl            [AC_CHECK_LIB([posix4], $1,
+      dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
+      dnl                 POSIX4_LINK=" -lposix4"
+      dnl             ])
+      dnl            ])
+      dnl ])
+
+      AC_CHECK_HEADERS(sched.h)
+
+      AC_CHECK_LIB($THREADS_LINK, sched_yield,
+                   AC_DEFINE(HAVE_SCHED_YIELD),
+                   [AC_CHECK_LIB([posix4], sched_yield,
+                       [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
+                       AC_MSG_WARN(wxThread::Yield will not work properly)
+                    )]
+                   )
+
+      dnl to be able to set the thread priority, we need to have all of the
+      dnl following functions:
+      dnl   1. pthread_attr_getschedpolicy
+      dnl   2. sched_get_priority_min and sched_get_priority_max
+      dnl      (this one can be in either libpthread or libposix4 (under Solaris))
+      dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
+      HAVE_PRIOR_FUNCS=0
+      AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
+                     AC_CHECK_LIB($THREADS_LINK, pthread_attr_setschedparam,
+                       AC_CHECK_LIB($THREADS_LINK, sched_get_priority_max,
+                           HAVE_PRIOR_FUNCS=1,
+                           AC_CHECK_LIB([posix4], sched_get_priority_max,
+                             [
+                                HAVE_PRIOR_FUNCS=1
+                                POSIX4_LINK=" -lposix4"
+                             ],
+                           )
+                       )
+                     )
+                   )
+
+      if test "$HAVE_PRIOR_FUNCS" = 1; then
+        AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
+      else
+        AC_MSG_WARN(Setting thread priority will not work)
+      fi
+
+      AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
+                   AC_DEFINE(HAVE_PTHREAD_CANCEL),
+                   AC_MSG_WARN([wxThread::Kill() will not work properly]))
+
+      AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
+      [
+        AC_TRY_COMPILE([#include <pthread.h>],
+                     [
+                        pthread_cleanup_push(NULL, NULL);
+                        pthread_cleanup_pop(0);
+                     ], [
+                        wx_cv_func_pthread_cleanup_push=yes
+                     ], [
+                        wx_cv_func_pthread_cleanup_push=no
+                     ])
+      ])
+
+      if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
+          AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
+      fi
+
+      dnl mutexattr_t initialization is done in quite different ways on different
+      dnl platforms, so check for a few things:
+      dnl
+      dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
+      dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
+      dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
+      dnl defined, we do it by directly assigned
+      dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
+
+      dnl we need _GNU_SOURCE to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+
+      dnl (strictly speaking we only need _XOPEN_SOURCE=500 but just defining
+      dnl this disables _BSD_SOURCE which breaks libtiff compilation, so it is
+      dnl simpler to just define _GNU_SOURCE to get everything)
+      if test "x$wx_lib_glibc21" = "xyes"; then
+          CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+      fi
+
+      AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
+      [
+        AC_TRY_COMPILE([#include <pthread.h>],
+            [
+               pthread_mutexattr_t attr;
+               pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+            ], [
+               wx_cv_type_pthread_mutexattr_t=yes
+            ], [
+               wx_cv_type_pthread_mutexattr_t=no
+            ]
+        )
+      ])
+
+      if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
+        AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
+      else
+        dnl don't despair, there may be another way to do it
+        AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
+                       wx_cv_type_pthread_rec_mutex_init,
+        [
+            AC_TRY_COMPILE([#include <pthread.h>],
+                [
+                    pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+                ], [
+                    wx_cv_type_pthread_rec_mutex_init=yes
+                ], [
+                    wx_cv_type_pthread_rec_mutex_init=no
+                ]
+            )
         ])
         ])
+        if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
+          AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
+        else
+          dnl this may break code working elsewhere, so at least warn about it
+          AC_MSG_WARN([wxMutex won't be recursive on this platform])
+        fi
+      fi
 
 
-    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
-  AC_CHECK_FUNCS(thr_setconcurrency)
-
-  dnl define autoconf macro to check for given function in both pthread and
-  dnl posix4 libraries
-  dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
-  dnl VZ: TODO
-  dnl AC_DEFUN(AC_FUNC_THREAD,
-  dnl [
-  dnl     AC_CHECK_LIB($THREADS_LINK, $1,
-  dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
-  dnl            [AC_CHECK_LIB("posix4", $1,
-  dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
-  dnl                 POSIX4_LINK="-lposix4"
-  dnl             ])
-  dnl            ])
-  dnl ])
-
-  AC_CHECK_HEADERS(sched.h)
-
-  AC_CHECK_LIB($THREADS_LINK, sched_yield,
-               AC_DEFINE(HAVE_SCHED_YIELD),
-               [AC_CHECK_LIB("posix4", sched_yield,
-                   [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
-                   AC_MSG_WARN(wxThread::Yield will not work properly)
-                )]
-               )
-
-  dnl VZ: we should be checking for all of the following functions instead:
-  dnl   1. pthread_attr_getschedpolicy
-  dnl   2. sched_get_priority_min and sched_get_priority_max
-  dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
-  dnl but it seems that if the first one is there, the other ones are too (of
-  dnl course the proper solution would be to implement AC_FUNC_THREAD above
-  dnl and do test for them all - anyone?)
-  AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
-               AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
-               [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
-                   [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
-                   AC_MSG_WARN(Setting thread priority will not work)
-                )]
-               )
-
-  AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
-               AC_DEFINE(HAVE_PTHREAD_CANCEL),
-               AC_MSG_WARN([wxThread::Kill() will not work properly]))
-
-  AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
-  [
-    AC_TRY_COMPILE([#include <pthread.h>],
-                 [
-                    pthread_cleanup_push(NULL, NULL);
-                    pthread_cleanup_pop(0);
-                 ], [
-                    wx_cv_func_pthread_cleanup_push=yes
-                    AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
-                 ], [
-                    wx_cv_func_pthread_cleanup_push=no
-                 ])
-  ])
+      THREADS_LINK=" -l$THREADS_LINK"
 
 
-  THREADS_LINK="-l$THREADS_LINK"
-fi
+      dnl building MT programs under Solaris with the native compiler requires -mt
+      dnl switch
+      if test "$USE_SOLARIS" = "yes" -a "$GCC" != "yes"; then
+          CPPFLAGS="$CFLAGS -mt"
+          CXXFLAGS="$CXXFLAGS -mt"
+          LDFLAGS="$LDFLAGS -mt"
+      fi
+    fi
 
 
-dnl from if USE_UNIX
+dnl from if !MSW
 fi
 
 if test "$wxUSE_THREADS" = "yes"; then
   AC_DEFINE(wxUSE_THREADS)
 
 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"
+  dnl we must define _REENTRANT or something along these lines for MT code
+  TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS $CPP_MT_FLAG"
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
 else
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
 else
@@ -2305,8 +3477,7 @@ else
   if test "$ac_cv_func_strtok_r" = "yes"; then
     AC_MSG_CHECKING(if -D_REENTRANT is needed)
     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
   if test "$ac_cv_func_strtok_r" = "yes"; then
     AC_MSG_CHECKING(if -D_REENTRANT is needed)
     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
-        CFLAGS="${CFLAGS} -D_REENTRANT"
-        CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+        TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D_REENTRANT"
         AC_MSG_RESULT(yes)
     else
         AC_MSG_RESULT(no)
         AC_MSG_RESULT(yes)
     else
         AC_MSG_RESULT(no)
@@ -2314,8 +3485,8 @@ else
   fi
 fi
 
   fi
 fi
 
-if test "$WXGTK13" = 1 ; then
-  AC_DEFINE_UNQUOTED(__WXGTK13__,$WXGTK13)
+if test "$WXGTK20" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
   WXGTK12=1
 fi
 
   WXGTK12=1
 fi
 
@@ -2323,12 +3494,8 @@ if test "$WXGTK12" = 1 ; then
   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
 fi
 
   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
 fi
 
-if test "$WXWINE" = 1 ; then
-  TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
-fi
-
-if test "$wxUSE_CYGWIN" = 1 ; then
-  TOOLKIT_DEF="${TOOLKIT_DEF} -D__WIN95__"
+if test "$WXGTK127" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
 fi
 
 WXDEBUG=
 fi
 
 WXDEBUG=
@@ -2360,28 +3527,29 @@ if test "$wxUSE_MEM_TRACING" = "yes" ; then
 fi
 
 if test "$wxUSE_DMALLOC" = "yes" ; then
 fi
 
 if test "$wxUSE_DMALLOC" = "yes" ; then
-    DMALLOC_LINK="-ldmalloc"
+    DMALLOC_LIBS="-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=
-CODE_GEN_FLAGS=
-if test "$GCC" = yes ; then
+if test "$GCC" = "yes" ; then
     if test "$wxUSE_NO_RTTI" = "yes" ; then
     if test "$wxUSE_NO_RTTI" = "yes" ; then
-        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-rtti"
+        CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-rtti"
     fi
     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
     fi
     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
-        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-exceptions"
+        CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-exceptions"
     fi
     if test "$wxUSE_PERMISSIVE" = "yes" ; then
     fi
     if test "$wxUSE_PERMISSIVE" = "yes" ; then
-       CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
+        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
     fi
     fi
-    if test "$wxUSE_NO_DEPS" = "no" ; then
-        DEP_INFO_FLAGS="-MMD"
+    if test "$USE_WIN32" = 1 ; then
+        # I'm not even really sure what this was ever added to solve,
+        # but someone added it for mingw native builds, so I guess
+        # they had a reason, right??
+        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-pcc-struct-return"
     fi
 fi
 
     fi
 fi
 
@@ -2403,49 +3571,14 @@ else
     fi
 fi
 
     fi
 fi
 
-dnl ---------------------------------------------------------------------------
-dnl Optional libraries
-dnl ---------------------------------------------------------------------------
-
-ZLIB_INCLUDE=
-if test "$wxUSE_ZLIB" = "yes" ; then
-  AC_DEFINE(wxUSE_ZLIB)
-  ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
-fi
-
-PNG_INCLUDE=
-if test "$wxUSE_LIBPNG" = "yes" ; then
-  AC_DEFINE(wxUSE_LIBPNG)
-  PNG_INCLUDE="-I\${top_srcdir}/src/png"
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
-fi
-
-JPEG_INCLUDE=
-if test "$wxUSE_LIBJPEG" = "yes" ; then
-  AC_DEFINE(wxUSE_LIBJPEG)
-  JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
-fi
+if test "$WXWIN_COMPATIBILITY_2" = "yes"; then
+    AC_DEFINE(WXWIN_COMPATIBILITY_2)
 
 
-TIFF_INCLUDE=
-if test "$wxUSE_LIBTIFF" = "yes" ; then
-  AC_DEFINE(wxUSE_LIBTIFF)
-  TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
+    WXWIN_COMPATIBILITY_2_2="yes"
 fi
 
 fi
 
-if test "$wxUSE_OPENGL" = "yes"; then
-  AC_CHECK_HEADER(GL/gl.h, [
-    AC_CHECK_LIB(GL, glInitNames, [
-      OPENGL_LINK="-lGL"
-      AC_DEFINE(wxUSE_OPENGL)
-      UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
-    ],[
-        AC_CHECK_LIB(MesaGL, glInitNames, [
-        OPENGL_LINK="-lMesaGL"
-        AC_DEFINE(wxUSE_OPENGL)
-        UTILS_SUBDIRS="$UTILS_SUBDIRS glcanvas/src"
-      ],wxUSE_OPENGL=0)
-     ],wxUSE_OPENGL=0)
-    ],wxUSE_OPENGL=0)
+if test "$WXWIN_COMPATIBILITY_2_2" = "yes"; then
+    AC_DEFINE(WXWIN_COMPATIBILITY_2_2)
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -2486,14 +3619,42 @@ if test "$wxUSE_APPLE_IEEE" = "yes"; then
   AC_DEFINE(wxUSE_APPLE_IEEE)
 fi
 
   AC_DEFINE(wxUSE_APPLE_IEEE)
 fi
 
+if test "$wxUSE_TIMER" = "yes"; then
+  AC_DEFINE(wxUSE_TIMER)
+fi
+
 if test "$wxUSE_WAVE" = "yes"; then
   AC_DEFINE(wxUSE_WAVE)
 fi
 
 if test "$wxUSE_WAVE" = "yes"; then
   AC_DEFINE(wxUSE_WAVE)
 fi
 
+if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
+  AC_DEFINE(wxUSE_CMDLINE_PARSER)
+fi
+
+if test "$wxUSE_STOPWATCH" = "yes"; then
+  AC_DEFINE(wxUSE_STOPWATCH)
+fi
+
+if test "$wxUSE_DATETIME" = "yes"; then
+  AC_DEFINE(wxUSE_DATETIME)
+fi
+
+if test "$wxUSE_TIMEDATE" = "yes"; then
+  AC_DEFINE(wxUSE_TIMEDATE)
+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_FFILE" = "yes"; then
+  AC_DEFINE(wxUSE_FFILE)
+fi
+
+if test "$wxUSE_FILESYSTEM" = "yes"; then
+  AC_DEFINE(wxUSE_FILESYSTEM)
+fi
+
 if test "$wxUSE_FS_INET" = "yes"; then
   AC_DEFINE(wxUSE_FS_INET)
 fi
 if test "$wxUSE_FS_INET" = "yes"; then
   AC_DEFINE(wxUSE_FS_INET)
 fi
@@ -2506,6 +3667,14 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_ZIPSTREAM)
 fi
 
   AC_DEFINE(wxUSE_ZIPSTREAM)
 fi
 
+if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
+  AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
+fi
+
+if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
+  AC_DEFINE(wxUSE_SNGLINST_CHECKER)
+fi
+
 if test "$wxUSE_BUSYINFO" = "yes"; then
   AC_DEFINE(wxUSE_BUSYINFO)
 fi
 if test "$wxUSE_BUSYINFO" = "yes"; then
   AC_DEFINE(wxUSE_BUSYINFO)
 fi
@@ -2514,9 +3683,13 @@ if test "$wxUSE_STD_IOSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_STD_IOSTREAM)
 fi
 
   AC_DEFINE(wxUSE_STD_IOSTREAM)
 fi
 
+if test "$wxUSE_TEXTBUFFER" = "yes"; then
+    AC_DEFINE(wxUSE_TEXTBUFFER)
+fi
+
 if test "$wxUSE_TEXTFILE" = "yes"; then
 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_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
+    AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
   else
     AC_DEFINE(wxUSE_TEXTFILE)
   fi
   else
     AC_DEFINE(wxUSE_TEXTFILE)
   fi
@@ -2524,7 +3697,7 @@ fi
 
 if test "$wxUSE_CONFIG" = "yes" ; then
   if test "$wxUSE_TEXTFILE" != "yes"; then
 
 if test "$wxUSE_CONFIG" = "yes" ; then
   if test "$wxUSE_TEXTFILE" != "yes"; then
-    AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
+    AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
   else
     AC_DEFINE(wxUSE_CONFIG)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
   else
     AC_DEFINE(wxUSE_CONFIG)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
@@ -2533,21 +3706,38 @@ fi
 
 if test "$wxUSE_INTL" = "yes" ; then
   if test "$wxUSE_FILE" != "yes"; then
 
 if test "$wxUSE_INTL" = "yes" ; then
   if test "$wxUSE_FILE" != "yes"; then
-    AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
+    AC_MSG_WARN(I18n code requires wxFile... disabled)
   else
     AC_DEFINE(wxUSE_INTL)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
   else
     AC_DEFINE(wxUSE_INTL)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
+    GUIDIST="$GUIDIST INTL_DIST"
   fi
 fi
 
 if test "$wxUSE_LOG" = "yes"; then
   AC_DEFINE(wxUSE_LOG)
   fi
 fi
 
 if test "$wxUSE_LOG" = "yes"; then
   AC_DEFINE(wxUSE_LOG)
+
+    if test "$wxUSE_LOGGUI" = "yes"; then
+      AC_DEFINE(wxUSE_LOGGUI)
+    fi
+
+    if test "$wxUSE_LOGWINDOW" = "yes"; then
+      AC_DEFINE(wxUSE_LOGWINDOW)
+    fi
+
+    if test "$wxUSE_LOGDIALOG" = "yes"; then
+      AC_DEFINE(wxUSE_LOG_DIALOG)
+    fi
 fi
 
 if test "$wxUSE_LONGLONG" = "yes"; then
   AC_DEFINE(wxUSE_LONGLONG)
 fi
 
 fi
 
 if test "$wxUSE_LONGLONG" = "yes"; then
   AC_DEFINE(wxUSE_LONGLONG)
 fi
 
+if test "$wxUSE_GEOMETRY" = "yes"; then
+  AC_DEFINE(wxUSE_GEOMETRY)
+fi
+
 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
   AC_DEFINE(wxUSE_DIALUP_MANAGER)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
   AC_DEFINE(wxUSE_DIALUP_MANAGER)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
@@ -2557,11 +3747,11 @@ if test "$wxUSE_STREAMS" = "yes" ; then
   AC_DEFINE(wxUSE_STREAMS)
 fi
 
   AC_DEFINE(wxUSE_STREAMS)
 fi
 
-dnl ------------------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
 dnl time/date functions
 dnl ------------------------------------------------------------------------
 
 dnl time/date functions
 dnl ------------------------------------------------------------------------
 
-if test "$wxUSE_TIMEDATE" = "yes"; then
+if test "$wxUSE_DATETIME" = "yes"; then
     dnl check for strptime
     AC_CHECK_FUNCS(strptime)
 
     dnl check for strptime
     AC_CHECK_FUNCS(strptime)
 
@@ -2575,10 +3765,10 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
                             ],
                             [
                                 int tz;
                             ],
                             [
                                 int tz;
-                                tz = __timezone;
+                                tz = timezone;
                             ],
                             [
                             ],
                             [
-                                wx_cv_var_timezone=__timezone
+                                wx_cv_var_timezone=timezone
                             ],
                             [
                                 AC_TRY_COMPILE(
                             ],
                             [
                                 AC_TRY_COMPILE(
@@ -2599,12 +3789,16 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
                                             ],
                                             [
                                                 int tz;
                                             ],
                                             [
                                                 int tz;
-                                                tz = timezone;
+                                                tz = __timezone;
                                             ],
                                             [
                                             ],
                                             [
-                                                wx_cv_var_timezone=timezone
+                                                wx_cv_var_timezone=__timezone
                                             ],
                                             ],
-                                            AC_MSG_ERROR(no timezone variable)
+                                            [
+                                                if test "$USE_DOS" = 0 ; then
+                                                    AC_MSG_ERROR(no timezone variable)
+                                                fi
+                                            ]
                                         )
                                     ]
                                 )
                                         )
                                     ]
                                 )
@@ -2614,7 +3808,9 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
     )
 
     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
     )
 
     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
-    AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
+    if test "x$wx_cv_var_timezone" != x ; then
+        AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
+    fi
 
     dnl check for localtime (it's POSIX, but the check can do no harm...)
     AC_CHECK_FUNCS(localtime)
 
     dnl check for localtime (it's POSIX, but the check can do no harm...)
     AC_CHECK_FUNCS(localtime)
@@ -2633,13 +3829,16 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
                 ],
                 [
                     wx_cv_struct_tm_has_gmtoff=yes
                 ],
                 [
                     wx_cv_struct_tm_has_gmtoff=yes
-                    AC_DEFINE(WX_GMTOFF_IN_TM)
                 ],
                 wx_cv_struct_tm_has_gmtoff=no
             )
         ])
     fi
 
                 ],
                 wx_cv_struct_tm_has_gmtoff=no
             )
         ])
     fi
 
+    if test "$wx_cv_struct_tm_has_gmtoff" = "yes"; then
+        AC_DEFINE(WX_GMTOFF_IN_TM)
+    fi
+
     dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
     dnl function to be used for high resolution timers
     AC_CHECK_FUNCS(gettimeofday ftime, break)
     dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
     dnl function to be used for high resolution timers
     AC_CHECK_FUNCS(gettimeofday ftime, break)
@@ -2659,8 +3858,7 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
                 ],
                 [
                     struct timeval tv;
                 ],
                 [
                     struct timeval tv;
-                    struct timezone tz;
-                    gettimeofday(&tv, &tz);
+                    gettimeofday(&tv, NULL);
                 ],
                 wx_cv_func_gettimeofday_has_2_args=yes,
                 AC_TRY_COMPILE(
                 ],
                 wx_cv_func_gettimeofday_has_2_args=yes,
                 AC_TRY_COMPILE(
@@ -2673,7 +3871,10 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
                         gettimeofday(&tv);
                     ],
                     wx_cv_func_gettimeofday_has_2_args=no,
                         gettimeofday(&tv);
                     ],
                     wx_cv_func_gettimeofday_has_2_args=no,
-                    wx_cv_func_gettimeofday_has_2_args=unknown
+                    [
+                        AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
+                        wx_cv_func_gettimeofday_has_2_args=unknown
+                    ]
                 )
             )
             AC_LANG_RESTORE
                 )
             )
             AC_LANG_RESTORE
@@ -2692,133 +3893,209 @@ dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
-if test "$wxUSE_SOCKETS" = "yes"; then
-    dnl under Solaris, socket functions live in -lsocket
-    AC_CHECK_FUNC(socket,,
-        AC_CHECK_LIB(socket, socket,
-            INET_LINK="$INET_LINK -lsocket",
-            [
-                AC_MSG_WARN([socket library not found - sockets will be disabled])
-                wxUSE_SOCKETS=no
-            ]
-        )
-    )
-fi
+dnl under MSW we always have sockets
+if test "$TOOLKIT" != "MSW"; then
 
 
-if test "$wxUSE_SOCKETS" = "yes" ; then
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-    dnl determine the type of third argument for getsockname
-    AC_MSG_CHECKING(the type of the third argument of getsockname)
-    AC_TRY_COMPILE(
-        [#include <sys/socket.h>],
-        [socklen_t len; getsockname(0, 0, &len);],
-        AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
-           AC_TRY_COMPILE(
-            [#include <sys/socket.h>],
-            [size_t len; getsockname(0, 0, &len);],
-            AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
-            AC_TRY_COMPILE(
-                [#include <sys/socket.h>],
-                [int len; getsockname(0, 0, &len);],
-                AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
-                AC_MSG_RESULT(unknown)
+    if test "$wxUSE_SOCKETS" = "yes"; then
+        dnl under Solaris, socket functions live in -lsocket
+        AC_CHECK_FUNC(socket,,
+            AC_CHECK_LIB(socket, socket,
+                INET_LINK="$INET_LINK -lsocket",
+                [
+                    AC_MSG_WARN([socket library not found - sockets will be disabled])
+                    wxUSE_SOCKETS=no
+                ]
             )
         )
             )
         )
-    )
-    AC_LANG_RESTORE
+    fi
+
+    dnl this test may be appropriate if building under cygwin
+    dnl right now I'm assuming it also uses the winsock stuff
+    dnl like mingw does..  -- RL
+
+    if test "$wxUSE_SOCKETS" = "yes" ; then
+        dnl determine the type of third argument for getsockname
+        AC_CACHE_CHECK([what is the type of the third argument of getsockname],
+                       wx_cv_type_getsockname3,
+            [
+                AC_LANG_SAVE
+                AC_LANG_CPLUSPLUS
+
+                AC_TRY_COMPILE(
+                    [
+                        #include <sys/types.h>
+                        #include <sys/socket.h>
+                    ],
+                    [
+                        socklen_t len;
+                        getsockname(0, 0, &len);
+                    ],
+                    wx_cv_type_getsockname3=socklen_t,
+                    AC_TRY_COMPILE(
+                        [
+                            #include <sys/types.h>
+                            #include <sys/socket.h>
+                        ],
+                        [
+                            size_t len;
+                            getsockname(0, 0, &len);
+                        ],
+                        wx_cv_type_getsockname3=size_t,
+                        AC_TRY_COMPILE(
+                            [
+                                #include <sys/types.h>
+                                #include <sys/socket.h>
+                            ],
+                            [
+                                int len;
+                                getsockname(0, 0, &len);
+                            ],
+                            wx_cv_type_getsockname3=int,
+                            wx_cv_type_getsockname3=unknown
+                        )
+                    )
+                )
+
+                AC_LANG_RESTORE
+            ])
+
+        if test "$wx_cv_type_getsockname3" = "unknown"; then
+            wxUSE_SOCKETS=no
+            AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+        else
+            AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
+        fi
+    fi
+fi
+dnl if !MSW
 
 
+if test "$wxUSE_SOCKETS" = "yes" ; then
     AC_DEFINE(wxUSE_SOCKETS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
     AC_DEFINE(wxUSE_SOCKETS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
-    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
 fi
 
 dnl ---------------------------------------------------------------------------
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
 fi
 
 dnl ---------------------------------------------------------------------------
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
-if test "$wxUSE_JOYSTICK" = 1; then
-  dnl joystick support is only for Linux 2.1.x or greater
-  AC_CHECK_HEADERS(linux/joystick.h)
-  if test "$ac_cv_header_linux_joystick_h" = "yes"; then
-    AC_DEFINE(wxUSE_JOYSTICK)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
-  fi
+if test "$wxUSE_GUI" = "yes"; then
+
+    if test "$TOOLKIT" = "MAC"; then
+        AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
+        wxUSE_JOYSTICK=no
+     fi
+    if test "$TOOLKIT" = "MOTIF"; then
+        AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
+        wxUSE_JOYSTICK=no
+     fi
+
+    dnl under MSW we always have joystick support
+    if test "$TOOLKIT" != "MSW"; then
+        if test "$wxUSE_JOYSTICK" = "yes"; then
+            dnl joystick support is only for Linux 2.1.x or greater
+            AC_CHECK_HEADERS(linux/joystick.h)
+            if test "$ac_cv_header_linux_joystick_h" != "yes"; then
+                wxUSE_JOYSTICK=no
+                AC_MSG_WARN(Joystick not supported by this system... disabled)
+            fi
+        fi
+    fi
+
+    if test "$wxUSE_JOYSTICK" = "yes"; then
+        AC_DEFINE(wxUSE_JOYSTICK)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+    fi
 fi
 
 dnl ------------------------------------------------------------------------
 dnl DLL support
 dnl ------------------------------------------------------------------------
 
 fi
 
 dnl ------------------------------------------------------------------------
 dnl DLL support
 dnl ------------------------------------------------------------------------
 
-HAVE_DL_FUNCS=0
-HAVE_SHL_FUNCS=0
-if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
-    dnl the test is a bit complicated because we check for dlopen() both with
-    dnl and without -ldl and we also try to find shl_load() if there is no
-    dnl dlopen() on this system
-    AC_CHECK_FUNCS(dlopen,
-        [
-            AC_DEFINE(HAVE_DLOPEN)
+dnl under MSW we always have LoadLibrary/GetProcAddress
+if test "$TOOLKIT" != "MSW"; then
+
+    HAVE_DL_FUNCS=0
+    HAVE_SHL_FUNCS=0
+    if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+        if test "$USE_DARWIN" = 1; then
+            dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
             HAVE_DL_FUNCS=1
             HAVE_DL_FUNCS=1
-        ],
-        [
-            AC_CHECK_LIB(dl, dlopen,
-                        [
-                            AC_DEFINE(HAVE_DLOPEN)
-                            HAVE_DL_FUNCS=1
-                            LIBS="$LIBS -ldl"
-                        ],
-                        [
-                            AC_CHECK_FUNCS(shl_load,
-                                          [
-                                            AC_DEFINE(HAVE_SHL_LOAD)
-                                            HAVE_SHL_FUNCS=1
-                                          ])
-                        ])
-        ])
+        else
+            dnl the test is a bit complicated because we check for dlopen() both with
+            dnl and without -ldl and we also try to find shl_load() if there is no
+            dnl dlopen() on this system
+            AC_CHECK_FUNCS(dlopen,
+            [
+                AC_DEFINE(HAVE_DLOPEN)
+                HAVE_DL_FUNCS=1
+            ],
+            [
+                AC_CHECK_LIB(dl, dlopen,
+                            [
+                                AC_DEFINE(HAVE_DLOPEN)
+                                HAVE_DL_FUNCS=1
+                                DL_LINK=" -ldl$DL_LINK"
+                            ],
+                            [
+                                AC_CHECK_FUNCS(shl_load,
+                                              [
+                                                AC_DEFINE(HAVE_SHL_LOAD)
+                                                HAVE_SHL_FUNCS=1
+                                              ],
+                                              [
+                                                AC_CHECK_LIB(shl_load, dld,
+                                                             [
+                                                                HAVE_SHL_FUNCS=1
+                                                                DL_LINK=" -ldld$DL_LINK"
+                                                             ])
+                                              ])
+                            ])
+            ])
 
 
-    if test "$HAVE_DL_FUNCS" = 0; then
-        if test "$HAVE_SHL_FUNCS" = 0; then
-          if test "$USE_UNIX" = 1; then
-              AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
-              wxUSE_DYNLIB_CLASS=no
-          else
-              AC_MSG_WARN([Assuming wxLibrary class works on this platform])
-          fi
+        dnl check also for dlerror()
+        if test "$HAVE_DL_FUNCS" = 1; then
+            AC_CHECK_FUNCS(dlerror,
+                           AC_DEFINE(HAVE_DLERROR),
+                           AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR)))
+        fi
+        fi
+
+        if test "$HAVE_DL_FUNCS" = 0; then
+            if test "$HAVE_SHL_FUNCS" = 0; then
+              if test "$USE_UNIX" = 1; then
+                  AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
+                  wxUSE_DYNAMIC_LOADER=no
+                  wxUSE_DYNLIB_CLASS=no
+              else
+                  AC_MSG_WARN([Assuming wxLibrary class works on this platform])
+              fi
+            fi
         fi
     fi
 fi
 
         fi
     fi
 fi
 
-if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
+    AC_DEFINE(wxUSE_DYNAMIC_LOADER)
+elif test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
     AC_DEFINE(wxUSE_DYNLIB_CLASS)
     AC_DEFINE(wxUSE_DYNLIB_CLASS)
-else
-    wxUSE_ODBC=no
-    wxUSE_SERIAL=no
 fi
 
 dnl ---------------------------------------------------------------------------
 dnl String stuff
 dnl ---------------------------------------------------------------------------
 
 fi
 
 dnl ---------------------------------------------------------------------------
 dnl String stuff
 dnl ---------------------------------------------------------------------------
 
-if test "$wxUSE_UNICODE" = "yes" ; then
-  AC_DEFINE(wxUSE_UNICODE)
+if test "$wxUSE_FONTMAP" = "yes" ; then
+  AC_DEFINE(wxUSE_FONTMAP)
 fi
 
 fi
 
-if test "$wxUSE_WCSRTOMBS" = "yes" ; then
-  AC_DEFINE(wxUSE_WCSRTOMBS)
+if test "$wxUSE_UNICODE" = "yes" ; then
+  AC_DEFINE(wxUSE_UNICODE)
 fi
 
 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
 fi
 
 fi
 
 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
 fi
 
-dnl ----------------------------------------------------------------
-dnl serialization support
-dnl ----------------------------------------------------------------
-
-if test "$wxUSE_SERIAL" = "yes" ; then
-    AC_DEFINE(wxUSE_SERIAL)
-fi
 
 dnl ----------------------------------------------------------------
 dnl iODBC support
 
 dnl ----------------------------------------------------------------
 dnl iODBC support
@@ -2829,9 +4106,6 @@ if test "$wxUSE_ODBC" = "yes" ; then
     AC_DEFINE(wxUSE_ODBC)
     WXODBCFLAG="-D_IODBC_"
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
     AC_DEFINE(wxUSE_ODBC)
     WXODBCFLAG="-D_IODBC_"
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
-    IODBCOBJS="\$(IODBC_OBJS)"
-else
-    IODBCOBJS=
 fi
 
 dnl ----------------------------------------------------------------
 fi
 
 dnl ----------------------------------------------------------------
@@ -2856,8 +4130,15 @@ if test "$wxUSE_CONSTRAINTS" = "yes"; then
 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"
+    if test "$wxUSE_UNIVERSAL" = "yes"; then
+        AC_MSG_WARN(MDI not yet supported for wxUNIVERSAL... disabled)
+        wxUSE_MDI_ARCHITECTURE=no
+    fi
+
+    if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
+        AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+    fi
 fi
 
 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
 fi
 
 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
@@ -2871,6 +4152,28 @@ fi
 if test "$wxUSE_HELP" = "yes"; then
     AC_DEFINE(wxUSE_HELP)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
 if test "$wxUSE_HELP" = "yes"; then
     AC_DEFINE(wxUSE_HELP)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
+
+    if test "$wxUSE_MSW" = 1; then
+      if test "$wxUSE_MS_HTML_HELP" = "yes"; then
+        AC_CHECK_HEADER(htmlhelp.h, 
+            [
+                AC_DEFINE(wxUSE_MS_HTML_HELP)
+            ],
+            [
+                AC_MSG_WARN([MS HTML Help cannot be used without htmlhelp.h... disabled])
+                wxUSE_MS_HTML_HELP=no
+            ])
+      fi
+    fi
+
+    if test "$wxUSE_WXHTML_HELP" = "yes"; then
+      if test "$wxUSE_HTML" = "yes"; then
+        AC_DEFINE(wxUSE_WXHTML_HELP)
+      else
+        AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
+        wxUSE_WXHTML_HELP=no
+      fi
+    fi
 fi
 
 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
 fi
 
 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
@@ -2887,12 +4190,8 @@ if test "$wxUSE_PROLOGIO" = "yes" ; then
 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
+    AC_DEFINE(wxUSE_RESOURCES)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
 fi
 
 if test "$wxUSE_X_RESOURCES" = "yes"; then
 fi
 
 if test "$wxUSE_X_RESOURCES" = "yes"; then
@@ -2903,35 +4202,71 @@ dnl ---------------------------------------------------------------------------
 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
 dnl ---------------------------------------------------------------------------
 
 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
 dnl ---------------------------------------------------------------------------
 
+dnl check for ole headers and disable a few features requiring it if not
+dnl present (earlier versions of mingw32 don't have ole2.h)
+if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
+                          -o "$wxUSE_CLIPBOARD"     = "yes" \
+                          -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
+    AC_CHECK_HEADERS(ole2.h)
+
+    if test "$ac_cv_header_ole2_h" = "yes" ; then
+        if test "$GCC" = yes ; then
+            ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
+            CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"
+            LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
+            AC_DEFINE(wxUSE_OLE)
+
+        fi
+
+        dnl for OLE clipboard and dnd
+        AC_DEFINE(wxUSE_DATAOBJ)
+    else
+        AC_MSG_WARN([Some features disabled because OLE headers not found])
+
+        wxUSE_CLIPBOARD=no
+        wxUSE_DRAG_AND_DROP=no
+        wxUSE_DATAOBJ=no
+    fi
+
+    if test "$wxUSE_METAFILE" = "yes"; then
+        AC_DEFINE(wxUSE_METAFILE)
+
+        dnl this one should probably be made separately configurable
+        AC_DEFINE(wxUSE_ENH_METAFILE)
+    fi
+fi
+
 if test "$wxUSE_IPC" = "yes"; then
 if test "$wxUSE_IPC" = "yes"; then
+    if test "$wxUSE_SOCKETS" != "yes"; then
+        AC_MSG_WARN(wxWindows IPC classes require sockets... disabled)
+    fi
+
     AC_DEFINE(wxUSE_IPC)
 fi
 
 if test "$wxUSE_CLIPBOARD" = "yes"; then
     AC_DEFINE(wxUSE_CLIPBOARD)
     AC_DEFINE(wxUSE_IPC)
 fi
 
 if test "$wxUSE_CLIPBOARD" = "yes"; then
     AC_DEFINE(wxUSE_CLIPBOARD)
+
+    dnl required by clipboard code in configuration check
+    AC_DEFINE(wxUSE_DATAOBJ)
 fi
 
 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
     if test "$wxUSE_GTK" = 1; then
         if test "$WXGTK12" != 1; then
 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])
+            AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
             wxUSE_DRAG_AND_DROP=no
         fi
     fi
 
     if test "$wxUSE_MOTIF" = 1; then
             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])
+        AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
         wxUSE_DRAG_AND_DROP=no
     fi
 
         wxUSE_DRAG_AND_DROP=no
     fi
 
-    if test "$USE_WIN32" = 1; then
-        dnl check for ole headers and disable DnD if not present (earlier
-        dnl versions of mingw32 don't have them)
-        AC_CHECK_HEADERS(ole2.h)
-        if test "x$HAVE_OLE2_H" = x ; then
-            AC_MSG_WARN(Drag and drop disabled because OLE headers not found)
-            wxUSE_DRAG_AND_DROP=no
-        fi
+    if test "$wxUSE_MAC" = 1; then
+        AC_MSG_WARN([Drag and drop not yet supported under Mac OS X... disabled])
+        wxUSE_DRAG_AND_DROP=no
     fi
 
     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
     fi
 
     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
@@ -2949,61 +4284,90 @@ dnl ---------------------------------------------------------------------------
 dnl GUI controls
 dnl ---------------------------------------------------------------------------
 
 dnl GUI controls
 dnl ---------------------------------------------------------------------------
 
+USES_CONTROLS=0
+if test "$wxUSE_CONTROLS" = "yes"; then
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_ACCEL" = "yes"; then
   AC_DEFINE(wxUSE_ACCEL)
 if test "$wxUSE_ACCEL" = "yes"; then
   AC_DEFINE(wxUSE_ACCEL)
+  USES_CONTROLS=1
+fi
+
+if test "$wxUSE_BUTTON" = "yes"; then
+  AC_DEFINE(wxUSE_BUTTON)
+  USES_CONTROLS=1
+fi
+
+if test "$wxUSE_BMPBUTTON" = "yes"; then
+  AC_DEFINE(wxUSE_BMPBUTTON)
+  USES_CONTROLS=1
+fi
+
+if test "$wxUSE_CALCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_CALENDARCTRL)
+  USES_CONTROLS=1
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS calendar"
 fi
 
 if test "$wxUSE_CARET" = "yes"; then
   AC_DEFINE(wxUSE_CARET)
 fi
 
 if test "$wxUSE_CARET" = "yes"; then
   AC_DEFINE(wxUSE_CARET)
+  USES_CONTROLS=1
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
 fi
 
 if test "$wxUSE_COMBOBOX" = "yes"; then
   AC_DEFINE(wxUSE_COMBOBOX)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
 fi
 
 if test "$wxUSE_COMBOBOX" = "yes"; then
   AC_DEFINE(wxUSE_COMBOBOX)
+  USES_CONTROLS=1
 fi
 
 if test "$wxUSE_CHOICE" = "yes"; then
   AC_DEFINE(wxUSE_CHOICE)
 fi
 
 if test "$wxUSE_CHOICE" = "yes"; then
   AC_DEFINE(wxUSE_CHOICE)
-fi
-
-if test "$wxUSE_BMPBUTTON" = "yes"; then
-  AC_DEFINE(wxUSE_BMPBUTTON)
+  USES_CONTROLS=1
 fi
 
 if test "$wxUSE_CHECKBOX" = "yes"; then
   AC_DEFINE(wxUSE_CHECKBOX)
 fi
 
 if test "$wxUSE_CHECKBOX" = "yes"; then
   AC_DEFINE(wxUSE_CHECKBOX)
+  USES_CONTROLS=1
 fi
 
 if test "$wxUSE_CHECKLST" = "yes"; then
   AC_DEFINE(wxUSE_CHECKLISTBOX)
 fi
 
 if test "$wxUSE_CHECKLST" = "yes"; then
   AC_DEFINE(wxUSE_CHECKLISTBOX)
+  USES_CONTROLS=1
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
 fi
 
 if test "$wxUSE_GAUGE" = "yes"; then
   AC_DEFINE(wxUSE_GAUGE)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
 fi
 
 if test "$wxUSE_GAUGE" = "yes"; then
   AC_DEFINE(wxUSE_GAUGE)
-fi
-
-if test "$wxUSE_GRID" = "yes"; then
-  AC_DEFINE(wxUSE_GRID)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
+  USES_CONTROLS=1
 fi
 
 if test "$wxUSE_NEW_GRID" = "yes"; then
 fi
 
 if test "$wxUSE_NEW_GRID" = "yes"; then
+  wxUSE_GRID="yes"
   AC_DEFINE(wxUSE_NEW_GRID)
   AC_DEFINE(wxUSE_NEW_GRID)
+  USES_CONTROLS=1
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
 fi
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
 fi
 
+if test "$wxUSE_GRID" = "yes"; then
+  AC_DEFINE(wxUSE_GRID)
+  USES_CONTROLS=1
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
+fi
+
 if test "$wxUSE_IMAGLIST" = "yes"; then
     AC_DEFINE(wxUSE_IMAGLIST)
 fi
 
 if test "$wxUSE_LISTBOX" = "yes"; then
     AC_DEFINE(wxUSE_LISTBOX)
 if test "$wxUSE_IMAGLIST" = "yes"; then
     AC_DEFINE(wxUSE_IMAGLIST)
 fi
 
 if test "$wxUSE_LISTBOX" = "yes"; then
     AC_DEFINE(wxUSE_LISTBOX)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_LISTCTRL" = "yes"; then
     if test "$wxUSE_IMAGLIST" = "yes"; then
         AC_DEFINE(wxUSE_LISTCTRL)
 fi
 
 if test "$wxUSE_LISTCTRL" = "yes"; then
     if test "$wxUSE_IMAGLIST" = "yes"; then
         AC_DEFINE(wxUSE_LISTCTRL)
+        USES_CONTROLS=1
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
     else
         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
     else
         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
@@ -3012,15 +4376,24 @@ fi
 
 if test "$wxUSE_NOTEBOOK" = "yes"; then
     AC_DEFINE(wxUSE_NOTEBOOK)
 
 if test "$wxUSE_NOTEBOOK" = "yes"; then
     AC_DEFINE(wxUSE_NOTEBOOK)
+    USES_CONTROLS=1
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
 fi
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
 fi
 
+if test "$wxUSE_PROPSHEET" = "yes"; then
+    AC_DEFINE(wxUSE_PROPSHEET)
+    USES_CONTROLS=1
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
+fi
+
 if test "$wxUSE_RADIOBOX" = "yes"; then
     AC_DEFINE(wxUSE_RADIOBOX)
 if test "$wxUSE_RADIOBOX" = "yes"; then
     AC_DEFINE(wxUSE_RADIOBOX)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_RADIOBTN" = "yes"; then
     AC_DEFINE(wxUSE_RADIOBTN)
 fi
 
 if test "$wxUSE_RADIOBTN" = "yes"; then
     AC_DEFINE(wxUSE_RADIOBTN)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_SASH" = "yes"; then
 fi
 
 if test "$wxUSE_SASH" = "yes"; then
@@ -3030,19 +4403,23 @@ fi
 
 if test "$wxUSE_SCROLLBAR" = "yes"; then
     AC_DEFINE(wxUSE_SCROLLBAR)
 
 if test "$wxUSE_SCROLLBAR" = "yes"; then
     AC_DEFINE(wxUSE_SCROLLBAR)
+    USES_CONTROLS=1
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
 fi
 
 if test "$wxUSE_SLIDER" = "yes"; then
     AC_DEFINE(wxUSE_SLIDER)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
 fi
 
 if test "$wxUSE_SLIDER" = "yes"; then
     AC_DEFINE(wxUSE_SLIDER)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_SPINBTN" = "yes"; then
     AC_DEFINE(wxUSE_SPINBTN)
 fi
 
 if test "$wxUSE_SPINBTN" = "yes"; then
     AC_DEFINE(wxUSE_SPINBTN)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_SPINCTRL" = "yes"; then
     AC_DEFINE(wxUSE_SPINCTRL)
 fi
 
 if test "$wxUSE_SPINCTRL" = "yes"; then
     AC_DEFINE(wxUSE_SPINCTRL)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_SPLITTER" = "yes"; then
 fi
 
 if test "$wxUSE_SPLITTER" = "yes"; then
@@ -3052,10 +4429,17 @@ fi
 
 if test "$wxUSE_STATBMP" = "yes"; then
     AC_DEFINE(wxUSE_STATBMP)
 
 if test "$wxUSE_STATBMP" = "yes"; then
     AC_DEFINE(wxUSE_STATBMP)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_STATBOX" = "yes"; then
     AC_DEFINE(wxUSE_STATBOX)
 fi
 
 if test "$wxUSE_STATBOX" = "yes"; then
     AC_DEFINE(wxUSE_STATBOX)
+    USES_CONTROLS=1
+fi
+
+if test "$wxUSE_STATTEXT" = "yes"; then
+    AC_DEFINE(wxUSE_STATTEXT)
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_STATLINE" = "yes"; then
 fi
 
 if test "$wxUSE_STATLINE" = "yes"; then
@@ -3063,11 +4447,13 @@ if test "$wxUSE_STATLINE" = "yes"; then
         AC_MSG_WARN([wxStaticLine is not supported under WINE])
     else
         AC_DEFINE(wxUSE_STATLINE)
         AC_MSG_WARN([wxStaticLine is not supported under WINE])
     else
         AC_DEFINE(wxUSE_STATLINE)
+        USES_CONTROLS=1
     fi
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
     AC_DEFINE(wxUSE_STATUSBAR)
     fi
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
     AC_DEFINE(wxUSE_STATUSBAR)
+    USES_CONTROLS=1
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
 fi
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
 fi
@@ -3077,34 +4463,63 @@ if test "$wxUSE_TABDIALOG" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
 fi
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
 fi
 
+if test "$wxUSE_TEXTCTRL" = "yes"; then
+    AC_DEFINE(wxUSE_TEXTCTRL)
+    USES_CONTROLS=1
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
+fi
+
+if test "$wxUSE_TOGGLEBTN" = "yes"; then
+    if test "$wxUSE_MAC" = 1; then
+        AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
+        wxUSE_TOGGLEBTN=no
+    fi
+    if test "$wxUSE_UNIVERSAL" = "yes"; then
+        AC_MSG_WARN([Toggle button not yet supported under wxUNIVERSAL... disabled])
+        wxUSE_TOGGLEBTN=no
+    fi
+
+    if test "$wxUSE_TOGGLEBTN" = "yes"; then
+        AC_DEFINE(wxUSE_TOGGLEBTN)
+        USES_CONTROLS=1
+    fi
+fi
+
 if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
     AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
     wxUSE_TOOLBAR="yes"
 if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
     AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
     wxUSE_TOOLBAR="yes"
+    USES_CONTROLS=1
 fi
 
 if test "$wxUSE_TOOLBAR" = "yes"; then
     AC_DEFINE(wxUSE_TOOLBAR)
 fi
 
 if test "$wxUSE_TOOLBAR" = "yes"; then
     AC_DEFINE(wxUSE_TOOLBAR)
+    USES_CONTROLS=1
 
     dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
     if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
         wxUSE_TOOLBAR_NATIVE="yes"
     fi
 
 
     dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
     if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
         wxUSE_TOOLBAR_NATIVE="yes"
     fi
 
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
-fi
+    if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
+        AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
+        USES_CONTROLS=1
+    fi
 
 
-if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
-    AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
 fi
 
 if test "$wxUSE_TOOLTIPS" = "yes"; then
     if test "$wxUSE_MOTIF" = 1; then
 fi
 
 if test "$wxUSE_TOOLTIPS" = "yes"; then
     if test "$wxUSE_MOTIF" = 1; then
-        AC_MSG_WARN(wxTooltip not supported yet under Motif)
+        AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
     else
         if test "$wxUSE_WINE" = 1; then
     else
         if test "$wxUSE_WINE" = 1; then
-            AC_MSG_WARN(wxTooltip not supported under WINE)
+            AC_MSG_WARN([wxTooltip not supported under WINE... disabled])
         else
         else
-            AC_DEFINE(wxUSE_TOOLTIPS)
+            if test "$wxUSE_UNIVERSAL" = "yes"; then
+                AC_MSG_WARN([wxTooltip not supported yet in wxUNIVERSAL... disabled])
+            else
+                AC_DEFINE(wxUSE_TOOLTIPS)
+            fi
         fi
     fi
 fi
         fi
     fi
 fi
@@ -3112,55 +4527,64 @@ fi
 if test "$wxUSE_TREECTRL" = "yes"; then
     if test "$wxUSE_IMAGLIST" = "yes"; then
         AC_DEFINE(wxUSE_TREECTRL)
 if test "$wxUSE_TREECTRL" = "yes"; then
     if test "$wxUSE_IMAGLIST" = "yes"; then
         AC_DEFINE(wxUSE_TREECTRL)
+        USES_CONTROLS=1
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
     else
         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
     fi
 fi
 
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
     else
         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
     fi
 fi
 
+if test "$wxUSE_POPUPWIN" = "yes"; then
+    if test "$wxUSE_MAC" = 1; then
+        AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
+    else
+        if test "$wxUSE_MOTIF" = 1; then
+            AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
+        else
+            AC_DEFINE(wxUSE_POPUPWIN)
+
+            USES_CONTROLS=1
+        fi
+    fi
+fi
+
+if test "$wxUSE_TIPWINDOW" = "yes"; then
+    AC_DEFINE(wxUSE_TIPWINDOW)
+fi
+
+if test "$USES_CONTROLS" = 1; then
+    AC_DEFINE(wxUSE_CONTROLS)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl misc options
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
 dnl misc options
 dnl ---------------------------------------------------------------------------
 
-dnl TODO this is unused for now...
-dnl if test "$wxUSE_WXTREE" = "yes"; then
-dnl   AC_DEFINE(wxUSE_WXTREE)
-dnl fi
+if test "$wxUSE_TREELAYOUT" = "yes"; then
+    AC_DEFINE(wxUSE_TREELAYOUT)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay"
+fi
 
 
-if test "$wxUSE_METAFILE" = "yes"; then
-    AC_DEFINE(wxUSE_METAFILE)
+if test "$wxUSE_DRAGIMAGE" = "yes"; then
+    AC_DEFINE(wxUSE_DRAGIMAGE)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
 fi
 
 fi
 
-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
+if test "$wxUSE_MENUS" = "yes"; then
+    AC_DEFINE(wxUSE_MENUS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
 fi
 
 fi
 
-if test "$wxUSE_TEXTDLG" = "yes"; then
-    AC_DEFINE(wxUSE_TEXTDLG)
+if test "$wxUSE_METAFILE" = "yes"; then
+    AC_DEFINE(wxUSE_METAFILE)
 fi
 
 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
+if test "$wxUSE_MIMETYPE" = "yes"; then
+    AC_DEFINE(wxUSE_MIMETYPE)
 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)
-    else
-        AC_DEFINE(wxUSE_PROGRESSDLG)
-    fi
+if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
+    AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
 fi
 
 if test "$wxUSE_MINIFRAME" = "yes"; then
 fi
 
 if test "$wxUSE_MINIFRAME" = "yes"; then
@@ -3171,7 +4595,6 @@ fi
 if test "$wxUSE_HTML" = "yes"; then
     AC_DEFINE(wxUSE_HTML)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html"
 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
@@ -3179,6 +4602,14 @@ if test "$wxUSE_VALIDATORS" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
 fi
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
 fi
 
+if test "$wxUSE_PALETTE" = "yes" ; then
+  AC_DEFINE(wxUSE_PALETTE)
+fi
+
+if test "$wxUSE_IMAGE" = "yes" ; then
+  AC_DEFINE(wxUSE_IMAGE)
+fi
+
 if test "$wxUSE_GIF" = "yes" ; then
   AC_DEFINE(wxUSE_GIF)
 fi
 if test "$wxUSE_GIF" = "yes" ; then
   AC_DEFINE(wxUSE_GIF)
 fi
@@ -3191,68 +4622,189 @@ if test "$wxUSE_PNM" = "yes" ; then
   AC_DEFINE(wxUSE_PNM)
 fi
 
   AC_DEFINE(wxUSE_PNM)
 fi
 
+if test "$wxUSE_XPM" = "yes" ; then
+  AC_DEFINE(wxUSE_XPM)
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl common dialog
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_CHOICEDLG" = "yes"; then
+    AC_DEFINE(wxUSE_CHOICEDLG)
+fi
+
+if test "$wxUSE_COLOURDLG" = "yes"; then
+    AC_DEFINE(wxUSE_COLOURDLG)
+fi
+
+if test "$wxUSE_FILEDLG" = "yes"; then
+    AC_DEFINE(wxUSE_FILEDLG)
+fi
+
+if test "$wxUSE_FINDREPLDLG" = "yes"; then
+    AC_DEFINE(wxUSE_FINDREPLDLG)
+fi
+
+if test "$wxUSE_FONTDLG" = "yes"; then
+    AC_DEFINE(wxUSE_FONTDLG)
+fi
+
+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_MSGDLG" = "yes"; then
+    AC_DEFINE(wxUSE_MSGDLG)
+fi
+
+if test "$wxUSE_NUMBERDLG" = "yes"; then
+    AC_DEFINE(wxUSE_NUMBERDLG)
+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_SPLASH" = "yes"; then
+    AC_DEFINE(wxUSE_SPLASH)
+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_TEXTDLG" = "yes"; then
+    AC_DEFINE(wxUSE_TEXTDLG)
+fi
+
+if test "$wxUSE_WIZARDDLG" = "yes"; then
+    AC_DEFINE(wxUSE_WIZARDDLG)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl get the string with OS info - used by wxGetOsDescription()
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
 dnl get the string with OS info - used by wxGetOsDescription()
 dnl ---------------------------------------------------------------------------
 
-OSINFO=`uname -s -r -m`
-OSINFO="\"$OSINFO\""
+if test "$cross_compiling" = "yes"; then
+    dnl Use best guess from host as we can't use uname when cross compiling
+    OSINFO="\"$host\""
+else
+    dnl attualy work out OS version
+    OSINFO=`uname -s -r -m`
+    OSINFO="\"$OSINFO\""
+fi
+
 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
 
 dnl ---------------------------------------------------------------------------
 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
 
 dnl ---------------------------------------------------------------------------
-dnl Output the makefiles and such from the results found above
+dnl define the variable containing the installation prefix (used in dcpsg.cpp)
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
 
-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 $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK"
-if test "$wxUSE_GUI" = "yes"; then
-    EXTRA_LIBS="$EXTRA_LIBS $GUILIBS"
+if test "x$prefix" != "xNONE"; then
+    wxPREFIX=$prefix
+else
+    wxPREFIX=$ac_default_prefix
 fi
 
 fi
 
-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"
+AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
 
 
-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 $TIFF_INCLUDE $TOOLKIT_INCLUDE"
+dnl ---------------------------------------------------------------------------
+dnl Output the makefiles and such from the results found above
+dnl ---------------------------------------------------------------------------
 
 
-dnl C/C++ compiler options used to compile wxWindows
-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"
+dnl all additional libraries (except wxWindows itself) we link with
+
+dnl note that we always link with -lm except for Mac OS X
+dnl extended.c uses floor() and is always linked in
+
+if test "$wxUSE_MAC" = 1 ; then
+    LDFLAGS="$LDFLAGS -framework Carbon -framework System"
 fi
 fi
-EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
 
 
-CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS | sed 's/ \\+/ /g'`
-CXXFLAGS=`echo $CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
+dnl FIXME: should this be covered by the conditional above
+dnl given the -lm comment there?  Or should that comment (and
+dnl this one) be removed..   [ 7 Nov 2001 ]
 
 
-LDFLAGS="$LDFLAGS $PROFILE"
+LIBS="$ZLIB_LINK$POSIX4_LINK$INET_LINK$WCHAR_LINK$THREADS_LINK$DL_LINK -lm$LIBS"
 
 if test "$wxUSE_GUI" = "yes"; then
 
 if test "$wxUSE_GUI" = "yes"; then
+
+    LIBS=" $GUI_TK_LIBRARY$PNG_LINK$JPEG_LINK$TIFF_LINK$FREETYPE_LINK$LIBS"
+
     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 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      ipc, mfc, nativdlg, oleauto, ownerdrw, proplist
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS controls dialogs drawing dynamic \
-                     font fractal image minimal richedit"
+    dnl      ipc, mfc, nativdlg, oleauto, ownerdrw
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS controls dialogs \
+                     drawing dynamic erase event exec font image \
+                     minimal richedit rotate widgets"
 
     dnl this is needed to be able to find AFM files
 
     dnl this is needed to be able to find AFM files
-    CPPFLAGS="$CPPFLAGS \$(EXTRADEFS)"
+    CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
+else
+    SAMPLES_SUBDIRS="console"
+fi
+
+
+dnl all -I options we must pass to the compiler
+INCLUDES="-I\${top_builddir}/lib/wx/include/${TOOLCHAIN_NAME} -I\${top_srcdir}/include \
+$REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE \
+$FREETYPE_INCLUDE $TOOLKIT_INCLUDE"
+
+dnl wxGTK does not need TOOLKIT includes in wx-config
+if test "$wxUSE_GTK" = 1; then
+    WXCONFIG_INCLUDE=
 else
 else
-    SAMPLES_SUBDIRS=""
+    WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
+fi
+
+dnl C/C++ compiler options used to compile wxWindows
+if test "$GXX" = yes ; then
+    dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
+    CXXWARNINGS="-Wall"
+    dnl should enable this one day...
+    dnl CXXWARNINGS="-Wall -Werror"
+
+    dnl Add this *after* all compile tests, we don't need or want generated
+    dnl depfiles until actually building the lib
+    if test "$wxUSE_NO_DEPS" = "no" ; then
+        CFLAGS="-MMD $CFLAGS"
+        CXXFLAGS="-MMD $CXXFLAGS"
+    fi
 fi
 
 fi
 
+EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG$PROFILE $OPTIMISE $INCLUDES"
+
+CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
+CXXFLAGS=`echo $CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
+
+LDFLAGS="$LDFLAGS$PROFILE"
+
 dnl for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
 dnl for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
-dnl       Unfortunately, there is a bug in OS/2's tr, such that 
+dnl
+dnl       Unfortunately, there is a bug in OS/2's tr, such that
 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
 dnl       only removes the Unix-like part of the introduced line break.
 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
 dnl       only removes the Unix-like part of the introduced line break.
 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
@@ -3265,25 +4817,34 @@ dnl global options
 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
 AC_SUBST(WX_MINOR_VERSION_NUMBER)
 AC_SUBST(WX_RELEASE_NUMBER)
 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
 AC_SUBST(WX_MINOR_VERSION_NUMBER)
 AC_SUBST(WX_RELEASE_NUMBER)
-AC_SUBST(WX_LIBRARY_NAME)
 AC_SUBST(WX_LIBRARY_NAME_STATIC)
 AC_SUBST(WX_LIBRARY_NAME_SHARED)
 AC_SUBST(WX_LIBRARY_NAME_STATIC)
 AC_SUBST(WX_LIBRARY_NAME_SHARED)
-AC_SUBST(WX_LIBRARY)
+AC_SUBST(WX_LIBRARY_IMPORTLIB)
 AC_SUBST(WX_TARGET_LIBRARY)
 AC_SUBST(WX_LIBRARY_LINK1)
 AC_SUBST(WX_LIBRARY_LINK2)
 AC_SUBST(WX_TARGET_LIBRARY)
 AC_SUBST(WX_LIBRARY_LINK1)
 AC_SUBST(WX_LIBRARY_LINK2)
-AC_SUBST(WX_LIBRARY_LINK3)
 AC_SUBST(PROGRAM_EXT)
 
 AC_SUBST(PROGRAM_EXT)
 
+dnl global gl options
+AC_SUBST(WX_LIBRARY_NAME_STATIC_GL)
+AC_SUBST(WX_LIBRARY_NAME_SHARED_GL)
+AC_SUBST(WX_TARGET_LIBRARY_GL)
+AC_SUBST(WX_LIBRARY_LINK1_GL)
+AC_SUBST(WX_LIBRARY_LINK2_GL)
+
 dnl are we supposed to create the links?
 AC_SUBST(WX_ALL)
 AC_SUBST(WX_ALL_INSTALLED)
 
 AC_SUBST(SHARED_LD)
 AC_SUBST(PIC_FLAG)
 dnl are we supposed to create the links?
 AC_SUBST(WX_ALL)
 AC_SUBST(WX_ALL_INSTALLED)
 
 AC_SUBST(SHARED_LD)
 AC_SUBST(PIC_FLAG)
-AC_SUBST(DEP_INFO_FLAGS)
 AC_SUBST(CODE_GEN_FLAGS)
 AC_SUBST(CODE_GEN_FLAGS)
-AC_SUBST(BURNT_LIBRARY_NAME)
+AC_SUBST(CODE_GEN_FLAGS_CXX)
+
+AC_SUBST(SONAME_FLAGS)
+AC_SUBST(SONAME_FLAGS_GL)
+AC_SUBST(WX_TARGET_LIBRARY_SONAME)
+AC_SUBST(WX_TARGET_LIBRARY_TYPE)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
@@ -3292,73 +4853,88 @@ dnl toolkit options
 AC_SUBST(USE_GUI)
 AC_SUBST(AFMINSTALL)
 AC_SUBST(TOOLKIT)
 AC_SUBST(USE_GUI)
 AC_SUBST(AFMINSTALL)
 AC_SUBST(TOOLKIT)
-AC_SUBST(TOOLKIT_DEF)
 AC_SUBST(TOOLKIT_DIR)
 AC_SUBST(TOOLKIT_DIR)
-AC_SUBST(TOOLKIT_INCLUDE)
+AC_SUBST(TOOLKIT_VPATH)
+AC_SUBST(TOOLCHAIN_NAME)
+AC_SUBST(TOOLCHAIN_DEFS)
+AC_SUBST(TOOLCHAIN_DLL_DEFS)
+
+dnl wx-config options
+AC_SUBST(host_alias)
+AC_SUBST(cross_compiling)
+AC_SUBST(WXCONFIG_LIBS)
+AC_SUBST(WXCONFIG_LIBS_GL)
+AC_SUBST(WXCONFIG_LIBS_STATIC)
+AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
+AC_SUBST(WXCONFIG_INCLUDE)
 
 dnl what to compile
 
 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(IODBCOBJS)
-AC_SUBST(UNIXOBJS)
-AC_SUBST(UNIXDEPS)
 AC_SUBST(ALL_OBJECTS)
 AC_SUBST(ALL_OBJECTS)
-AC_SUBST(ALL_DEPFILES)
 
 dnl distribution vars
 AC_SUBST(GUIDIST)
 AC_SUBST(PORT_FILES)
 AC_SUBST(DISTDIR)
 
 dnl distribution vars
 AC_SUBST(GUIDIST)
 AC_SUBST(PORT_FILES)
 AC_SUBST(DISTDIR)
-AC_SUBST(RPM_SPEC)
-AC_SUBST(RPM_FILES)
 
 dnl additional subdirectories where we will build
 
 dnl additional subdirectories where we will build
-AC_SUBST(SRC_SUBDIRS)
-AC_SUBST(INCLUDE_SUBDIRS)
-AC_SUBST(UTILS_SUBDIRS)
-AC_SUBST(DOCS_SUBDIRS)
 AC_SUBST(SAMPLES_SUBDIRS)
 AC_SUBST(SAMPLES_SUBDIRS)
-AC_SUBST(USER_SUBDIRS)
 
 dnl additional libraries and linker settings
 AC_SUBST(LDFLAGS)
 
 dnl additional libraries and linker settings
 AC_SUBST(LDFLAGS)
-AC_SUBST(EXTRA_LIBS)
+AC_SUBST(LDFLAGS_GL)
+AC_SUBST(OPENGL_LIBS)
+AC_SUBST(DMALLOC_LIBS)
 AC_SUBST(EXTRADEFS)
 AC_SUBST(EXTRADEFS)
-AC_SUBST(LIBS)
-AC_SUBST(LD_LIBS)
+
+dnl additional resurces settings
+AC_SUBST(RESCOMP)
+AC_SUBST(RESFLAGS)
+AC_SUBST(RESPROGRAMOBJ)
+AC_SUBST(WX_RESOURCES_MACOSX)
+AC_SUBST(WX_RESOURCES_MACOSX_COMPILED)
+
+dnl additional for Mac OS X
+AC_SUBST(DEREZ)
+AC_SUBST(LIBWXMACRES)
+AC_SUBST(LIBWXMACRESCOMP)
+AC_SUBST(LIBWXMACRESWXCONFIG)
+
+dnl These seem to be missing
+AC_SUBST(DLLTOOL)
+AC_SUBST(AS)
+AC_SUBST(NM)
+AC_SUBST(LD)
+AC_SUBST(MAKEINFO)
+AC_SUBST(INSTALL_LIBRARY)
 
 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
 
 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 itself (this macro is required if SUBDIRS variable is used in Makefile.am
 dnl - and we do use it)
 AC_PROG_MAKE_SET
 
 dnl - and we do use it)
 AC_PROG_MAKE_SET
 
+dnl move setup.h back if available
+if test -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h; then
+    mv -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h setup.h
+fi
+
 AC_CONFIG_HEADER(setup.h:setup.h.in)
 
 dnl some more GUI only things
 if test "$wxUSE_GUI" = "yes"; then
 AC_CONFIG_HEADER(setup.h:setup.h.in)
 
 dnl some more GUI only things
 if test "$wxUSE_GUI" = "yes"; then
-    AC_CACHE_CHECK([glcanvas subdirectory to use], wx_cv_path_glcanvas,
-    [
-        dnl Duh! glcanvas/$(TOOLKIT_DIR) doesn't work for msw because some
-        dnl genius called it "win"
-        if test "${TOOLKIT_DIR}" = "msw" ; then
-          wx_cv_path_glcanvas="win"
-        else
-          wx_cv_path_glcanvas="${TOOLKIT_DIR}"
-        fi
-    ])
-
-    dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack!
-    GL_TOOLKIT_DIR=$wx_cv_PATH_glcanvas
-    AC_SUBST(GL_TOOLKIT_DIR)
-
-    AC_CONFIG_SUBDIRS(demos samples utils)
+    dnl we need to pass SAMPLES_SUBDIRS (and some other) to the configure in
+    dnl samples and the only way to do it is, again, use the cache
+    wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS
+    wx_cv_path_ifs=$PATH_IFS
+    wx_cv_program_ext=$PROGRAM_EXT
+    wx_cv_target_library=$WX_TARGET_LIBRARY
+    wx_cv_target_library_gl=$WX_TARGET_LIBRARY_GL
+    wx_cv_target_libtype=$WX_TARGET_LIBRARY_TYPE
+    dnl we need to export them because passing them through cache won't
+    dnl work when cache=/dev/null (which is default for autoconf 2.50)
+    export wx_cv_path_samplesubdirs wx_cv_path_ifs wx_cv_program_ext \
+           wx_cv_target_library wx_cv_target_library_gl wx_cv_target_libtype
+    AC_CONFIG_SUBDIRS(demos samples utils contrib)
 fi
 fi
-dnl from wxUSE_GUI
 
 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 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
@@ -3371,22 +4947,42 @@ AC_OUTPUT([
             Makefile
           ],
           [
             Makefile
           ],
           [
-            chmod +x wx-config
-            if test ! -d include; then
-              mkdir include
+            dnl This test is required to make the following idempotent.
+            dnl Otherwise running config.status or rerunning configure
+            dnl would stomp the wx-config link or try to move it onto
+            dnl itself.
+            dnl Use -h instead of -L to test for link (GD)
+            dnl   -h is documented as obsolete under Mac OS X but works
+            dnl   -L is obsolete under Solaris8
+            if test ! -h wx-config; then
+                chmod +x wx-config
+                mv wx-config wx${TOOLCHAIN_NAME}-config
+                ${LN_S} wx${TOOLCHAIN_NAME}-config wx-config
+            fi
+
+            if test ! -d lib; then
+              mkdir lib
+            fi
+            if test ! -d lib/wx; then
+              mkdir lib/wx
+            fi
+            if test ! -d lib/wx/include; then
+              mkdir lib/wx/include
             fi
             fi
-            if test ! -d include/wx; then
-              mkdir include/wx
+            if test ! -d lib/wx/include/${TOOLCHAIN_NAME}; then
+              mkdir lib/wx/include/${TOOLCHAIN_NAME}
             fi
             fi
-            if test ! -d include/wx/${TOOLKIT_DIR}; then
-              mkdir include/wx/${TOOLKIT_DIR}
+            if test ! -d lib/wx/include/${TOOLCHAIN_NAME}/wx; then
+              mkdir lib/wx/include/${TOOLCHAIN_NAME}/wx
             fi
             if test -f setup.h; then
             fi
             if test -f setup.h; then
-                mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
+              mv -f setup.h lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h
             fi
           ],
           [
             fi
           ],
           [
-            TOOLKIT_DIR="${TOOLKIT_DIR}"
+            TOOLCHAIN_NAME="${TOOLCHAIN_NAME}"
+            LN_S="${LN_S}"
           ]
          )
 
           ]
          )
 
+dnl vi: set et sts=4 sw=4: