]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
added code showing that at least under Windows wxCombobox::GetSelection() return...
[wxWidgets.git] / configure.in
index 46abf008c29ce762568a1ec628babf2bac098f27..ce601eeb034f0e96bc6b7c9ffe390a9cea0ffcdf 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.5.5], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.6.2], [wx-dev@lists.wxwidgets.org])
 
 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
 AC_CONFIG_SRCDIR([wx-config.in])
 
 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
 AC_CONFIG_SRCDIR([wx-config.in])
@@ -31,32 +31,11 @@ AC_CANONICAL_TARGET
 dnl When making releases do:
 dnl
 dnl wx_release_number += 1
 dnl When making releases do:
 dnl
 dnl wx_release_number += 1
-dnl
-dnl ..and update WX_CURRENT, WX_REVISION 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    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=5
-wx_release_number=5
-wx_subrelease_number=0
+wx_minor_version_number=6
+wx_release_number=2
+wx_subrelease_number=1
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -64,9 +43,6 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
 
 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
 
 
 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
 
-WX_CURRENT=5
-WX_REVISION=0
-WX_AGE=5
 
 
 dnl ------------------------------------------------------------------------
 
 
 dnl ------------------------------------------------------------------------
@@ -145,6 +121,8 @@ SO_SUFFIX=so
 SAMPLES_RPATH_FLAG=
 SAMPLES_RPATH_POSTLINK=
 
 SAMPLES_RPATH_FLAG=
 SAMPLES_RPATH_POSTLINK=
 
+DEFAULT_STD_FLAG=yes
+
 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 and also define the shared library flags below - search for
 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 and also define the shared library flags below - search for
@@ -276,6 +254,7 @@ case "${host}" in
     PROGRAM_EXT=".exe"
     RESCOMP=windres
     DEFAULT_DEFAULT_wxUSE_MSW=1
     PROGRAM_EXT=".exe"
     RESCOMP=windres
     DEFAULT_DEFAULT_wxUSE_MSW=1
+    DEFAULT_STD_FLAG=no
   ;;
 
   *-pc-msdosdjgpp )
   ;;
 
   *-pc-msdosdjgpp )
@@ -284,8 +263,6 @@ case "${host}" in
     AC_DEFINE(__DOS__)
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_MGL=1
     AC_DEFINE(__DOS__)
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_MGL=1
-    dnl DJGPP needs explicit -lstdc++ for some reason (VS: mayb some versions only?)
-    LIBS="$LIBS -lstdc++"
   ;;
 
   *-pc-os2_emx | *-pc-os2-emx )
   ;;
 
   *-pc-os2_emx | *-pc-os2-emx )
@@ -319,6 +296,7 @@ case "${host}" in
     done
     export PATH="$ac_TEMP_PATH"
     unset ac_TEMP_PATH
     done
     export PATH="$ac_TEMP_PATH"
     unset ac_TEMP_PATH
+    DEFAULT_STD_FLAG=no
   ;;
 
   powerpc-*-darwin* )
   ;;
 
   powerpc-*-darwin* )
@@ -330,6 +308,7 @@ case "${host}" in
     AC_DEFINE(__DARWIN__)
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
     AC_DEFINE(__DARWIN__)
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
+    DEFAULT_STD_FLAG=no
   ;;
   powerpc-apple-macos* )
     dnl Classic Mac OS (< X)
   ;;
   powerpc-apple-macos* )
     dnl Classic Mac OS (< X)
@@ -341,6 +320,7 @@ case "${host}" in
     dnl AC_DEFINE(TARGET_CARBON)
     dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
     DEFAULT_DEFAULT_wxUSE_MAC=1
     dnl AC_DEFINE(TARGET_CARBON)
     dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
     DEFAULT_DEFAULT_wxUSE_MAC=1
+    DEFAULT_STD_FLAG=no
   ;;
 
   *-*-beos* )
   ;;
 
   *-*-beos* )
@@ -432,7 +412,6 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
   DEFAULT_wxUSE_MEDIACTRL=no  
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
   DEFAULT_wxUSE_MEDIACTRL=no  
-  DEFAULT_wxUSE_DIRECTSHOW=no  
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
@@ -456,6 +435,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_DRAG_AND_DROP=no
   DEFAULT_wxUSE_DRAGIMAGE=no
   DEFAULT_wxUSE_SPLINES=no
   DEFAULT_wxUSE_DRAG_AND_DROP=no
   DEFAULT_wxUSE_DRAGIMAGE=no
   DEFAULT_wxUSE_SPLINES=no
+  DEFAULT_wxUSE_MOUSEWHEEL=no
 
   DEFAULT_wxUSE_MDI=no
   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
 
   DEFAULT_wxUSE_MDI=no
   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
@@ -615,8 +595,8 @@ else
   DEFAULT_wxUSE_STACKWALKER=yes
   DEFAULT_wxUSE_DEBUGREPORT=yes
   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
   DEFAULT_wxUSE_STACKWALKER=yes
   DEFAULT_wxUSE_DEBUGREPORT=yes
   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
-  DEFAULT_wxUSE_STD_IOSTREAM=no
-  DEFAULT_wxUSE_STD_STRING=no
+  DEFAULT_wxUSE_STD_IOSTREAM=$DEFAULT_STD_FLAG
+  DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG
   DEFAULT_wxUSE_CMDLINE_PARSER=yes
   DEFAULT_wxUSE_DATETIME=yes
   DEFAULT_wxUSE_TIMER=yes
   DEFAULT_wxUSE_CMDLINE_PARSER=yes
   DEFAULT_wxUSE_DATETIME=yes
   DEFAULT_wxUSE_TIMER=yes
@@ -628,7 +608,6 @@ else
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_MEDIACTRL=no
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_MEDIACTRL=no
-  DEFAULT_wxUSE_DIRECTSHOW=no
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -652,6 +631,7 @@ else
   DEFAULT_wxUSE_DRAG_AND_DROP=yes
   DEFAULT_wxUSE_DRAGIMAGE=yes
   DEFAULT_wxUSE_SPLINES=yes
   DEFAULT_wxUSE_DRAG_AND_DROP=yes
   DEFAULT_wxUSE_DRAGIMAGE=yes
   DEFAULT_wxUSE_SPLINES=yes
+  DEFAULT_wxUSE_MOUSEWHEEL=yes
 
   DEFAULT_wxUSE_MDI=yes
   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
 
   DEFAULT_wxUSE_MDI=yes
   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
@@ -766,6 +746,7 @@ else
   DEFAULT_wxUSE_GTK2=yes
 fi
 
   DEFAULT_wxUSE_GTK2=yes
 fi
 
+
 dnl WX_ARG_WITH should be used to select whether an external package will be
 dnl used or not, to configure compile-time features of this package itself,
 dnl use WX_ARG_ENABLE instead
 dnl WX_ARG_WITH should be used to select whether an external package will be
 dnl used or not, to configure compile-time features of this package itself,
 dnl use WX_ARG_ENABLE instead
