]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
cleaned up the checkbox creation code (~70 lines of code became 3)
[wxWidgets.git] / configure.in
index 2908fd07b70558b763872fceb7315d0f5deb4c8b..e94e6434098e98473850ae4eb60f352266100d85 100644 (file)
@@ -11,329 +11,12 @@ dnl
 dnl Version: $Id$
 dnl ---------------------------------------------------------------------------
 
-dnl ===========================================================================
-dnl macros to find the a file in the list of include/lib paths
-dnl ===========================================================================
-
-dnl ---------------------------------------------------------------------------
-dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
-dnl to the full name of the file that was found or leaves it empty if not found
-dnl ---------------------------------------------------------------------------
-AC_DEFUN(WX_PATH_FIND_INCLUDES,
-[
-ac_find_includes=
-for ac_dir in $1;
-  do
-    if test -f "$ac_dir/$2"; then
-      ac_find_includes=$ac_dir
-      break
-    fi
-  done
-])
-
-dnl ---------------------------------------------------------------------------
-dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_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,
-[
-ac_find_libraries=
-for ac_dir in $1;
-  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
-      fi
-    done
-  done
-])
-
-dnl ---------------------------------------------------------------------------
-dnl Path to include, already defined
-dnl ---------------------------------------------------------------------------
-AC_DEFUN(WX_INCLUDE_PATH_EXIST,
-[
-  ac_path_to_include=$1
-  echo "$2" | grep "\-I$1" > /dev/null
-  result=$?
-  if test $result = 0; then
-    ac_path_to_include=""
-  else
-    ac_path_to_include=" -I$1"
-  fi
-])
-
-dnl ---------------------------------------------------------------------------
-dnl Path to link, already defined
-dnl ---------------------------------------------------------------------------
-AC_DEFUN(WX_LINK_PATH_EXIST,
-[
-  echo "$2" | grep "\-L$1" > /dev/null
-  result=$?
-  if test $result = 0; then
-    ac_path_to_link=""
-  else
-    ac_path_to_link=" -L$1"
-  fi
-])
-
-dnl ===========================================================================
-dnl C++ features test
-dnl ===========================================================================
-
-dnl ---------------------------------------------------------------------------
-dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
-dnl or only the old <iostream.h> one - it may be generally assumed that if
-dnl <iostream> exists, the other "new" headers (without .h) exist too.
-dnl
-dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN(WX_CPP_NEW_HEADERS,
-[
-  if test "$cross_compiling" = "yes"; then
-    ifelse([$2], , :, [$2])
-  else
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-
-    AC_CHECK_HEADERS(iostream)
-
-    if test "$ac_cv_header_iostream" = "yes" ; then
-      ifelse([$1], , :, [$1])
-    else
-      ifelse([$2], , :, [$2])
-    fi
-
-    AC_LANG_RESTORE
-  fi
-])
-
-dnl ---------------------------------------------------------------------------
-dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
-dnl
-dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN(WX_CPP_BOOL,
-[
-  AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
-  [
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-
-    AC_TRY_COMPILE(
-      [
-      ],
-      [
-        bool b = true;
-
-        return 0;
-      ],
-      [
-        wx_cv_cpp_bool=yes
-      ],
-      [
-        wx_cv_cpp_bool=no
-      ]
-    )
-
-    AC_LANG_RESTORE
-  ])
-
-  if test "$wx_cv_cpp_bool" = "yes"; then
-    AC_DEFINE(HAVE_BOOL)
-  fi
-])
-
-dnl ---------------------------------------------------------------------------
-dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN(WX_C_BIGENDIAN,
-[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
-[ac_cv_c_bigendian=unknown
-# See if sys/param.h defines the BYTE_ORDER macro.
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/param.h>], [
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/param.h>], [
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
-if test $ac_cv_c_bigendian = unknown; then
-AC_TRY_RUN([main () {
-  /* Are we little or big endian?  From Harbison&Steele.  */
-  union
-  {
-    long l;
-    char c[sizeof (long)];
-  } u;
-  u.l = 1;
-  exit (u.c[sizeof (long) - 1] == 1);
-}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, ac_cv_c_bigendian=unknown)
-fi])
-if test $ac_cv_c_bigendian = unknown; then
-  AC_MSG_WARN([Assuming little-endian target machine - this may be overriden by adding the line "ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}" to config.cache file])
-fi
-if test $ac_cv_c_bigendian = yes; then
-  AC_DEFINE(WORDS_BIGENDIAN)
-fi
-])
-
-dnl ---------------------------------------------------------------------------
-dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN(WX_ARG_CACHE_INIT,
-        [
-          wx_arg_cache_file="configarg.cache"
-          echo "loading argument cache $wx_arg_cache_file"
-          rm -f ${wx_arg_cache_file}.tmp
-          touch ${wx_arg_cache_file}.tmp
-          touch ${wx_arg_cache_file}
-        ])
-
-AC_DEFUN(WX_ARG_CACHE_FLUSH,
-        [
-          echo "saving argument cache $wx_arg_cache_file"
-          mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
-        ])
-
-dnl this macro checks for a 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,
-        [
-          AC_MSG_CHECKING([for --with-$1])
-          no_cache=0
-          AC_ARG_WITH($1, [$2],
-                      [
-                        if test "$withval" = yes; then
-                          ac_cv_use_$1='$3=yes'
-                        else
-                          ac_cv_use_$1='$3=no'
-                        fi
-                      ],
-                      [
-                        LINE=`grep "$3" ${wx_arg_cache_file}`
-                        if test "x$LINE" != x ; then
-                          eval "DEFAULT_$LINE"
-                        else
-                          no_cache=1
-                        fi
-
-                        ac_cv_use_$1='$3='$DEFAULT_$3
-                      ])
-
-          eval "$ac_cv_use_$1"
-          if test "$no_cache" != 1; then
-            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
-          fi
-
-          if test "$$3" = yes; then
-            AC_MSG_RESULT(yes)
-          else
-            AC_MSG_RESULT(no)
-          fi
-        ])
-
-dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
-dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
-AC_DEFUN(WX_ARG_ENABLE,
-        [
-          AC_MSG_CHECKING([for --enable-$1])
-          no_cache=0
-          AC_ARG_ENABLE($1, [$2],
-                        [
-                          if test "$enableval" = yes; then
-                            ac_cv_use_$1='$3=yes'
-                          else
-                            ac_cv_use_$1='$3=no'
-                          fi
-                        ],
-                        [
-                          LINE=`grep "$3" ${wx_arg_cache_file}`
-                          if test "x$LINE" != x ; then
-                            eval "DEFAULT_$LINE"
-                          else
-                            no_cache=1
-                          fi
-
-                          ac_cv_use_$1='$3='$DEFAULT_$3
-                        ])
-
-          eval "$ac_cv_use_$1"
-          if test "$no_cache" != 1; then
-            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
-          fi
-
-          if test "$$3" = yes; then
-            AC_MSG_RESULT(yes)
-          else
-            AC_MSG_RESULT(no)
-          fi
-        ])
-
 dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
 dnl the file passed to AC_INIT should be specific to our package