@@ -782,6 +763,11 @@ for toolkit in `echo $ALL_TOOLKITS`; do
     has_toolkit_in_cache=1
     eval "DEFAULT_$LINE"
     eval "CACHE_$toolkit=1"
     has_toolkit_in_cache=1
     eval "DEFAULT_$LINE"
     eval "CACHE_$toolkit=1"
+    
+    LINE=`grep "wx${toolkit}_VERSION=" ${wx_arg_cache_file}`
+    if test "x$LINE" != "x" ; then
+        eval "DEFAULT_$LINE"
+    fi
   fi
 done
 
   fi
 done
 
@@ -800,7 +786,7 @@ WX_ARG_ENABLE(plugins,     [  --enable-plugins        build parts of wxWidgets a
 if test "$wxUSE_GUI" = "yes"; then
 
 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
 if test "$wxUSE_GUI" = "yes"; then
 
 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWidgets 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(gtk,          [[  --with-gtk[=VERSION]    use GTK+, VERSION can be 2 (default), 1 or "any"]], [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" CACHE_MAC=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=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" CACHE_MAC=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
@@ -812,7 +798,7 @@ AC_ARG_WITH(microwin,      [  --with-microwin         use MicroWindows], [wxUSE_
 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_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)
 
-WX_ARG_ENABLE(gtk2,        [  --disable-gtk2          use GTK+ 1.2 instead of 2.0], wxUSE_GTK2)
+AC_ARG_ENABLE(gtk2,        [  --disable-gtk2          use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"])
 WX_ARG_ENABLE(gpe,         [  --enable-gpe            use GNOME PDA Environment features if possible], wxUSE_GPE)
 
 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
 WX_ARG_ENABLE(gpe,         [  --enable-gpe            use GNOME PDA Environment features if possible], wxUSE_GPE)
 
 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
@@ -1149,13 +1135,18 @@ WX_ARG_ENABLE(menus,       [  --enable-menus          use wxMenu/wxMenuBar/wxMen
 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
+WX_ARG_ENABLE(mousewheel,  [  --enable-mousewheel     use mousewheel], wxUSE_MOUSEWHEEL)
 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], wxUSE_JOYSTICK)
 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], wxUSE_JOYSTICK)
-WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Windows only)], wxUSE_METAFILE)
+WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Win32 only)], wxUSE_METAFILE)
 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
 WX_ARG_ENABLE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
 
 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
 WX_ARG_ENABLE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
 
+if test "$wxUSE_MSW" = "1"; then
+    WX_ARG_ENABLE(dccache, [  --enable-dccache        cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
+fi
+
 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 ---------------------------------------------------------------------------
@@ -1209,6 +1200,7 @@ if test "$wxUSE_WINE" = "yes"; then
     wxUSE_SHARED=no
 fi
 
     wxUSE_SHARED=no
 fi
 
+
 if test "$wxUSE_GUI" = "yes"; then
 
     if test "$USE_BEOS" = 1; then
 if test "$wxUSE_GUI" = "yes"; then
 
     if test "$USE_BEOS" = 1; then
@@ -1216,11 +1208,19 @@ if test "$wxUSE_GUI" = "yes"; then
     fi
 
     if test "$TOOLKIT_GIVEN" = 1; then
     fi
 
     if test "$TOOLKIT_GIVEN" = 1; then
-      dnl convert "yes" to 1 and "no" to 0
+      dnl convert "yes", "any" or a number to 1 and "no" to 0
       for toolkit in `echo $ALL_TOOLKITS`; do
         var=wxUSE_$toolkit
         eval "value=\$${var}"
       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/"`"
+        if test "x$value" = "xno"; then
+          eval "$var=0"
+        elif test "x$value" != "x"; then
+          eval "$var=1"
+        fi
+
+        if test "x$value" != "x" -a "x$value" != "xyes" -a "x$value" != "xno"; then
+          eval "wx${toolkit}_VERSION=$value"
+        fi
       done
     else
       dnl try to guess the most apropriate toolkit for this platform
       done
     else
       dnl try to guess the most apropriate toolkit for this platform
@@ -1229,6 +1229,11 @@ if test "$wxUSE_GUI" = "yes"; then
           var=DEFAULT_DEFAULT_wxUSE_$toolkit
         else
           var=DEFAULT_wxUSE_$toolkit
           var=DEFAULT_DEFAULT_wxUSE_$toolkit
         else
           var=DEFAULT_wxUSE_$toolkit
+
+          eval "version=\$DEFAULT_wx${toolkit}_VERSION"
+          if test "x$version" != "x"; then
+            eval "wx${toolkit}_VERSION=$version"
+          fi
         fi
         eval "wxUSE_$toolkit=\$${var}"
       done
         fi
         eval "wxUSE_$toolkit=\$${var}"
       done
@@ -1256,6 +1261,13 @@ if test "$wxUSE_GUI" = "yes"; then
         AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
     esac
 
         AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
     esac
 
+    # to be removed when --disable-gtk2 isn't needed
+    if test "x$wxUSE_GTK2" = "xyes"; then
+        wxGTK_VERSION=2
+    elif test "x$wxUSE_GTK2" = "xno"; then
+        wxGTK_VERSION=1
+    fi
+
     dnl cache the wxUSE_<TOOLKIT> values too
     for toolkit in `echo $ALL_TOOLKITS`; do
       var=wxUSE_$toolkit
     dnl cache the wxUSE_<TOOLKIT> values too
     for toolkit in `echo $ALL_TOOLKITS`; do
       var=wxUSE_$toolkit
@@ -1265,6 +1277,10 @@ if test "$wxUSE_GUI" = "yes"; then
         eval "cache=\$${cache_var}"
         if test "$cache" = 1; then
           echo "$var=$value" >> ${wx_arg_cache_file}
         eval "cache=\$${cache_var}"
         if test "$cache" = 1; then
           echo "$var=$value" >> ${wx_arg_cache_file}
+          eval "version=\$wx${toolkit}_VERSION"
+          if test "x$version" != "x"; then
+            echo "wx${toolkit}_VERSION=$version" >> ${wx_arg_cache_file}
+          fi
         fi
         if test "$value" = 1; then
           toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
         fi
         if test "$value" = 1; then
           toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
@@ -1291,6 +1307,7 @@ case "${host}" in
   *-*-cygwin*)
       if test "$wxUSE_MSW" = 1 ; then
         wants_win32=1
   *-*-cygwin*)
       if test "$wxUSE_MSW" = 1 ; then
         wants_win32=1
+        BAKEFILE_FORCE_PLATFORM=win32
       else
         doesnt_want_win32=1
       fi
       else
         doesnt_want_win32=1
       fi
@@ -1502,9 +1519,9 @@ dnl ------------------------------------------------------------------------
 dnl Platform specific tests
 dnl ------------------------------------------------------------------------
 
 dnl Platform specific tests
 dnl ------------------------------------------------------------------------
 
-dnl xlC needs -qunique (at least on AIX) so that one source file can be
+dnl xlC needs -qunique under AIX so that one source file can be
 dnl compiled to multiple object files and safely linked together.
 dnl compiled to multiple object files and safely linked together.
-if test "x$XLCXX" = "xyes"; then
+if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then
     CXXFLAGS="$CXXFLAGS -qunique"
 fi
 
     CXXFLAGS="$CXXFLAGS -qunique"
 fi
 
@@ -1600,7 +1617,7 @@ case "${host}" in
           LDFLAGS="$LDFLAGS -Zsysv-signals"
       else
           if test "$wx_cv_gccversion" = "EMX3"; then
           LDFLAGS="$LDFLAGS -Zsysv-signals"
       else
           if test "$wx_cv_gccversion" = "EMX3"; then
-              LIBS="$LIBS -lstdcxx"
+              LIBS="$LIBS -lstdcxx -lgcc"
               LDFLAGS="$LDFLAGS -Zsysv-signals"
           else
               LIBS="$LIBS -lstdc++"
               LDFLAGS="$LDFLAGS -Zsysv-signals"
           else
               LIBS="$LIBS -lstdc++"
@@ -1685,10 +1702,6 @@ fi
 dnl defines HAVE_FNMATCH_H
 AC_CHECK_HEADERS(fnmatch.h)
 
 dnl defines HAVE_FNMATCH_H
 AC_CHECK_HEADERS(fnmatch.h)
 
-if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
-    AC_CHECK_FUNCS(fnmatch)
-fi
-
 dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
 AC_CHECK_HEADERS(langinfo.h)
 
 dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
 AC_CHECK_HEADERS(langinfo.h)
 