-AC_INIT(wx-config.in)
+AC_INIT([wx-config.in])
 
 dnl sets build, host, target variables and the same with _alias
 AC_CANONICAL_SYSTEM
@@ -365,14 +48,14 @@ dnl   libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
 
 WX_MAJOR_VERSION_NUMBER=2
 WX_MINOR_VERSION_NUMBER=3
-WX_RELEASE_NUMBER=2
+WX_RELEASE_NUMBER=3
 
 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
 WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
 
 WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER
 
-WX_CURRENT=1
+WX_CURRENT=2
 WX_REVISION=0
 WX_AGE=0
 
@@ -384,6 +67,7 @@ dnl ------------------------------------------------------------------------
 dnl assume Unix
 USE_UNIX=1
 USE_WIN32=0
+USE_DOS=0
 USE_BEOS=0
 USE_MAC=0
 
@@ -412,20 +96,25 @@ 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 the additional define needed for MT programs
+CPP_MT_FLAG=-D_REENTRANT
+
 dnl the list of all available toolkits
 dnl
 dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
-ALL_TOOLKITS="GTK MAC MGL MOTIF MSW PM WINE"
+ALL_TOOLKITS="GTK MAC MGL MICROWIN MOTIF MSW PM WINE X11"
 
 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_MICROWIN=0
 DEFAULT_wxUSE_MOTIF=0
 DEFAULT_wxUSE_MSW=0
 DEFAULT_wxUSE_PM=0
 DEFAULT_wxUSE_WINE=0
+DEFAULT_wxUSE_X11=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*
@@ -433,10 +122,12 @@ 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_MICROWIN=0
 DEFAULT_DEFAULT_wxUSE_MOTIF=0
 DEFAULT_DEFAULT_wxUSE_MSW=0
 DEFAULT_DEFAULT_wxUSE_PM=0
 DEFAULT_DEFAULT_wxUSE_WINE=0
+DEFAULT_DEFAULT_wxUSE_X11=0
 
 PROGRAM_EXT=
 SO_SUFFIX=so
@@ -492,6 +183,7 @@ case "${host}" in
   *-*-freebsd*)
     USE_BSD=1
     USE_FREEBSD=1
+    CPP_MT_FLAG=-D_THREAD_SAFE
     AC_DEFINE(__FREEBSD__)
     AC_DEFINE(__BSD__)
     DEFAULT_DEFAULT_wxUSE_GTK=1
@@ -557,16 +249,26 @@ case "${host}" in
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
+  *-pc-msdosdjgpp )
+    USE_UNIX=0
+    USE_DOS=1
+    AC_DEFINE(__DOS__)
+    PROGRAM_EXT=".exe"
+    DEFAULT_DEFAULT_wxUSE_MGL=1
+  ;;
+
   *-pc-os2_emx | *-pc-os2-emx )
     AC_DEFINE(__EMX__)
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_PM=1
+    LIBS="$LIBS -lstdcpp"
   ;;
 
   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__)
@@ -591,7 +293,7 @@ fi
 
 dnl check for glibc version
 if test "$USE_LINUX" = 1; then