@@ -1756,8 +1769,8 @@ dnl SGI/Irix's stdio.h does not include wchar_t. Mac OS X does not provide
 dnl wchar.h and wchar_t is defined by stdlib.h (GD)
 AC_CHECK_SIZEOF(wchar_t, 0,
     [
 dnl wchar.h and wchar_t is defined by stdlib.h (GD)
 AC_CHECK_SIZEOF(wchar_t, 0,
     [
-        /* DJGPP only has fake wchar_t: */
-        #ifdef __DJGPP__
+        /* DJGPP's wchar_t is now a keyword in C++ (still not C though) */
+        #if defined(__DJGPP__) && !( (__GNUC_MINOR__ >= 8 && __GNUC__ == 2 ) || __GNUC__ >= 3 )
         #  error "fake wchar_t"
         #endif
         #ifdef HAVE_WCHAR_H
         #  error "fake wchar_t"
         #endif
         #ifdef HAVE_WCHAR_H
@@ -1772,6 +1785,11 @@ AC_CHECK_SIZEOF(wchar_t, 0,
         #include <stdio.h>
     ]
 )
         #include <stdio.h>
     ]
 )
+if test "$ac_cv_sizeof_wchar_t" != "0"; then
+    wxUSE_WCHAR_T=yes
+else
+    wxUSE_WCHAR_T=no
+fi
 
 dnl checks needed to define wxVaCopy
 AC_CACHE_CHECK([for va_copy],
 
 dnl checks needed to define wxVaCopy
 AC_CACHE_CHECK([for va_copy],
@@ -1878,7 +1896,82 @@ AC_CXX_STATIC_CAST
 dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
 dnl AC_CXX_DYNAMIC_CAST
 
 dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
 dnl AC_CXX_DYNAMIC_CAST
 
-dnl check various STL features
+dnl With Sun CC, temporaries have block scope by default. This flag is needed
+dnl to get the expression scope behaviour that conforms to the standard.
+if test "x$SUNCXX" = xyes; then
+    CXXFLAGS="$CXXFLAGS -features=tmplife"
+fi
+
+dnl check for std::string or std::wstring
+if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
+    AC_LANG_PUSH(C++)
+
+    if test "$wxUSE_UNICODE" = "yes"; then
+        std_string="std::wstring"
+        char_type="wchar_t"
+    else
+        std_string="std::string"
+        char_type="char"
+    fi
+
+    dnl check if <string> declares std::wstring
+    AC_MSG_CHECKING([for $std_string in <string>])
+    AC_TRY_COMPILE([#include <string>],
+                   [$std_string foo;],
+                   [AC_MSG_RESULT(yes)
+                    AC_DEFINE(HAVE_STD_WSTRING)],
+                   [AC_MSG_RESULT(no)
+                    AC_MSG_CHECKING([if std::basic_string<$char_type> works])
+                    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
+                        #include <stdio.h>
+                        #include <string>
+                        ],
+                        [std::basic_string<$char_type> foo;
+                         const $char_type* dummy = foo.c_str();],
+                        [AC_MSG_RESULT(yes)],
+                        [AC_MSG_RESULT([no])
+                         if test "$wxUSE_STL" = "yes"; then
+                             AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
+                         elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
+                             AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
+                         else
+                             AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
+                             wxUSE_STD_STRING=no
+                         fi
+                        ]
+                    )
+                    ])
+
+    AC_LANG_POP
+fi
+
+if test "$wxUSE_STD_IOSTREAM" = "yes"; then
+    AC_LANG_PUSH(C++)
+
+    AC_CHECK_TYPES([std::istream, std::ostream],,
+                   [wxUSE_STD_IOSTREAM=no],
+                   [#include <iostream>])
+
+    if test "$wxUSE_STD_IOSTREAM" != "yes"; then
+        if grep wxUSE_STD_IOSTREAM $wx_arg_cache_file >/dev/null; then
+            AC_MSG_ERROR([Can't use --enable-std_iostreams without std::istream and std::ostream])
+        else
+            AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
+        fi
+    fi
+    
+    AC_LANG_POP
+fi
+
 if test "$wxUSE_STL" = "yes"; then
     AC_LANG_PUSH(C++)
 
 if test "$wxUSE_STL" = "yes"; then
     AC_LANG_PUSH(C++)
 
@@ -1898,14 +1991,6 @@ if test "$wxUSE_STL" = "yes"; then
                     [AC_MSG_RESULT([no])
                      AC_MSG_ERROR([Basic STL functionality missing])])
 
                     [AC_MSG_RESULT([no])
                      AC_MSG_ERROR([Basic STL functionality missing])])
 
-    dnl check if <string> declares std::wstring
-    AC_MSG_CHECKING([for std::wstring in <string>])
-    AC_TRY_COMPILE([#include <string>],
-                   [std::wstring foo;],
-                   [AC_MSG_RESULT(yes)
-                    AC_DEFINE(HAVE_STD_WSTRING)],
-                   [AC_MSG_RESULT(no)])
-
     dnl check for compliant std::string::compare
     AC_MSG_CHECKING([for compliant std::string::compare])
     AC_TRY_COMPILE([#include <string>],
     dnl check for compliant std::string::compare
     AC_MSG_CHECKING([for compliant std::string::compare])
     AC_TRY_COMPILE([#include <string>],
@@ -2036,6 +2121,41 @@ dnl also put 64 bit versions for Linux on AMD, they must come before the usual
 dnl locations or 64 bit compilation failed
 SEARCH_LIB="/usr/lib /usr/lib32 /usr/lib64 /usr/X11R6/lib64 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g`"
 
 dnl locations or 64 bit compilation failed
 SEARCH_LIB="/usr/lib /usr/lib32 /usr/lib64 /usr/X11R6/lib64 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g`"
 
+dnl Cross compiling with gcc?
+if test "$build" != "$host" -a "$GCC" = yes; then
+    dnl for gcc cross-compilers "$CC -print-prog-name=ld" prints the path to
+    dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate
+    dnl for a 'root' below which libraries and headers for the target system
+    dnl might be installed.
+    if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then
+        cross_root=`dirname $cross_root`
+        cross_root=`dirname $cross_root`
+
+        dnl substitute this candiate root for '^/usr' in the search lists,
+        dnl strip out any that don't start '^/usr'.
+        SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
+        SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
+
+        dnl also have pkg-config search for *.pc files under this 'root'
+        if test -z "$PKG_CONFIG_PATH"; then
+            PKG_CONFIG_PATH="$cross_root/local/lib/pkgconfig:$cross_root/lib/pkgconfig"
+            export PKG_CONFIG_PATH
+        fi
+
+        dnl AC_PATH_XTRA doesn't work currently unless -x-includes and
+        dnl -x-libraries are given on the command line. So if they are not
+        dnl set then set them here to plausible defaults.
+        if test -z "$x_includes" -o "$x_includes" = NONE; then
+            WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
+            x_includes=$ac_find_includes
+        fi
+        if test -z "$x_libraries" -o "$x_libraries" = NONE; then
+            WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xt)
+            x_libraries=$ac_find_libraries
+        fi
+    fi
+fi
+
 dnl ------------------------------------------------------------------------
 dnl Check for libraries
 dnl ------------------------------------------------------------------------
 dnl ------------------------------------------------------------------------
 dnl Check for libraries
 dnl ------------------------------------------------------------------------
@@ -2378,6 +2498,17 @@ dnl ------------------------------------------------------------------------
 dnl Check for expat libraries
 dnl ------------------------------------------------------------------------
 
 dnl Check for expat libraries
 dnl ------------------------------------------------------------------------
 
+if test "$wxUSE_WCHAR_T" != "yes"; then
+    if test "$wxUSE_EXPAT" != "no"; then
+        AC_MSG_WARN([wxWidgets requires wchar_t to use expat, disabling])
+        wxUSE_EXPAT=no
+    fi
+    if test "$wxUSE_XML" != "no"; then
+        AC_MSG_WARN([wxWidgets requires wchar_t to use xml, disabling])
+        wxUSE_XML=no
+    fi
+fi
+
 if test "$wxUSE_EXPAT" != "no"; then
     wxUSE_XML=yes
     AC_DEFINE(wxUSE_EXPAT)
 if test "$wxUSE_EXPAT" != "no"; then
     wxUSE_XML=yes
     AC_DEFINE(wxUSE_EXPAT)
@@ -2548,16 +2679,20 @@ if test "$wxUSE_GUI" = "yes"; then
                     GTK_MODULES=gthread
                 fi
 
                     GTK_MODULES=gthread
                 fi
 
-                dnl note that if we fail to find GTK2 we abort and don't fall
-                dnl back to GTK1.x
+                dnl detect GTK2
                 wx_cv_lib_gtk=
                 wx_cv_lib_gtk=
-                if test "x$wxUSE_GTK2" = "xyes"; then
+                if test "x$wxGTK_VERSION" != "x1"; then
                     AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
                     AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
-                else
-                    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)
+                dnl detect GTK1.x
+                if test -z "$wx_cv_lib_gtk"; then
+                    if test "x$wxGTK_VERSION" = "x1" -o "x$wxGTK_VERSION" = "xany" ; then
+                        AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
+
+                        if test -z "$wx_cv_lib_gtk"; then
+                            AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
+                        fi
                     fi
                 fi
 
                     fi
                 fi
 
@@ -2589,10 +2724,12 @@ if test "$wxUSE_GUI" = "yes"; then
             1.2.3)  WXGTK12=1
                     ;;
             *)      AC_MSG_ERROR([
             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.
+The development files for GTK+ were not found. For GTK+ 2, please
+ensure that pkg-config is in the path and that gtk+-2.0.pc is
+installed. For GTK+ 1.2 please check that gtk-config is in the path,
+and that the version is 1.2.3 or above. Also check that the
+libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
+--libs' are in the LD_LIBRARY_PATH or equivalent.
                             ])
                     ;;
         esac
                             ])
                     ;;
         esac
@@ -2601,10 +2738,29 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             save_CFLAGS="$CFLAGS"
             save_LIBS="$LIBS"
             CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
             save_CFLAGS="$CFLAGS"
             save_LIBS="$LIBS"
             CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
-            LIBS="$LIBS $wx_cv_lib_gtk"
-            
+            LIBS="$LIBS $wx_cv_libs_gtk"
+
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
-            
+
+            dnl gtk_icon_size_lookup is not available in the GTK+ headers
+            dnl that have shipped with some versions of Sun's JDS. Not using
+            dnl AC_CHECK_FUNCS here since it only checks the function exists
+            dnl in the lib (not the header).
+            AC_MSG_CHECKING([if gtk_icon_size_lookup is missing])
+            AC_TRY_COMPILE([
+                            #include <gtk/gtk.h>
+                           ],
+                           [
+                            void *f = gtk_icon_size_lookup;
+                           ],
+                           [
+                            AC_MSG_RESULT([no])
+                           ],
+                           [
+                            AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)
+                            AC_MSG_RESULT([yes])
+                           ])
+
             dnl test if we have at least GTK+ 2.4:
             AC_MSG_CHECKING([if GTK+ is version >= 2.4])
             AC_TRY_COMPILE([
             dnl test if we have at least GTK+ 2.4:
             AC_MSG_CHECKING([if GTK+ is version >= 2.4])
             AC_TRY_COMPILE([
@@ -2622,7 +2778,7 @@ equivalent variable and GTK+ is version 1.2.3 or above.
                            [
                             AC_MSG_RESULT([no])
                            ])
                            [
                             AC_MSG_RESULT([no])
                            ])
-            
+
             CFLAGS="$save_CFLAGS"
             LIBS="$save_LIBS"
         else
             CFLAGS="$save_CFLAGS"
             LIBS="$save_LIBS"
         else
@@ -2858,6 +3014,10 @@ equivalent variable and GTK+ is version 1.2.3 or above.
     fi
 
     if test "$wxUSE_MOTIF" = 1; then
     fi
 
     if test "$wxUSE_MOTIF" = 1; then
+        if test "$wxUSE_UNICODE" = "yes"; then
+            AC_MSG_ERROR([Unicode configuration not supported with Motif])
+        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_CHECKING(for Motif/Lesstif headers)
         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
         if test "$ac_find_includes" != "" ; then
@@ -2985,6 +3145,24 @@ equivalent variable and GTK+ is version 1.2.3 or above.
                         AC_DEFINE(__WXMOTIF20__,0)
                         AC_MSG_RESULT([not found])
                        ])
                         AC_DEFINE(__WXMOTIF20__,0)
                         AC_MSG_RESULT([not found])
                        ])
+
+        AC_MSG_CHECKING([whether Motif is Lesstif])
+        AC_TRY_COMPILE([
+                        #include <Xm/Xm.h>
+                       ],
+                       [
+                        #if !defined(LesstifVersion) || LesstifVersion <= 0
+                        #error "Not Lesstif"
+                        #endif
+                       ],
+                       [
+                        AC_DEFINE(__WXLESSTIF__,1)
+                        AC_MSG_RESULT([yes])
+                       ],
+                       [
+                        AC_DEFINE(__WXLESSTIF__,0)
+                        AC_MSG_RESULT([no])
+                       ])
         CFLAGS=$save_CFLAGS
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
         CFLAGS=$save_CFLAGS
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
@@ -3172,7 +3350,7 @@ dnl ----------------------------------------------------------------
 IODBC_C_SRC=""
 
 
 IODBC_C_SRC=""
 
 
-dnl ODBC is handled seperately for MSW 
+dnl ODBC is handled separately for MSW 
 if test "$TOOLKIT" != "MSW" ; then
 
     if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
 if test "$TOOLKIT" != "MSW" ; then
 
     if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
@@ -3344,7 +3522,7 @@ if test "$wxUSE_OPENGL" = "yes"; then
 
         if test "x$OPENGL_LIBS" = "x"; then
             dnl it should be an error and not a warning because OpenGL is not on
 
         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 by default and so if it had been explicitly requested, we
             dnl shouldn't just fall back to compiling the library without it
             AC_MSG_ERROR(OpenGL libraries not available)
         fi
             dnl shouldn't just fall back to compiling the library without it
             AC_MSG_ERROR(OpenGL libraries not available)
         fi
@@ -3386,7 +3564,7 @@ if test "$wxUSE_SHARED" = "yes"; then
       *-*-linux* | *-*-gnu* )
         SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
         WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
       *-*-linux* | *-*-gnu* )
         SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
         WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
-       ;;
+        ;;
 
       *-*-solaris2* )
         if test "$GCC" = yes ; then
 
       *-*-solaris2* )
         if test "$GCC" = yes ; then
@@ -3427,8 +3605,10 @@ if test "$wxUSE_SHARED" = "yes"; then
       ;;
       
       powerpc-*-darwin* )
       ;;
       
       powerpc-*-darwin* )
-        SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
-        cat <<EOF >change-install-names
+        install_name_tool=`which install_name_tool`
+        if test "$install_name_tool" -a -x "$install_name_tool"; then
+            SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
+            cat <<EOF >change-install-names
 #!/bin/sh
 libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
 inst_cmd="install_name_tool "
 #!/bin/sh
 libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
 inst_cmd="install_name_tool "
@@ -3437,7 +3617,8 @@ for i in \${libnames} ; do
 done
 \${inst_cmd} \${3}
 EOF
 done
 \${inst_cmd} \${3}
 EOF
-        chmod +x change-install-names
+            chmod +x change-install-names
+        fi
       ;;
       
       *-*-cygwin* | *-*-mingw32* )
       ;;
       
       *-*-cygwin* | *-*-mingw32* )
@@ -3509,7 +3690,11 @@ dnl library link name
 dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
 dnl If we ever need to do that, we won't need to keep these.
 WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
 dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
 dnl If we ever need to do that, we won't need to keep these.
 WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
-WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+if test "${TOOLKIT_DIR}" = "os2"; then
+    WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+else
+    WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+fi
 
 
 
 
 
 
@@ -3560,11 +3745,11 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     dnl resources are bundled both with shared library and applications
     dnl since the carb resource *must* be included in the application
     if test "$wxUSE_MAC" = 1; then
     dnl resources are bundled both with shared library and applications
     dnl since the carb resource *must* be included in the application
     if test "$wxUSE_MAC" = 1; then
-        MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r ${LIBWXMACRES} -o"
+        MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r -o"
 
         dnl this command is used to implement `wx-config --rezflags` and it is
         dnl eval'd there so escape any metacharacters inside
 
         dnl this command is used to implement `wx-config --rezflags` and it is
         dnl eval'd there so escape any metacharacters inside
-        MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+        MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r -o"
     else
         MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
         MACRESWXCONFIG="echo -n \\\| ${RESCOMP} -d __DARWIN__ -t APPL \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
     else
         MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
         MACRESWXCONFIG="echo -n \\\| ${RESCOMP} -d __DARWIN__ -t APPL \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
@@ -3685,7 +3870,7 @@ dnl Check for functions
 dnl ---------------------------------------------------------------------------
 
 dnl don't check for wchar_t functions if we haven't got wchar_t itself
 dnl ---------------------------------------------------------------------------
 
 dnl don't check for wchar_t functions if we haven't got wchar_t itself
-if test "$ac_cv_sizeof_wchar_t" != "0"; then
+if test "$wxUSE_WCHAR_T" = "yes"; then
     AC_DEFINE(wxUSE_WCHAR_T)
 
     dnl check for wcslen in all possible places
     AC_DEFINE(wxUSE_WCHAR_T)
 
     dnl check for wcslen in all possible places
@@ -3798,6 +3983,13 @@ fi
 
 AC_LANG_RESTORE
 
 
 AC_LANG_RESTORE
 
+if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
+    AC_CHECK_FUNCS(fnmatch)
+fi
+
+if test "$wxUSE_FILE" = "yes"; then
+    AC_CHECK_FUNCS(fsync)
+fi
 
 
 dnl the following tests are for Unix(like) systems only
 
 
 dnl the following tests are for Unix(like) systems only
@@ -4337,6 +4529,28 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
     if test "$wxUSE_THREADS" = "yes" ; then
       AC_CHECK_FUNCS(thr_setconcurrency)
 
     if test "$wxUSE_THREADS" = "yes" ; then
       AC_CHECK_FUNCS(thr_setconcurrency)
 