-    AC_CACHE_CHECK([for glibc 2.1 or later], wx_lib_glibc21,
+    AC_CACHE_CHECK([for glibc 2.1 or later], wx_lib_glibc21,[
         AC_TRY_COMPILE([#include <features.h>],
             [
                 #if !__GLIBC_PREREQ(2, 1)
@@ -605,7 +307,7 @@ if test "$USE_LINUX" = 1; then
                 wx_lib_glibc21=no
             ]
         )
-    )
+    ])
     if test "$wx_lib_glibc21" = "yes"; then
         AC_DEFINE(wxHAVE_GLIBC2)
     fi
@@ -629,6 +331,8 @@ DEBUG_CONFIGURE=0
 if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_UNIVERSAL=no
 
+  DEFAULT_wxUSE_NANOX=no
+
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
@@ -645,7 +349,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
-  DEFAULT_wxUSE_PRECOMP=yes
+  DEFAULT_wxUSE_PRECOMP=no
   DEFAULT_wxUSE_APPLE_IEEE=no
 
   DEFAULT_wxUSE_LOG=yes
@@ -662,7 +366,6 @@ if test $DEBUG_CONFIGURE = 1; then
   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
@@ -684,9 +387,9 @@ if test $DEBUG_CONFIGURE = 1; then
   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_DYNAMIC_LOADER=no
   DEFAULT_wxUSE_LONGLONG=no
   DEFAULT_wxUSE_GEOMETRY=no
 
@@ -715,8 +418,13 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_TREELAYOUT=no
   DEFAULT_wxUSE_METAFILE=no
   DEFAULT_wxUSE_MIMETYPE=no
-  DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
-
+  DEFAULT_wxUSE_SYSTEM_OPTIONS=no
+  DEFAULT_wxUSE_PROTOCOL=no
+  DEFAULT_wxUSE_PROTOCOL_HTTP=no
+  DEFAULT_wxUSE_PROTOCOL_FTP=no
+  DEFAULT_wxUSE_PROTOCOL_FILE=no
+  DEFAULT_wxUSE_URL=no
+  
   DEFAULT_wxUSE_COMMONDLGS=no
   DEFAULT_wxUSE_CHOICEDLG=no
   DEFAULT_wxUSE_COLOURDLG=no
@@ -783,6 +491,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_TIPWINDOW=no
 
   DEFAULT_wxUSE_UNICODE=no
+  DEFAULT_wxUSE_UNICODE_MSLU=no
   DEFAULT_wxUSE_WCSRTOMBS=no
 
   DEFAULT_wxUSE_PALETTE=no
@@ -790,10 +499,14 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_GIF=no
   DEFAULT_wxUSE_PCX=no
   DEFAULT_wxUSE_PNM=no
+  DEFAULT_wxUSE_IFF=no
   DEFAULT_wxUSE_XPM=no
+  DEFAULT_wxUSE_ICO_CUR=no
 else
   DEFAULT_wxUSE_UNIVERSAL=no
 
+  DEFAULT_wxUSE_NANOX=no
+
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
@@ -810,7 +523,7 @@ else
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
-  DEFAULT_wxUSE_PRECOMP=yes
+  DEFAULT_wxUSE_PRECOMP=no
   DEFAULT_wxUSE_APPLE_IEEE=yes
 
   DEFAULT_wxUSE_LOG=yes
@@ -826,7 +539,6 @@ else
   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
@@ -848,9 +560,9 @@ else
   DEFAULT_wxUSE_STREAMS=yes
   DEFAULT_wxUSE_SOCKETS=yes
   DEFAULT_wxUSE_DIALUP_MANAGER=yes
-  DEFAULT_wxUSE_SERIAL=yes
   DEFAULT_wxUSE_JOYSTICK=yes
   DEFAULT_wxUSE_DYNLIB_CLASS=yes
+  DEFAULT_wxUSE_DYNAMIC_LOADER=yes
   DEFAULT_wxUSE_LONGLONG=yes
   DEFAULT_wxUSE_GEOMETRY=yes
 
@@ -880,6 +592,11 @@ else
   DEFAULT_wxUSE_METAFILE=yes
   DEFAULT_wxUSE_MIMETYPE=yes
   DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
+  DEFAULT_wxUSE_PROTOCOL=yes
+  DEFAULT_wxUSE_PROTOCOL_HTTP=yes
+  DEFAULT_wxUSE_PROTOCOL_FTP=yes
+  DEFAULT_wxUSE_PROTOCOL_FILE=yes
+  DEFAULT_wxUSE_URL=yes
 
   DEFAULT_wxUSE_COMMONDLGS=yes
   DEFAULT_wxUSE_CHOICEDLG=yes
@@ -947,14 +664,17 @@ else
   DEFAULT_wxUSE_TIPWINDOW=yes
 
   DEFAULT_wxUSE_UNICODE=no
+  DEFAULT_wxUSE_UNICODE_MSLU=yes
   DEFAULT_wxUSE_WCSRTOMBS=no
 
   DEFAULT_wxUSE_PALETTE=yes
   DEFAULT_wxUSE_IMAGE=yes
   DEFAULT_wxUSE_GIF=yes
   DEFAULT_wxUSE_PCX=yes
+  DEFAULT_wxUSE_IFF=no
   DEFAULT_wxUSE_PNM=yes
   DEFAULT_wxUSE_XPM=yes
+  DEFAULT_wxUSE_ICO_CUR=yes
 fi
 
 dnl WX_ARG_WITH should be used to select whether an external package will be
@@ -996,19 +716,21 @@ AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$w
 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(mgl,           [  --with-mgl              use SciTech MGL], [wxUSE_MGL="$withval" CACHE_MGL=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(microwin,      [  --with-microwin         use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(x11,           [  --with-x11              use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
+WX_ARG_ENABLE(nanox,       [  --enable-nanox          use NanoX], wxUSE_NANOX)
 
-AC_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)],wxUSE_GTK2=1,wxUSE_GTK2=0)
+AC_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)],wxUSE_GTK2="yes",wxUSE_GTK2="no")
 
 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(dmalloc,       [  --with-dmalloc          use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
+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)
@@ -1045,7 +767,7 @@ WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregardin
 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)
+WX_ARG_ENABLE(compat22,      [  --disable-compat22      disable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
 
 dnl ---------------------------------------------------------------------------
 dnl (small) optional non GUI classes
@@ -1054,6 +776,10 @@ 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(protocols,     [  --enable-protocols      use wxProtocol and derived classes], wxUSE_PROTOCOL)
+WX_ARG_ENABLE(ftp,           [  --enable-ftp            use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP)
+WX_ARG_ENABLE(http,          [  --enable-http           use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP)
+WX_ARG_ENABLE(fileproto,     [  --enable-fileproto      use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE)
 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
 
 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
@@ -1068,6 +794,7 @@ WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUS
 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(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
 WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
@@ -1078,6 +805,7 @@ WX_ARG_ENABLE(textbuf,       [  --enable-textbuf        use wxTextBuffer class],
 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(mslu,          [  --enable-mslu           use MS Layer for Unicode on Windows 9x (win32 only)], wxUSE_UNICODE_MSLU)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 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)
@@ -1091,12 +819,18 @@ WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChec
 WX_ARG_ENABLE(mimetype,      [  --enable-mimetype       use wxMimeTypesManager], wxUSE_MIMETYPE)
 WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
 
+WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
+WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
+WX_ARG_ENABLE(protocol_http, [  --enable-protocol-http  HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
+WX_ARG_ENABLE(protocol_ftp,  [  --enable-protocol-ftp   FTP support in wxProtocol], wxUSE_PROTOCOL_FTP)
+WX_ARG_ENABLE(protocol_file, [  --enable-protocol-file  FILE support in wxProtocol], wxUSE_PROTOCOL_FILE)
+
+
 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
 
@@ -1314,10 +1048,27 @@ WX_ARG_ENABLE(palette,     [  --enable-palette        use wxPalette class], wxUS
 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(iff,         [  --enable-iff            use iff images (IFF file format)], wxUSE_IFF)
 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)
+WX_ARG_ENABLE(ico_cur,     [  --enable-icocur         use Windows ICO and CUR formats], wxUSE_ICO_CUR)
 
 fi
+
+dnl General settings (needed for GUI and non-GUI compilations alike).
+dnl Path separator; ':' for unix, ';' for OS/2
+dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
+case "${host}" in
+  *-pc-os2_emx | *-pc-os2-emx )
+    dnl PATH_IFS is autodetected by OS/2's configure (usually ';')
+    LEX_STEM="lexyy"
+  ;;
+  *)
+    PATH_IFS=':'
+    LEX_STEM="lex.yy"
+  ;;
+esac
+
 dnl for GUI only
 
 dnl cache the options values before (may be) aborting below
@@ -1356,21 +1107,12 @@ if test "$wxUSE_GUI" = "yes"; then
     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}`
+                  + ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} + ${wxUSE_X11:-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
     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
 
     case "$NUM_TOOLKITS" in
@@ -1400,7 +1142,6 @@ if test "$wxUSE_GUI" = "yes"; then
       fi
     done
 else
-    PATH_IFS=':'
     AC_MSG_RESULT(base ($host_alias hosted) only)
 fi
 
@@ -1414,7 +1155,7 @@ AC_CACHE_SAVE
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
 if test "$build" != "$host" ; then
-    if test "$USE_WIN32" = 1 ; then
+    if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX"; then
         CC=$host_alias-gcc
         CXX=$host_alias-c++
         AR=$host_alias-ar
@@ -1484,8 +1225,29 @@ dnl strip command
 dnl   defines STRIP as strip or nothing if not found
 AC_CHECK_PROG(STRIP, strip, strip, true)
 
+dnl does make support "-include" (only GNU make does AFAIK)?
+AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
+[
+    if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
+            egrep -s GNU > /dev/null); then
+        wx_cv_prog_makeisgnu="yes"
+    else
+        wx_cv_prog_makeisgnu="no"
+    fi
+])
+
+if test "x$wx_cv_prog_makeisgnu" = "xyes"; then
+    IF_GNU_MAKE=""
+else
+    IF_GNU_MAKE="#"
+fi
+
+AC_SUBST(IF_GNU_MAKE)
+
+dnl we don't need to check for VPATH support in GNU make - it does have it
+if test "x$wx_cv_prog_makeisgnu" != "xyes"; then
 dnl check if VPATH works
-AC_MSG_CHECKING(make for VPATH support)
+AC_CACHE_CHECK([if make supports VPATH], wx_cv_prog_makevpath, [
 dnl create Makefile
 cat - << EOF > confMake
 check : file
@@ -1502,10 +1264,14 @@ RESULT=$?
 rm -f sub/file check final_file confMake
 rmdir sub
 if test "$RESULT" = 0; then
-  AC_MSG_RESULT(yes)
+  wx_cv_prog_makevpath="yes"
 else
-  AC_MSG_RESULT(no)
-  AC_MSG_ERROR([
+  wx_cv_prog_makevpath="no"
+fi
+])
+
+if test "x$wx_cv_prog_makevpath" != "xyes"; then
+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,
@@ -1516,7 +1282,8 @@ 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
+fi dnl make without VPATH
+fi dnl not GNU make
 
 dnl YACC checks
 dnl   defines YACC with the appropriate command
@@ -1707,32 +1474,41 @@ PNG_INCLUDE=
 PNG_LINK=
 if test "$wxUSE_LIBPNG" != "no" ; then
     AC_DEFINE(wxUSE_LIBPNG)
+    
+    if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
+        AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
+        wxUSE_LIBPNG=sys
+    fi
 
     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
+    dnl libz somewhere (don't do this when bulding wxMGL since its libpng
+    dnl doesn't depend on zlib)
+    if test "$wxUSE_MGL" != 1 -a "$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
 
-    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 "$wxUSE_MGL" != 1 ; then
+        dnl Don't check for libpng when building wxMGL, libmgl contains it
+        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])
+            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
-                AC_MSG_WARN([system png library not found, will use built-in instead])
-                wxUSE_LIBPNG=builtin
+                dnl we are using the system library
+                wxUSE_LIBPNG=yes
             fi
-        else
-            dnl we are using the system library
-            wxUSE_LIBPNG=yes
         fi
     fi
 
@@ -1752,40 +1528,48 @@ 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
+    if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBJPEG" = "builtin" ; then
+        AC_MSG_WARN([wxMGL doesn't work with builtin jpeg library, will use MGL one instead])
+        wxUSE_LIBJPEG=sys
+    fi
+
+    if test "$wxUSE_MGL" != 1 ; then
+        dnl Don't check for libjpeg when building wxMGL, libmgl contains it
+        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)
+            AC_MSG_RESULT($ac_cv_header_jpeglib_h)
 
-        if test "$ac_cv_header_jpeglib_h" = "yes"; then
-            AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK=" -ljpeg")
-        fi
+            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])
+            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
-                AC_MSG_WARN([system jpeg library not found, will use built-in instead])
-                wxUSE_LIBJPEG=builtin
+                dnl we are using the system library
+                wxUSE_LIBJPEG=sys
             fi
-        else
-            dnl we are using the system library
-            wxUSE_LIBJPEG=sys
         fi
     fi
 
@@ -1829,41 +1613,6 @@ if test "$wxUSE_LIBTIFF" != "no" ; then
     fi
 fi
 
-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 ----------------------------------------------------------------
@@ -1919,7 +1668,7 @@ if test "$USE_WIN32" = 1 ; then
 
     dnl add extra odbc libs if we have compiled in odbc
     if test "$wxUSE_ODBC" = "yes" ; then
-        LIBS=" -lodbc32 -lole32 -loleaut32$LIBS"
+        LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
     fi
 
     RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
@@ -1959,17 +1708,24 @@ if test "$wxUSE_GUI" = "yes"; then
                 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, gthread)
+                    AM_PATH_GTK_2_0(2.0.0, 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)
+                    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)
+                    AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
                 fi
 
                 if test -z "$wx_cv_lib_gtk"; then
@@ -2019,8 +1775,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
     fi
 
     if test "$wxUSE_MGL" = 1; then
-        dnl FIXME_MGL - test for MGL's variants for freebsd etc.
-
         AC_MSG_CHECKING(for SciTech MGL library)
         if test "x$MGL_ROOT" = x ; then
             AC_MSG_RESULT(not found)
@@ -2029,7 +1783,19 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             AC_MSG_RESULT($MGL_ROOT)
         fi
 
-        mgl_os=linux/gcc/glibc
+        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
@@ -2055,6 +1821,100 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         GUIDIST=MGL_DIST
     fi
 
+    if test "$wxUSE_MICROWIN" = 1; then
+        AC_MSG_CHECKING(for MicroWindows)
+        if test "x$MICROWINDOWS" = x ; then
+            AC_MSG_RESULT(not found)
+            AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWINDOWS is set.])
+        else
+            AC_MSG_RESULT($MICROWINDOWS)
+        fi
+
+        if test -f $MICROWINDOWS/lib/libmwin.a; then
+            AC_MSG_RESULT(MicroWindows' libraries found.)
+        else
+            AC_MSG_ERROR([Cannot find MicroWindows libraries, make sure they are compiled.])
+        fi
+
+        TOOLKIT_INCLUDE="-I$MICROWINDOWS/include"
+        GUI_TK_LIBRARY="-L$MICROWINDOWS/lib -lmwin -lmwengine -mwfonts -mwdrivers -mwinlib"
+
+        AFMINSTALL=afminstall
+        TOOLKIT=MICROWIN
+        GUIDIST=MICROWIN_DIST
+        
+        TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__ -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
+    fi
+
+    if test "$wxUSE_X11" = 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
+
+        if test "$wxUSE_NANOX" = "yes"; then
+            AC_MSG_CHECKING(for MicroWindows/NanoX distribution)
+            if test "x$MICROWIN" = x ; then
+                AC_MSG_RESULT(not found)
+                AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWIN is set.])
+            else
+                AC_MSG_RESULT($MICROWIN)
+                AC_DEFINE(wxUSE_NANOX)
+            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
+
+        if test "$wxUSE_NANOX" = "yes"; then
+            TOOLKIT_INCLUDE="-I\$(top_srcdir)/include/wx/x11/nanox -I\$(MICROWIN)/src/include $TOOLKIT_INCLUDE"
+            TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__NANOX__ -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_GIF_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DLINUX=1 -DUNIX=1 -DUSE_EXPOSURE -DSCREEN_HEIGHT=480 -DSCREEN_WIDTH=640 -DSCREEN_DEPTH=4 -DX11=1"
+            GUI_TK_LIBRARY="$GUI_TK_LIBRARY \$(MICROWIN)/src/lib/libnano-X.a"
+        else
+            GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11$xpm_link"
+        fi
+
+        TOOLKIT_VPATH="\${top_srcdir}/src/x11"
+        TOOLKIT=X11
+        GUIDIST=X11_DIST
+    fi
+
     if test "$wxUSE_WINE" = 1; then
         AC_CHECK_HEADER(windows.h, [],
         [
@@ -2207,7 +2067,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         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
@@ -2232,17 +2091,30 @@ equivalent variable and GTK+ is version 1.2.3 or above.
 
     if test "$wxUSE_UNIVERSAL" = "yes"; then
         ALL_OBJECTS="\$(GUI_LOWLEVEL_OBJS) \${UNIVOBJS}"
+
+        dnl ALL_SOURCES and ALL_HEADERS shouldn't include really all sources
+        dnl and headers as some/most are not needed for wxUniv but I don't
+        dnl have time to add GUI_LOWLEVEL_SOURCES/HEADERS stuff now (TODO!)
+        ALL_SOURCES="\$(ALL_SOURCES) \${UNIV_SOURCES}"
+        ALL_HEADERS="\$(ALL_HEADERS) \${UNIV_HEADERS}"
+
         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}"
+        if test "$wxUSE_X11" = 1; then
+            TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}${PATH_IFS}\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes"
+        else
+            TOOLKIT_VPATH="\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes${PATH_IFS}\${top_srcdir}/src/${TOOLKIT_DIR}"
+        fi
         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
         WIDGET_SET=univ
     else
         ALL_OBJECTS="\$(GUIOBJS)"
+        ALL_SOURCES="\$(ALL_SOURCES)"
+        ALL_HEADERS="\$(ALL_HEADERS)"
     fi
 
     ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
 
-    if test "$TOOLKIT" != "MSW"; then
+    if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
     fi
 
@@ -2250,10 +2122,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         ALL_OBJECTS="${ALL_OBJECTS} \$(HTMLOBJS)"
     fi
 
-    dnl ODBC objects are Unix only
-    if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
-    fi
     if test "$wxUSE_LIBJPEG" = "builtin" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
     fi
@@ -2263,9 +2131,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
     if test "$wxUSE_LIBPNG" = "builtin" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
     fi
-    if test "$wxUSE_FREETYPE" = "builtin" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(FREETYPEOBJS)"
-    fi
 
     dnl distribute samples/demos/utils with GUI versions
     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
@@ -2290,6 +2155,9 @@ else
         TOOLKIT_VPATH="\${top_srcdir}/src/unix"
     fi
 
+    ALL_SOURCES="\$(ALL_SOURCES)"
+    ALL_HEADERS="\$(ALL_HEADERS)"
+
     PORT_FILES="\${top_srcdir}/src/files.lst"
 
     dnl distribute only wxBase sources/headers
@@ -2300,6 +2168,12 @@ fi
 dnl ---------------------------------------------------------------------------
 dnl Optional libraries included when system library is not used
 dnl ---------------------------------------------------------------------------
+
+dnl ODBC objects are Unix only
+if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then
+    ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
+fi
+
 if test "$wxUSE_REGEX" = "builtin" ; then
     ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
 fi
@@ -2321,7 +2195,11 @@ if test "$wxUSE_OPENGL" = "yes"; then
                 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"
+                    if test "$ac_path_to_link" = " -L/usr/lib" ; then
+                        LDFLAGS_GL="$LDFLAGS"
+                    else
+                        LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
+                    fi
                     OPENGL_LIBS="-lGL -lGLU"
                     AC_MSG_RESULT([yes])
                 else
@@ -2456,6 +2334,17 @@ fi
 
 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
+if test "$wxUSE_SHARED" = "yes"; then
+    case "${host}" in
+      *-pc-os2_emx | *-pc-os2-emx | \
+      *-pc-msdosdjgpp )
+        dnl only static for now
+        wxUSE_SHARED=no
+        AC_MSG_WARN([Host system doesn't support shared libraries, disabling])
+      ;;
+    esac
+fi
+
 if test "$wxUSE_SHARED" = "yes"; then
 
     dnl install targets
@@ -2479,7 +2368,9 @@ if test "$wxUSE_SHARED" = "yes"; then
     case "${host}" in
       *-hp-hpux* )
         dnl default settings are good for gcc but not for the native HP-UX
-        if test "$GCC" != "yes"; then
+        if test "$GCC" == "yes"; then
+            SHARED_LD="${SHARED_LD} ${PIC_FLAG}"
+        else
             dnl no idea why it wants it, but it does
             LDFLAGS="$LDFLAGS -L/usr/lib"
 
@@ -2532,15 +2423,19 @@ if test "$wxUSE_SHARED" = "yes"; then
             SHARED_LD="${CXX} -G -o"
             PIC_FLAG="-KPIC"
             SONAME_FLAGS="-h ${WX_LIBRARY_NAME_SHARED}"
-            SONAME_FLAGS_GL="-h ${WX_LIBRARY_NAME_SHARED}"
+            SONAME_FLAGS_GL="-h ${WX_LIBRARY_NAME_SHARED_GL}"
         fi
       ;;
 
       *-*-darwin* )
+        dnl For Unix to MacOS X porting instructions, see:
+        dnl http://fink.sourceforge.net/doc/porting/porting.html
         CFLAGS="$CFLAGS -fno-common -DDYLIB_INIT"
         CXXFLAGS="$CXXFLAGS -fno-common -DDYLIB_INIT"
         SHARED_LD="$CXX -dynamiclib -init _wxWindowsDylibInit -o"
         PIC_FLAG="-dynamic -fPIC"
+        SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION}"
+        SONAME_FLAGS_GL=${SONAME_FLAGS}
       ;;
 
       *-*-aix* )
@@ -2565,11 +2460,6 @@ if test "$wxUSE_SHARED" = "yes"; then
         fi
       ;;
 
-      *-pc-os2_emx | *-pc-os2-emx )
-        dnl only static for now
-        wxUSE_SHARED=no
-      ;;
-
       *-*-beos* )
         dnl can't use gcc under BeOS for shared library creation because it
         dnl complains about missing 'main'
@@ -2633,20 +2523,25 @@ if test "$wxUSE_MAC" = 1; then
     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)
+    MACOSX_BUNDLE="bundle"
     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"
+else
+    if test "$wxUSE_PM" = 1; then
+        LIBWXMACRESCOMP="emxbind -ep \$(BIN_PROGRAM)"
+    fi
 fi
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
-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
+dnl test for strings.h needed under AIX, but do not check for it wxMac as
+dnl it exists but is only a simple redirection to string.h and it is in
+dnl 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)
+  dnl defines HAVE_STRINGS_H
   AC_CHECK_HEADERS(strings.h)
 fi
 
@@ -2658,14 +2553,19 @@ 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 maybe wchar_t is in wcstr.h if we don't have wchar.h?
+if test "$ac_cv_header_wchar_h" != "yes"; then
+    dnl defines HAVE_WCSTR_H
+    AC_CHECK_HEADERS(wcstr.h)
+fi
+
+dnl checking for wctype.h is useless as we need wcslen(), not just wchar_t and
+dnl this function is never provided by it
+dnl AC_CHECK_HEADERS(wctype.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)
 
@@ -2813,10 +2713,18 @@ dnl cross-compiling)
 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
 AC_CHECK_SIZEOF(char, 1)
 AC_CHECK_SIZEOF(short, 2)
-AC_CHECK_SIZEOF(int *, 4)
+AC_CHECK_SIZEOF(void *, 4)
 AC_CHECK_SIZEOF(int, 4)
 AC_CHECK_SIZEOF(long, 4)
-AC_CHECK_SIZEOF(long long, 0)
+
+case "${host}" in
+    arm-*-linux* )
+        AC_CHECK_SIZEOF(long long, 8)
+    ;;
+    * )
+        AC_CHECK_SIZEOF(long long, 0)
+esac
+
 
 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
@@ -2889,20 +2797,21 @@ AC_FUNC_VPRINTF
 
 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
+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
 
-dnl we use AC_TRY_COMPILE() here instead of AC_TRY_RUN() to make the checks
-dnl work for cross-compilation, but AC_TRY_COMPILE() normally only compiles
+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_COMPILE() just prepends
+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_COMPILE will only be executed if there is nothing in
+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
@@ -2910,7 +2819,7 @@ dnl runs
 dnl check for vsnprintf() - a safe version of vsprintf()
 AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
 [
-  AC_TRY_COMPILE([
+  AC_TRY_LINK([
                     #include <stdio.h>
                     #include <stdarg.h>
                  ], [
@@ -2931,7 +2840,7 @@ AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
                  ], [
                     wx_cv_func_vsnprintf=yes
                  ], [
-                    AC_TRY_COMPILE([
+                    AC_TRY_LINK([
                                       #include <stdio.h>
                                       #include <stdarg.h>
                                    ], [
@@ -2960,7 +2869,7 @@ AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
 if test "$wx_cv_func_vsnprintf" = yes; then
     AC_DEFINE(HAVE_VSNPRINTF)
 else
-    AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
+    AC_MSG_WARN(unsafe function vsprintf will be used instead of vsnprintf)
 fi
 
 dnl check for vsscanf()
@@ -3000,23 +2909,9 @@ 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)
-])
+AM_ICONV
+LIBS="$LIBICONV $LIBS"
 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
@@ -3186,7 +3081,7 @@ 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)
+dnl libnsl or libresolv or libsocket)
 INET_LINK=
 AC_CHECK_FUNCS(inet_addr,
     AC_DEFINE(HAVE_INET_ADDR),
@@ -3194,7 +3089,10 @@ AC_CHECK_FUNCS(inet_addr,
         AC_CHECK_LIB(nsl, inet_addr,
             INET_LINK="nsl",
             AC_CHECK_LIB(resolv, inet_addr,
-                INET_LINK="resolv"
+                INET_LINK="resolv",
+                AC_CHECK_LIB(socket, inet_addr,
+                    INET_LINK="socket"
+                )
             )
         )
     ]
@@ -3434,10 +3332,8 @@ fi
 if test "$wxUSE_THREADS" = "yes"; then
   AC_DEFINE(wxUSE_THREADS)
 
-  dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X
-  if test "$USE_DARWIN" != 1; then
-    TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -D_REENTRANT"
-  fi
+  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
@@ -3546,7 +3442,7 @@ if test "$WXWIN_COMPATIBILITY_2" = "yes"; then
     WXWIN_COMPATIBILITY_2_2="yes"
 fi
 
-if test "$WXWIN_COMPATIBILITY_2_2" = "yes"; then
+if test "x$WXWIN_COMPATIBILITY_2_2" != "xno"; then
     AC_DEFINE(WXWIN_COMPATIBILITY_2_2)
 fi
 
@@ -3763,7 +3659,11 @@ if test "$wxUSE_DATETIME" = "yes"; then
                                             [
                                                 wx_cv_var_timezone=__timezone
                                             ],
-                                            AC_MSG_ERROR(no timezone variable)
+                                            [
+                                                if test "$USE_DOS" = 0 ; then
+                                                    AC_MSG_ERROR(no timezone variable)
+                                                fi
+                                            ]
                                         )
                                     ]
                                 )
@@ -3773,7 +3673,9 @@ if test "$wxUSE_DATETIME" = "yes"; then
     )
 
     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)
@@ -3856,14 +3758,23 @@ dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
-dnl under MSW we always have sockets
-if test "$TOOLKIT" != "MSW"; then
+dnl VZ: the GUI hooks wxSocket needs are not implemented yet in wxX11
+if test "$wxUSE_SOCKETS" = "yes"; then
+    if test "$TOOLKIT" = "X11"; then
+        AC_MSG_WARN([wxSocket not yet supported under X11... disabled])
+        wxUSE_SOCKETS="no"
+    fi
+fi
 
-    if test "$wxUSE_SOCKETS" = "yes"; then
-        dnl under Solaris, socket functions live in -lsocket
+if test "$wxUSE_SOCKETS" = "yes"; then
+    dnl under MSW we always have sockets
+    if test "$TOOLKIT" != "MSW"; then
+        dnl under Solaris and OS/2, socket functions live in -lsocket
         AC_CHECK_FUNC(socket,,
             AC_CHECK_LIB(socket, socket,
-                INET_LINK="$INET_LINK -lsocket",
+                if test "$INET_LINK" != " -lsocket"; then
+                    INET_LINK="$INET_LINK -lsocket"
+                fi,
                 [
                     AC_MSG_WARN([socket library not found - sockets will be disabled])
                     wxUSE_SOCKETS=no
@@ -3871,12 +3782,13 @@ if test "$TOOLKIT" != "MSW"; then
             )
         )
     fi
+fi
 
+if test "$wxUSE_SOCKETS" = "yes" ; then
     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
+    if test "$TOOLKIT" != "MSW"; 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,
@@ -3930,7 +3842,6 @@ if test "$TOOLKIT" != "MSW"; then
         fi
     fi
 fi
-dnl if !MSW
 
 if test "$wxUSE_SOCKETS" = "yes" ; then
     AC_DEFINE(wxUSE_SOCKETS)
@@ -3951,6 +3862,10 @@ if test "$wxUSE_GUI" = "yes"; then
         AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
         wxUSE_JOYSTICK=no
      fi
+    if test "$TOOLKIT" = "X11"; then
+        AC_MSG_WARN([Joystick not yet supported under X11... disabled])
+        wxUSE_JOYSTICK=no
+     fi
 
     dnl under MSW we always have joystick support
     if test "$TOOLKIT" != "MSW"; then
@@ -3979,7 +3894,7 @@ if test "$TOOLKIT" != "MSW"; then
 
     HAVE_DL_FUNCS=0
     HAVE_SHL_FUNCS=0
-    if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
+    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
@@ -4027,6 +3942,7 @@ if test "$TOOLKIT" != "MSW"; 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])
@@ -4036,11 +3952,10 @@ if test "$TOOLKIT" != "MSW"; then
     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)
-else
-    wxUSE_ODBC=no
-    wxUSE_SERIAL=no
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -4053,19 +3968,28 @@ fi
 
 if test "$wxUSE_UNICODE" = "yes" ; then
   AC_DEFINE(wxUSE_UNICODE)
+  
+  if test "$wxUSE_MSW" != 1; then
+      wxUSE_UNICODE_MSLU=no
+  fi
+
+  if test "$wxUSE_MSW" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
+        AC_CHECK_LIB(unicows,main,
+            [
+                AC_DEFINE(wxUSE_UNICODE_MSLU)
+            ],
+            [
+                AC_MSG_WARN([Compiler doesn't support MSLU (libunicows.a), disabled.
+                             Applications will only run on Windows NT/2000/XP!])
+                wxUSE_UNICODE_MSLU=no
+            ])
+    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
@@ -4101,7 +4025,7 @@ fi
 
 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
     if test "$wxUSE_UNIVERSAL" = "yes"; then
-        AC_MSG_WARN(MDI not yet supported for wxUNIVERSAL... disabled)
+        AC_MSG_WARN(MDI not yet supported for wxUniversal... disabled)
         wxUSE_MDI_ARCHITECTURE=no
     fi
 
@@ -4125,14 +4049,7 @@ if test "$wxUSE_HELP" = "yes"; then
 
     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
-            ])
+        AC_DEFINE(wxUSE_MS_HTML_HELP)
       fi
     fi
 
@@ -4160,8 +4077,12 @@ if test "$wxUSE_PROLOGIO" = "yes" ; then
 fi
 
 if test "$wxUSE_RESOURCES" = "yes" ; then
-    AC_DEFINE(wxUSE_RESOURCES)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
+    if test "$wxUSE_NANOX" = "yes"; then
+        AC_MSG_WARN([Cannot use resource database functions in NanoX])
+       else
+               AC_DEFINE(wxUSE_RESOURCES)
+               SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
+    fi
 fi
 
 if test "$wxUSE_X_RESOURCES" = "yes"; then
@@ -4234,8 +4155,8 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
         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])
+    if test "$wxUSE_X11" = 1; then
+        AC_MSG_WARN([Drag and drop not yet supported under X11... disabled])
         wxUSE_DRAG_AND_DROP=no
     fi
 
@@ -4445,7 +4366,7 @@ if test "$wxUSE_TOGGLEBTN" = "yes"; then
         wxUSE_TOGGLEBTN=no
     fi
     if test "$wxUSE_UNIVERSAL" = "yes"; then
-        AC_MSG_WARN([Toggle button not yet supported under wxUNIVERSAL... disabled])
+        AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
         wxUSE_TOGGLEBTN=no
     fi
 
@@ -4486,7 +4407,7 @@ if test "$wxUSE_TOOLTIPS" = "yes"; then
             AC_MSG_WARN([wxTooltip not supported under WINE... disabled])
         else
             if test "$wxUSE_UNIVERSAL" = "yes"; then
-                AC_MSG_WARN([wxTooltip not supported yet in wxUNIVERSAL... disabled])
+                AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
             else
                 AC_DEFINE(wxUSE_TOOLTIPS)
             fi
@@ -4511,17 +4432,25 @@ if test "$wxUSE_POPUPWIN" = "yes"; then
         if test "$wxUSE_MOTIF" = 1; then
             AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
         else
-            AC_DEFINE(wxUSE_POPUPWIN)
+            if test "$wxUSE_PM" = 1; then
+                AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
+            else 
+                AC_DEFINE(wxUSE_POPUPWIN)
 
-            if test "$wxUSE_TIPWINDOW" = "yes"; then
-                AC_DEFINE(wxUSE_TIPWINDOW)
+                USES_CONTROLS=1
             fi
-
-            USES_CONTROLS=1
         fi
     fi
 fi
 
+if test "$wxUSE_TIPWINDOW" = "yes"; then
+    if test "$wxUSE_PM" = 1; then
+        AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
+    else 
+        AC_DEFINE(wxUSE_TIPWINDOW)
+    fi
+fi
+
 if test "$USES_CONTROLS" = 1; then
     AC_DEFINE(wxUSE_CONTROLS)
 fi
@@ -4557,6 +4486,37 @@ if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
     AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
 fi
 
+if test "$wxUSE_PROTOCOL" = "yes"; then
+    if test "$wxUSE_SOCKETS" != "yes"; then
+        AC_MSG_WARN(Protocol classes require sockets... disabled)
+        wxUSE_PROTOCOL=no
+    fi
+
+    if test "$wxUSE_PROTOCOL" = "yes"; then
+        AC_DEFINE(wxUSE_PROTOCOL)
+
+        if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
+            AC_DEFINE(wxUSE_PROTOCOL_HTTP)
+        fi
+        if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
+            AC_DEFINE(wxUSE_PROTOCOL_FTP)
+        fi
+        if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
+            AC_DEFINE(wxUSE_PROTOCOL_FILE)
+        fi
+    fi
+fi
+
+if test "$wxUSE_URL" = "yes"; then
+    if test "$wxUSE_PROTOCOL" != "yes"; then
+        AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
+        wxUSE_URL=no
+    fi
+    if test "$wxUSE_URL" = "yes"; then
+        AC_DEFINE(wxUSE_URL)
+    fi
+fi
+
 if test "$wxUSE_MINIFRAME" = "yes"; then
     AC_DEFINE(wxUSE_MINIFRAME)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
@@ -4588,6 +4548,10 @@ if test "$wxUSE_PCX" = "yes" ; then
   AC_DEFINE(wxUSE_PCX)
 fi
 
+if test "$wxUSE_IFF" = "yes" ; then
+  AC_DEFINE(wxUSE_IFF)
+fi
+
 if test "$wxUSE_PNM" = "yes" ; then
   AC_DEFINE(wxUSE_PNM)
 fi
@@ -4596,6 +4560,15 @@ if test "$wxUSE_XPM" = "yes" ; then
   AC_DEFINE(wxUSE_XPM)
 fi
 
+if test "$wxUSE_ICO_CUR" = "yes" ; then
+  AC_DEFINE(wxUSE_ICO_CUR)
+fi
+
+if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
+  dnl Must be done this late because -lunicows must be before all the other libs
+  LIBS=" -lunicows $LIBS"
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl common dialog
 dnl ---------------------------------------------------------------------------
@@ -4621,14 +4594,10 @@ if test "$wxUSE_FONTDLG" = "yes"; then
 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)
+    if test "$wxUSE_TREECTRL" != "yes"; then
+        AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
     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
+        AC_DEFINE(wxUSE_DIRDLG)
     fi
 fi
 
@@ -4713,18 +4682,18 @@ 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 ]
 
-LIBS="$ZLIB_LINK$POSIX4_LINK$INET_LINK$WCHAR_LINK$THREADS_LINK$DL_LINK -lm$LIBS"
+LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DL_LINK -lm $LIBS"
 
 if test "$wxUSE_GUI" = "yes"; then
 
-    LIBS=" $GUI_TK_LIBRARY$PNG_LINK$JPEG_LINK$TIFF_LINK$FREETYPE_LINK$LIBS"
+    LIBS="$GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_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      ipc, mfc, nativdlg, oleauto, ownerdrw
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS controls dialogs \
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \
                      drawing dynamic erase event exec font image \
                      minimal richedit rotate widgets"
 
@@ -4737,8 +4706,7 @@ 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"
+$REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $TOOLKIT_INCLUDE"
 
 dnl wxGTK does not need TOOLKIT includes in wx-config
 if test "$wxUSE_GTK" = 1; then
@@ -4762,7 +4730,7 @@ if test "$GXX" = yes ; then
     fi
 fi
 
-EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG$PROFILE $OPTIMISE $INCLUDES"
+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'`
@@ -4838,8 +4806,10 @@ AC_SUBST(WXCONFIG_LIBS_STATIC)
 AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
 AC_SUBST(WXCONFIG_INCLUDE)
 
-dnl what to compile
+dnl the list of files to compile/install
 AC_SUBST(ALL_OBJECTS)
+AC_SUBST(ALL_HEADERS)
+AC_SUBST(ALL_SOURCES)
 
 dnl distribution vars
 AC_SUBST(GUIDIST)
@@ -4865,6 +4835,7 @@ AC_SUBST(WX_RESOURCES_MACOSX_COMPILED)
 
 dnl additional for Mac OS X
 AC_SUBST(DEREZ)
+AC_SUBST(MACOSX_BUNDLE)
 AC_SUBST(LIBWXMACRES)
 AC_SUBST(LIBWXMACRESCOMP)
 AC_SUBST(LIBWXMACRESWXCONFIG)
@@ -4894,6 +4865,7 @@ if test "$wxUSE_GUI" = "yes"; then
     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_if_gnu_make=$IF_GNU_MAKE
     wx_cv_path_ifs=$PATH_IFS
     wx_cv_program_ext=$PROGRAM_EXT
     wx_cv_target_library=$WX_TARGET_LIBRARY
@@ -4901,7 +4873,8 @@ if test "$wxUSE_GUI" = "yes"; then
     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 \
+    export wx_cv_path_samplesubdirs wx_cv_if_gnu_make \
+           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