+      dnl can't use AC_CHECK_FUNCS for this one as it's usually a macro and so
+      dnl wouldn't be found by it
+      AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup,
+      [
+        AC_TRY_COMPILE([#include <pthread.h>
+               void ThreadCleanupFunc(void *p);
+            ],
+            [
+                void *p;
+                pthread_cleanup_push(ThreadCleanupFunc, p);
+                pthread_cleanup_pop(0);
+            ], [
+               wx_cv_func_pthread_cleanup=yes
+            ], [
+               wx_cv_func_pthread_cleanup=no
+            ]
+        )
+      ])
+      if test "x$wx_cv_func_pthread_cleanup" = "xyes"; then
+        AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
+      fi
+
       AC_CHECK_HEADERS(sched.h)
       if test "$ac_cv_header_sched_h" = "yes"; then
           AC_CHECK_FUNC(sched_yield,
       AC_CHECK_HEADERS(sched.h)
       if test "$ac_cv_header_sched_h" = "yes"; then
           AC_CHECK_FUNC(sched_yield,
@@ -4382,26 +4596,8 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
                     AC_DEFINE(HAVE_PTHREAD_CANCEL),
                     AC_MSG_WARN([wxThread::Kill() will not work properly]))
 
                     AC_DEFINE(HAVE_PTHREAD_CANCEL),
                     AC_MSG_WARN([wxThread::Kill() will not work properly]))
 
-      dnl we don't use pthread_cleanup_push/pop() any more in the code, but I
-      dnl the code here for now in case we need it again soon; otherwise it
-      dnl should be removed in a couple of months (VZ in Sep 2003)
-      dnl
-      dnl AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
-      dnl [
-      dnl   AC_TRY_COMPILE([#include <pthread.h>],
-      dnl                [
-      dnl                   pthread_cleanup_push(NULL, NULL);
-      dnl                   pthread_cleanup_pop(0);
-      dnl                ], [
-      dnl                   wx_cv_func_pthread_cleanup_push=yes
-      dnl                ], [
-      dnl                   wx_cv_func_pthread_cleanup_push=no
-      dnl                ])
-      dnl ])
-      dnl 
-      dnl if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
-      dnl     AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
-      dnl fi
+      AC_CHECK_FUNC(pthread_attr_setstacksize,
+                    AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE))
 
       dnl mutexattr_t initialization is done in quite different ways on different
       dnl platforms, so check for a few things:
 
       dnl mutexattr_t initialization is done in quite different ways on different
       dnl platforms, so check for a few things:
@@ -4533,7 +4729,9 @@ fi
 
 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
     wxUSE_DEBUG_INFO=yes
 
 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
     wxUSE_DEBUG_INFO=yes
-    WXDEBUG="-ggdb"
+    if test "$GCC" = yes; then
+        WXDEBUG="-ggdb"
+    fi
 fi
 
 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
 fi
 
 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
@@ -4553,7 +4751,7 @@ if test "$wxUSE_MEM_TRACING" = "yes" ; then
 fi
 
 if test "$wxUSE_DMALLOC" = "yes" ; then
 fi
 
 if test "$wxUSE_DMALLOC" = "yes" ; then
-    DMALLOC_LIBS="-ldmalloc"
+    DMALLOC_LIBS="-ldmallocthcxx"
 fi
 
 PROFILE=
 fi
 
 PROFILE=
@@ -4672,6 +4870,8 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
         if test "$USE_DARWIN" = 1; then
             dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
             HAVE_DL_FUNCS=1
         if test "$USE_DARWIN" = 1; then
             dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
             HAVE_DL_FUNCS=1
+        elif test "$USE_DOS" = 1; then
+            HAVE_DL_FUNCS=0
         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
         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
@@ -4717,7 +4917,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
         if test "$HAVE_DL_FUNCS" = 0; then
             if test "$HAVE_SHL_FUNCS" = 0; then
 
         if test "$HAVE_DL_FUNCS" = 0; then
             if test "$HAVE_SHL_FUNCS" = 0; then
-              if test "$USE_UNIX" = 1; then
+              if test "$USE_UNIX" = 1 -o "$USE_DOS" = 1; then
                   AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
                   wxUSE_DYNAMIC_LOADER=no
                   wxUSE_DYNLIB_CLASS=no
                   AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
                   wxUSE_DYNAMIC_LOADER=no
                   wxUSE_DYNLIB_CLASS=no
@@ -4775,13 +4975,15 @@ if test "$wxUSE_TIMER" = "yes"; then
   AC_DEFINE(wxUSE_TIMER)
 fi
 
   AC_DEFINE(wxUSE_TIMER)
 fi
 
+dnl Unix implementation needs additional checks because audio support
+dnl comes in many favours:
+if test "$USE_UNIX" = "1" ; then
+    AC_CHECK_HEADERS([sys/soundcard.h],,
+                     [DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"])
+fi
 WITH_PLUGIN_SDL=0
 if test "$wxUSE_SOUND" = "yes"; then
 WITH_PLUGIN_SDL=0
 if test "$wxUSE_SOUND" = "yes"; then
-  dnl Unix implementation needs additional checks because audio support
-  dnl comes in many favours:
   if test "$USE_UNIX" = "1" ; then
   if test "$USE_UNIX" = "1" ; then
-    AC_CHECK_HEADERS([sys/soundcard.h])
-
     if test "$wxUSE_LIBSDL" != "no"; then
       AM_PATH_SDL([1.2.0],
                   [
     if test "$wxUSE_LIBSDL" != "no"; then
       AM_PATH_SDL([1.2.0],
                   [
@@ -4864,7 +5066,12 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then
 fi
 
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
 fi
 
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
-  AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
+  if test "$USE_UNIX" != 1; then
+    AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called])
+    wxUSE_ON_FATAL_EXCEPTION=no
+  else
+    AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
+  fi
 fi
 
 if test "$wxUSE_STACKWALKER" = "yes"; then
 fi
 
 if test "$wxUSE_STACKWALKER" = "yes"; then
@@ -4872,12 +5079,14 @@ if test "$wxUSE_STACKWALKER" = "yes"; then
 fi
 
 if test "$wxUSE_DEBUGREPORT" = "yes"; then
 fi
 
 if test "$wxUSE_DEBUGREPORT" = "yes"; then
-    if test "$USE_OS2" = "1"; then
-        AC_MSG_WARN([Creating debug reports not supported under OS/2 yet, disabled])
+    if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then
+        AC_MSG_WARN([Creating debug reports not currently supported on this system, disabled])
         wxUSE_DEBUGREPORT=no
     else
         AC_DEFINE(wxUSE_DEBUGREPORT)
         wxUSE_DEBUGREPORT=no
     else
         AC_DEFINE(wxUSE_DEBUGREPORT)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
+        if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
+            SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
+        fi
     fi
 fi
 
     fi
 fi
 
@@ -5322,30 +5531,39 @@ dnl ---------------------------------------------------------------------------
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
-if test "$wxUSE_GUI" = "yes"; then
-     dnl under MSW we always have joystick support
-     if test "$wxUSE_JOYSTICK" = "yes"; then
-         
-        dnl joystick support is only for Linux 2.1.x or greater
-        if test "$TOOLKIT" != "MAC" -a "$TOOLKIT" != "COCOA" -a "$TOOLKIT" != "MSW"; then
-            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
-        else
-           dnl mac only available on darwin
-           if test "$USE_DARWIN" != 1 -a "$TOOLKIT" != "MSW"; then
-                wxUSE_JOYSTICK=no
-                AC_MSG_WARN(Joystick not supported by this system... disabled)           
-           fi            
-        fi
+if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
+    wxUSE_JOYSTICK=no
 
 
+    dnl under MSW we always have joystick support
+    if test "$TOOLKIT" = "MSW"; then
+        wxUSE_JOYSTICK=yes
 
 
-        if test "$wxUSE_JOYSTICK" = "yes"; then
-            AC_DEFINE(wxUSE_JOYSTICK)
-            SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+    dnl mac only available on darwin
+    elif test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
+        if test "$USE_DARWIN" = 1; then
+            dnl check for a bug in the headers, some have bad setEventCallout
+            AC_MSG_CHECKING([headers have declarations needed for joystick support])
+            AC_LANG_PUSH(C++)
+            AC_TRY_COMPILE( [ #include <IOKit/hid/IOHIDLib.h> ],
+                            [ IOHIDQueueInterface *qi = NULL;
+                              IOHIDCallbackFunction cb = NULL;
+                              qi->setEventCallout(NULL, cb, NULL, NULL); ],
+                            [ wxUSE_JOYSTICK=yes ]
+                          )
+            AC_LANG_POP
+            AC_MSG_RESULT($wxUSE_JOYSTICK)
         fi
         fi
+
+    dnl joystick support is only for Linux 2.1.x or greater
+    else
+        AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+    fi
+
+    if test "$wxUSE_JOYSTICK" = "yes"; then
+        AC_DEFINE(wxUSE_JOYSTICK)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+    else
+        AC_MSG_WARN(Joystick not supported by this system... disabled)           
     fi
 fi
 
     fi
 fi
 
@@ -5518,6 +5736,19 @@ if test "$wxUSE_IPC" = "yes"; then
     fi
 fi
 
     fi
 fi
 
+if test "$wxUSE_DATAOBJ" = "yes"; then
+    if test "$wxUSE_MGL" = 1; then
+        AC_MSG_WARN([wxDataObject not yet supported under MGL... disabled])
+        wxUSE_DATAOBJ=no
+    else
+        AC_DEFINE(wxUSE_DATAOBJ)
+    fi
+else
+    AC_MSG_WARN([Clipboard and drag-and-drop require wxDataObject -- disabled])
+    wxUSE_CLIPBOARD=no
+    wxUSE_DRAG_AND_DROP=no
+fi
+
 if test "$wxUSE_CLIPBOARD" = "yes"; then
     if test "$wxUSE_MGL" = 1; then
         AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
 if test "$wxUSE_CLIPBOARD" = "yes"; then
     if test "$wxUSE_MGL" = 1; then
         AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
@@ -5526,9 +5757,6 @@ if test "$wxUSE_CLIPBOARD" = "yes"; then
 
     if test "$wxUSE_CLIPBOARD" = "yes"; then
         AC_DEFINE(wxUSE_CLIPBOARD)
 
     if test "$wxUSE_CLIPBOARD" = "yes"; then
         AC_DEFINE(wxUSE_CLIPBOARD)
-
-        dnl required by clipboard code in configuration check
-        AC_DEFINE(wxUSE_DATAOBJ)
     fi
 fi
 
     fi
 fi
 
@@ -5569,6 +5797,10 @@ if test "$wxUSE_SPLINES" = "yes" ; then
   AC_DEFINE(wxUSE_SPLINES)
 fi
 
   AC_DEFINE(wxUSE_SPLINES)
 fi
 
+if test "$wxUSE_MOUSEWHEEL" = "yes" ; then
+  AC_DEFINE(wxUSE_MOUSEWHEEL)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl GUI controls
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl GUI controls
 dnl ---------------------------------------------------------------------------
@@ -5773,11 +6005,6 @@ if test "$wxUSE_TOGGLEBTN" = "yes"; then
     if test "$wxUSE_COCOA" = 1 ; then
         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
         wxUSE_TOGGLEBTN=no
     if test "$wxUSE_COCOA" = 1 ; then
         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
         wxUSE_TOGGLEBTN=no
-    else
-        if test "$wxUSE_PM" = 1; then
-            AC_MSG_WARN([Toggle button not yet supported under PM... disabled])
-            wxUSE_TOGGLEBTN=no
-        fi
     fi
     if test "$wxUSE_UNIVERSAL" = "yes"; then
         AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
     fi
     if test "$wxUSE_UNIVERSAL" = "yes"; then
         AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
@@ -5881,6 +6108,10 @@ if test "$wxUSE_ACCESSIBILITY" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
 fi
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
 fi
 
+if test "$wxUSE_DC_CACHEING" = "yes"; then
+    AC_DEFINE(wxUSE_DC_CACHEING)
+fi
+
 if test "$wxUSE_DRAGIMAGE" = "yes"; then
     AC_DEFINE(wxUSE_DRAGIMAGE)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
 if test "$wxUSE_DRAGIMAGE" = "yes"; then
     AC_DEFINE(wxUSE_DRAGIMAGE)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
@@ -6086,24 +6317,6 @@ dnl wxMediaCtrl
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_MEDIACTRL" = "yes"; then
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_MEDIACTRL" = "yes"; then
-    if test "$wxUSE_MSW" = 1; then
-    dnl -----------------------------------------------------------------------
-    dnl DirectShow MSW
-    dnl -----------------------------------------------------------------------
-        wxUSE_DIRECTSHOW="yes"
-        AC_CHECK_HEADERS([dshow.h], [],
-            [
-                wxUSE_DIRECTSHOW="no"
-                AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
-            ],
-            [#include <windows.h>])
-
-       if test "$wxUSE_DIRECTSHOW" = "yes"; then
-            AC_DEFINE(wxUSE_DIRECTSHOW)
-            LIBS="$LIBS -lstrmiids"
-       fi
-    fi
-
     dnl -----------------------------------------------------------------------
     dnl GStreamer 
     dnl -----------------------------------------------------------------------
     dnl -----------------------------------------------------------------------
     dnl GStreamer 
     dnl -----------------------------------------------------------------------
@@ -6275,6 +6488,9 @@ if test "$wxUSE_COCOA" = 1 ; then
         LDFLAGS="$LDFLAGS -framework QuickTime"
     fi
 fi
         LDFLAGS="$LDFLAGS -framework QuickTime"
     fi
 fi
+if test "$USE_DARWIN" = 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1 ; then
+    LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System -framework ApplicationServices"
+fi
 
 dnl FIXME: should this be covered by the conditional above
 dnl given the -lm comment there?  Or should that comment (and
 
 dnl FIXME: should this be covered by the conditional above
 dnl given the -lm comment there?  Or should that comment (and
@@ -6363,10 +6579,8 @@ INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
 dnl C/C++ compiler options used to compile wxWidgets
 if test "$GXX" = yes ; then
     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
 dnl C/C++ compiler options used to compile wxWidgets
 if test "$GXX" = yes ; then
     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
-    CWARNINGS="-Wall
+    CWARNINGS="-Wall -Wundef"
     CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy" 
     CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy" 
-    dnl should enable this one day...
-    dnl CXXWARNINGS="-Wall -Werror"
 fi
 
 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
 fi
 
 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
@@ -6375,7 +6589,7 @@ dnl remove the extra white space from the cc/c++/ld options
 CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
 CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS`
 CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
 CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
 CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS`
 CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
-    
+
 if test "x$MWCC" = "xyes"; then
     dnl Correct MW 8.3 to be more similar to GCC.  In particular we
     dnl must use <regex.h> from system not our local copy on OS X,
 if test "x$MWCC" = "xyes"; then
     dnl Correct MW 8.3 to be more similar to GCC.  In particular we
     dnl must use <regex.h> from system not our local copy on OS X,
@@ -6531,8 +6745,16 @@ case "$TOOLKIT" in
         ;;
 esac
 
         ;;
 esac
 
+if test "$wxUSE_WINE" = "yes"; then
+    BAKEFILE_FORCE_PLATFORM=win32
+fi
+
 AC_BAKEFILE([m4_include(autoconf_inc.m4)])
 
 AC_BAKEFILE([m4_include(autoconf_inc.m4)])
 
+if test "$wxUSE_WINE" = "yes"; then
+    RESCOMP=wrc
+fi
+
 if test "$wxUSE_SHARED" = "yes"; then
 
     dnl We get the shared build linker from bakefile, since it
 if test "$wxUSE_SHARED" = "yes"; then
 
     dnl We get the shared build linker from bakefile, since it
@@ -6575,55 +6797,70 @@ dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to
 dnl be in wx-config output.  Not doing so could result in link problems.
 GCC_PRAGMA_FLAGS=""
 PCH_FLAGS=""
 dnl be in wx-config output.  Not doing so could result in link problems.
 GCC_PRAGMA_FLAGS=""
 PCH_FLAGS=""
-dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
+
+dnl Find out if we have to define WX_PRECOMP (and thus NO_GCC_PRAGMA)
 if test $GCC_PCH = 1 ; then
 if test $GCC_PCH = 1 ; then
-    GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
     PCH_FLAGS="-DWX_PRECOMP"
     PCH_FLAGS="-DWX_PRECOMP"
+    GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
 else
 else
-    case "${host}" in
-        powerpc-*-darwin* )
-            dnl Some Apple's GCC version are broken and can't handle the
-            dnl pragmas:
-            GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
-            ;;
-        *-*-mingw32* )
-            dnl MinGW GCC versions >= 3.2 have problems with
-            dnl static member of classes derived from templates
-            dnl in combination with #pragma interface/implementation
-            dnl (the test case uses 4 files)
-            dnl ... and with exceptions handling (undefined symbols needed
-            dnl to correctly calls dtors when unwinding) as well
-            if test "$wxUSE_STL" = "yes" -o \
+    dnl Find out if we have to define NO_GCC_PRAGMA
+    if test "$GCC" = yes; then
+        AC_MSG_CHECKING([if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA])
+        AC_TRY_COMPILE([],
+            [#if (__GNUC__ < 4)
+             #error "Not GCC 4.0 or greater"
+             #endif
+            ],
+            [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+             AC_MSG_RESULT([yes])],
+            [AC_MSG_RESULT([no])
+            case "${host}" in
+                powerpc-*-darwin* )
+                    dnl Some Apple's GCC version are broken and can't handle the
+                    dnl pragmas:
+                    GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+                ;;
+                *-*-mingw32* )
+                    dnl MinGW GCC versions > 3.2 have problems with
+                    dnl static member of classes derived from templates
+                    dnl in combination with #pragma interface/implementation
+                    dnl (the test case uses 4 files)
+                    dnl ... and with exceptions handling (undefined symbols needed
+                    dnl to correctly calls dtors when unwinding) as well
+                    if test "$wxUSE_STL" = "yes" -o \
                     "$wxUSE_NO_EXCEPTIONS" != "yes" -o \
                     "$wxUSE_NO_RTTI" != "yes"; then
                     "$wxUSE_NO_EXCEPTIONS" != "yes" -o \
                     "$wxUSE_NO_RTTI" != "yes"; then
-               AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA])
-               AC_TRY_COMPILE([],
-                              [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
-                               #error "Not GCC 3.2 or greater"
-                               #endif
-                               ],
-                              [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
-                               AC_MSG_RESULT([yes])],
-                              [AC_MSG_RESULT([no])])
-            fi
-            ;;
-       *-pc-os2_emx | *-pc-os2-emx )
-            dnl GCC versions ported to OS/2 have similar problems with
-            dnl static member of classes in combination with STL and
-            dnl pragma interface/implementation
-            if test "$wxUSE_STL" = "yes"; then
-               AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
-               AC_TRY_COMPILE([],
-                              [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
-                               #error "Not GCC 3.2 or greater"
-                               #endif
-                               ],
-                              [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
-                               AC_MSG_RESULT([yes])],
-                              [AC_MSG_RESULT([no])])
-            fi
-            ;;
-    esac
+                        AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA])
+                        AC_TRY_COMPILE([],
+                            [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
+                             #error "Not GCC 3.2 or greater"
+                             #endif
+                            ],
+                            [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+                             AC_MSG_RESULT([yes])],
+                            [AC_MSG_RESULT([no])])
+                    fi
+                    ;;
+                *-pc-os2_emx | *-pc-os2-emx )
+                    dnl GCC versions ported to OS/2 have similar problems with
+                    dnl static member of classes in combination with STL and
+                    dnl pragma interface/implementation
+                    if test "$wxUSE_STL" = "yes"; then
+                        AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
+                        AC_TRY_COMPILE([],
+                            [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
+                             #error "Not GCC 3.2 or greater"
+                             #endif
+                            ],
+                            [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+                             AC_MSG_RESULT([yes])],
+                            [AC_MSG_RESULT([no])])
+                    fi
+                    ;;
+            esac
+dnl  closing bracket of if GCC < 4.0
+        ] ) 
+    fi
 fi
 CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
 
 fi
 CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
 
@@ -6771,8 +7008,14 @@ for subdir in `echo $SUBDIRS`; do
                         makefiles="samples/$sample/Makefile.in $makefiles"
                     fi
                 done
                         makefiles="samples/$sample/Makefile.in $makefiles"
                     fi
                 done
-            else dnl assume that everything compiles for utils &c
-                makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
+            else
+                dnl assume that everything compiles for utils &c
+                dnl any that shouldn't be built can be added to
+                dnl DISABLED_UTILS, DISABLED_CONTRIB or DISABLED_DEMOS
+                disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
+                eval "disabled=\$$disabled_var"
+                disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
+                makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"`
             fi
         else dnl we build wxBase only
             dnl don't take all samples/utils, just those which build with
             fi
         else dnl we build wxBase only
             dnl don't take all samples/utils, just those which build with