]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
use SubclassWin() insteaf of just wxAssociateWinWithHandle() to make sure we generate...
[wxWidgets.git] / configure.in
index ec4f726d1420b16de2c22a552a06181e2ae2f1d8..a5e49b32e2bec04158f8552c2b966afb7a1cb9e8 100644 (file)
@@ -137,7 +137,7 @@ case "${host}" in
 
     dnl many standard declarations in HP-UX headers are only included if either
     dnl _HPUX_SOURCE is defined, see stdsyms(5)
-    CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
+    CPPFLAGS="-D_HPUX_SOURCE $CPPFLAGS"
   ;;
   *-*-linux* )
     USE_LINUX=1
@@ -204,6 +204,11 @@ case "${host}" in
     AC_DEFINE(__NETBSD__)
     AC_DEFINE(__BSD__)
     DEFAULT_DEFAULT_wxUSE_GTK=1
+    NEEDS_D_REENTRANT_FOR_R_FUNCS=1
+
+    dnl some standard declarations in NetBSD headers are only included if
+    dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h
+    CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS"
   ;;
   *-*-osf* )
     USE_ALPHA=1
@@ -365,6 +370,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_UNIVERSAL_BINARY=no
   DEFAULT_wxUSE_RPATH=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=yes
@@ -395,6 +401,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_LIBMSPACK=no
   DEFAULT_wxUSE_LIBSDL=no
   DEFAULT_wxUSE_LIBGNOMEPRINT=no
+  DEFAULT_wxUSE_LIBGNOMEVFS=no
+  DEFAULT_wxUSE_LIBHILDON=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
@@ -415,6 +423,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
   DEFAULT_wxUSE_MEDIACTRL=no
+  DEFAULT_wxUSE_GSTREAMER8=no
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
@@ -504,6 +513,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_DISPLAY=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
+  DEFAULT_wxUSE_DATAVIEWCTRL=no
   DEFAULT_wxUSE_IMAGLIST=no
   DEFAULT_wxUSE_LISTBOOK=no
   DEFAULT_wxUSE_LISTBOX=no
@@ -522,13 +532,14 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_STATLINE=no
   DEFAULT_wxUSE_STATTEXT=no
   DEFAULT_wxUSE_STATUSBAR=yes
-  DEFAULT_wxUSE_TABDIALOG=no
+  DEFAULT_wxUSE_TAB_DIALOG=no
   DEFAULT_wxUSE_TEXTCTRL=no
   DEFAULT_wxUSE_TOGGLEBTN=no
   DEFAULT_wxUSE_TOOLBAR=no
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
   DEFAULT_wxUSE_TREEBOOK=no
+  DEFAULT_wxUSE_TOOLBOOK=no
   DEFAULT_wxUSE_TREECTRL=no
   DEFAULT_wxUSE_POPUPWIN=no
   DEFAULT_wxUSE_TIPWINDOW=no
@@ -564,6 +575,7 @@ else
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_UNIVERSAL_BINARY=no
   DEFAULT_wxUSE_RPATH=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
@@ -593,6 +605,8 @@ else
   DEFAULT_wxUSE_LIBMSPACK=yes
   DEFAULT_wxUSE_LIBSDL=no
   DEFAULT_wxUSE_LIBGNOMEPRINT=no
+  DEFAULT_wxUSE_LIBGNOMEVFS=no
+  DEFAULT_wxUSE_LIBHILDON=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
@@ -613,6 +627,7 @@ else
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_MEDIACTRL=no
+  DEFAULT_wxUSE_GSTREAMER8=no
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -702,6 +717,7 @@ else
   DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
+  DEFAULT_wxUSE_DATAVIEWCTRL=no
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOOK=yes
   DEFAULT_wxUSE_LISTBOX=yes
@@ -720,13 +736,14 @@ else
   DEFAULT_wxUSE_STATLINE=yes
   DEFAULT_wxUSE_STATTEXT=yes
   DEFAULT_wxUSE_STATUSBAR=yes
-  DEFAULT_wxUSE_TABDIALOG=no
+  DEFAULT_wxUSE_TAB_DIALOG=no
   DEFAULT_wxUSE_TEXTCTRL=yes
   DEFAULT_wxUSE_TOGGLEBTN=yes
   DEFAULT_wxUSE_TOOLBAR=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
   DEFAULT_wxUSE_TREEBOOK=yes
+  DEFAULT_wxUSE_TOOLBOOK=yes
   DEFAULT_wxUSE_TREECTRL=yes
   DEFAULT_wxUSE_POPUPWIN=yes
   DEFAULT_wxUSE_TIPWINDOW=yes
@@ -815,7 +832,9 @@ WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file for
 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
 WX_ARG_WITH(sdl,           [  --with-sdl              use SDL for audio on Unix], wxUSE_LIBSDL)
-WX_ARG_WITH(gnomeprint,    [  --with-gnomeprint       use GNOME print for printing under Unix], wxUSE_LIBGNOMEPRINT)
+WX_ARG_WITH(gnomeprint,    [  --with-gnomeprint       use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT)
+WX_ARG_WITH(gnomevfs,      [  --with-gnomevfs         use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
+WX_ARG_WITH(hildon,        [  --with-hildon           use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
@@ -860,6 +879,7 @@ WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI
 WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
 WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
 WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without dependency information], wxUSE_NO_DEPS)
+WX_ARG_ENABLE(universal_binary, [  --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)], wxUSE_UNIVERSAL_BINARY)
 
 WX_ARG_ENABLE(compat24,      [  --enable-compat24       enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable)
 WX_ARG_ENABLE(compat26,      [  --disable-compat26      disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
@@ -920,6 +940,7 @@ WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUS
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
+WX_ARG_ENABLE(gstreamer8,     [  --enable-gstreamer8      force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZip streams], wxUSE_ZIPSTREAM)
 
@@ -1007,6 +1028,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
+  DEFAULT_wxUSE_DATAVIEWCTRL=no
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOOK=yes
   DEFAULT_wxUSE_LISTBOX=yes
@@ -1031,6 +1053,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
   DEFAULT_wxUSE_TOOLTIPS=yes
   DEFAULT_wxUSE_TREEBOOK=yes
+  DEFAULT_wxUSE_TOOLBOOK=yes
   DEFAULT_wxUSE_TREECTRL=yes
   DEFAULT_wxUSE_POPUPWIN=yes
   DEFAULT_wxUSE_TIPWINDOW=yes
@@ -1048,6 +1071,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
+  DEFAULT_wxUSE_DATAVIEWCTRL=no
   DEFAULT_wxUSE_IMAGLIST=no
   DEFAULT_wxUSE_LISTBOOK=no
   DEFAULT_wxUSE_LISTBOX=no
@@ -1072,6 +1096,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
   DEFAULT_wxUSE_TOOLTIPS=no
   DEFAULT_wxUSE_TREEBOOK=no
+  DEFAULT_wxUSE_TOOLBOOK=no
   DEFAULT_wxUSE_TREECTRL=no
   DEFAULT_wxUSE_POPUPWIN=no
   DEFAULT_wxUSE_TIPWINDOW=no
@@ -1091,6 +1116,7 @@ WX_ARG_ENABLE(datepick,    [  --enable-datepick       use wxDatePickerCtrl class
 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
+WX_ARG_ENABLE(dataviewctrl,[  --enable-dataviewctrl,  use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
 WX_ARG_ENABLE(listbook,    [  --enable-listbook       use wxListbook class], wxUSE_LISTBOOK)
 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
@@ -1109,13 +1135,14 @@ WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wx
 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
 WX_ARG_ENABLE(stattext,    [  --enable-stattext       use wxStaticText class], wxUSE_STATTEXT)
 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
-WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
+WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TAB_DIALOG)
 WX_ARG_ENABLE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
 WX_ARG_ENABLE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
 WX_ARG_ENABLE(tbarsmpl,    [  --enable-tbarsmpl       use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
 WX_ARG_ENABLE(treebook,    [  --enable-treebook       use wxTreebook class], wxUSE_TREEBOOK)
+WX_ARG_ENABLE(toolbook,    [  --enable-toolbook       use wxToolbook class], wxUSE_TOOLBOOK)
 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
 WX_ARG_ENABLE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
 WX_ARG_ENABLE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
@@ -1386,8 +1413,11 @@ dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
 AC_PROG_GCC_TRADITIONAL
 
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
+dnl do all checks from now on using the C++ compiler: this saves us a lot of
+dnl problems with various functions which may be available in libc but not
+dnl declared in the header and various pointer conversions which compile with
+dnl the C compiler but not in C++
+AC_LANG_PUSH(C++)
 
 dnl C++-compiler checks
 dnl   defines CXX with the compiler to use
@@ -1399,8 +1429,6 @@ dnl see CFLAGS line above
 CXXFLAGS=${CXXFLAGS:=}
 AC_BAKEFILE_PROG_CXX
 
-AC_LANG_RESTORE
-
 dnl ranlib command
 dnl   defines RANLIB with the appropriate command
 AC_PROG_RANLIB
@@ -1448,10 +1476,15 @@ AC_CHECK_TOOL(STRIP, strip, true)
 dnl Win32 tools
 if test "$wxUSE_WINE" = "yes"; then
     AC_CHECK_TOOL(WINDRES, wrc)
+    RESCOMP="$WINDRES"
 else
     case "${host}" in
     *-*-cygwin* | *-*-mingw32* )
         dnl Bakefile CVS (as of 2005-11-24) now detects windres properly
+        dnl ... maybe it does, but it does not make it available here
+        dnl anymore, so do it ourselves still.
+        AC_CHECK_TOOL(WINDRES, windres)
+        RESCOMP="$WINDRES"
         AC_CHECK_TOOL(DLLTOOL, dlltool)
         ;;
     esac
@@ -1520,9 +1553,6 @@ fi dnl not GNU make
 dnl needed for making link to setup.h
 AC_PROG_LN_S
 
-dnl lndir can be used by "make dist" to save copying files
-AC_CHECK_PROGS(LNDIR, lndir, [cp -pR])
-
 
 dnl ------------------------------------------------------------------------
 dnl Platform specific tests
@@ -1531,7 +1561,7 @@ dnl ------------------------------------------------------------------------
 dnl xlC needs -qunique under AIX so that one source file can be
 dnl compiled to multiple object files and safely linked together.
 if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then
-    CXXFLAGS="$CXXFLAGS -qunique"
+    CXXFLAGS="-qunique $CXXFLAGS"
 fi
 
 dnl This case is for PowerPC OS X vs. everything else
@@ -1564,7 +1594,7 @@ case "${host}" in
         [AC_MSG_RESULT([yes])
         dnl We must use -D so source files that don't include wx/setup.h
         dnl but do include CFBase will work.
-        CPPFLAGS="$CPPFLAGS -D__CF_USE_FRAMEWORK_INCLUDES__"],
+        CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"],
         [AC_MSG_FAILURE([no.  CoreFoundation not available.])]
         )
         ]
@@ -1652,9 +1682,6 @@ case "${host}" in
       dnl ---------------------------------------------------------------------
       dnl (non-OS/2-only piece)
 
-      AC_LANG_SAVE
-      AC_LANG_CPLUSPLUS
-
       AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
           AC_TRY_LINK([
               #include <string.h>
@@ -1689,7 +1716,6 @@ case "${host}" in
           fi
       fi
 
-      AC_LANG_RESTORE
       dnl (end of non-OS/2-only piece)
   ;;
 esac
@@ -1759,7 +1785,7 @@ case "${host}" in
         AC_CHECK_SIZEOF(long long, 0)
         if test "$ac_cv_sizeof_long_long" != "0"; then
             dnl HPUX 10.20 headers need this define in order to use long long definitions
-            CPPFLAGS="$CPPFLAGS -D_INCLUDE_LONGLONG"
+            CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS"
         fi
     ;;
     * )
@@ -1879,8 +1905,6 @@ if test "x$wx_largefile" = "xyes"; then
                 [if -D__STDC_EXT__ is required],
                 wx_cv_STDC_EXT_required,
                 [
-                    AC_LANG_SAVE
-                    AC_LANG_CPLUSPLUS
                     AC_TRY_COMPILE(
                         [],
                         [
@@ -1891,7 +1915,6 @@ if test "x$wx_largefile" = "xyes"; then
                         wx_cv_STDC_EXT_required=no,
                         wx_cv_STDC_EXT_required=yes
                     )
-                    AC_LANG_RESTORE
                 ]
             )
             if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
@@ -1930,7 +1953,7 @@ dnl AC_CXX_DYNAMIC_CAST
 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"
+    CXXFLAGS="-features=tmplife $CXXFLAGS"
 fi
 
 dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do
@@ -1938,7 +1961,7 @@ dnl was to hack their C++ compiler to accept them silently -- but C compiler
 dnl still spits out dozens of warnings for each X include file, so suppress
 dnl them
 if test "x$SUNCC" = xyes; then
-    CFLAGS="$CFLAGS -erroff=E_NO_EXPLICIT_TYPE_GIVEN"
+    CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
 fi
 
 dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
@@ -1949,10 +1972,10 @@ dnl
 dnl a better long term solution would be to use #pragma set/reset woff in
 dnl wxPtrToUInt() and use it instead of casts elsewhere
 if test "x$SGICC" = "xyes"; then
-    CFLAGS="$CFLAGS -woff 3970"
+    CFLAGS="-woff 3970 $CFLAGS"
 fi
 if test "x$SGICXX" = "xyes"; then
-    CXXFLAGS="$CXXFLAGS -woff 3970"
+    CXXFLAGS="-woff 3970 $CXXFLAGS"
 fi
 
 dnl HP-UX c89/aCC compiler warnings
@@ -1961,12 +1984,12 @@ if test "x$HPCC" = "xyes"; then
     dnl       even for directives inside #if which is not true (i.e. which are
     dnl       used for other compilers/OS) and so we have no way to get rid of it
     dnl 2450: "long long is non standard" -- yes, we know
-    CFLAGS="$CFLAGS +W 2011,2450"
+    CFLAGS="+W 2011,2450 $CFLAGS"
 fi
 if test "x$HPCXX" = "xyes"; then
     dnl 2340: "value copied to temporary, reference to temporary used": very
     dnl       painful as triggered by any occurrence of user-defined conversion
-    CXXFLAGS="$CXXFLAGS +W 2340"
+    CXXFLAGS="+W 2340 $CXXFLAGS"
 fi
 
 dnl DEC/Compaq/HP cxx warnings
@@ -1983,8 +2006,6 @@ 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"
@@ -2029,13 +2050,9 @@ if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
                         ]
                     )
                     ])
-
-    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>])
@@ -2047,13 +2064,9 @@ if test "$wxUSE_STD_IOSTREAM" = "yes"; then
             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++)
-
     dnl check for basic STL functionality
     AC_MSG_CHECKING([for basic STL functionality])
     AC_TRY_COMPILE([#include <string>
@@ -2108,8 +2121,6 @@ if test "$wxUSE_STL" = "yes"; then
                                      AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
                                     [AC_MSG_RESULT(no)])
                      ])
-
-    AC_LANG_POP
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -2306,6 +2317,47 @@ if test "x$wx_cv_lib_glibc21" = "xyes"; then
     fi
 fi
 
+dnl Only add the -lm library if floating point functions cannot be used
+dnl without it.  This check is important on cygwin because of the bizarre
+dnl way that they have organized functions into libraries.  On cygwin, both
+dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a.  This
+dnl means that
+dnl   1) linking with -lm is not necessary, and
+dnl   2) linking with -lm is dangerous if the order of libraries is wrong
+dnl In particular, if you compile any program with -mno-cygwin and link with
+dnl -lm, it will crash instantly when it is run.  This happens because the
+dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
+dnl the ___main function instead of allowing it to be defined by
+dnl /usr/lib/mingw/libmingw32.a as it should be.
+dnl
+dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
+dnl
+dnl Just check a few floating point functions. If they are all found without
+dnl -lm, then we must not need -lm.
+have_cos=0
+have_floor=0
+AC_CHECK_FUNCS(cos, have_cos=1)
+AC_CHECK_FUNCS(floor, have_floor=1)
+AC_MSG_CHECKING(if floating point functions link without -lm)
+if test "$have_cos" = 1 -a "$have_floor" = 1; then
+    AC_MSG_RESULT(yes)
+else
+    AC_MSG_RESULT(no)
+    LIBS="$LIBS -lm"
+    # use different functions to avoid configure caching
+    have_sin=0
+    have_ceil=0
+    AC_CHECK_FUNCS(sin, have_sin=1)
+    AC_CHECK_FUNCS(ceil, have_ceil=1)
+    AC_MSG_CHECKING(if floating point functions link with -lm)
+    if test "$have_sin" = 1 -a "$have_ceil" = 1; then
+        AC_MSG_RESULT(yes)
+    else
+        AC_MSG_RESULT(no)
+        # not sure we should warn the user, crash, etc.
+    fi
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Optional libraries
 dnl
@@ -2625,13 +2677,10 @@ if test "$wxUSE_EXPAT" != "no"; then
             AC_CACHE_CHECK([if expat.h is valid C++ header],
                 wx_cv_expat_is_not_broken,
                 [
-                AC_LANG_SAVE
-                AC_LANG_CPLUSPLUS
                 AC_TRY_COMPILE([#include <expat.h>],[],
                     wx_cv_expat_is_not_broken=yes,
                     wx_cv_expat_is_not_broken=no
                 )
-                AC_LANG_RESTORE
                 ]
             )
             if test "$wx_cv_expat_is_not_broken" = "yes" ; then
@@ -2725,8 +2774,10 @@ if test "$USE_WIN32" = 1 ; then
     RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
     RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
 
-    dnl This one we export to wx-config.
-    WXCONFIG_RESFLAGS="--include-dir \$includedir --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
+    dnl This lot we export to wx-config.  It must add the relevant
+    dnl include directories at the point when they can be known.
+    dnl (but are these (still) required anyway?)
+    WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
 
     dnl install Win32-specific files in "make install"
     WIN32INSTALL=win32install
@@ -2769,6 +2820,9 @@ if test "$wxUSE_GUI" = "yes"; then
     fi
 
     if test "$wxUSE_GTK" = 1; then
+        dnl GTK+ test program must be compiled with C compiler
+        AC_LANG_PUSH(C)
+
         AC_MSG_CHECKING([for GTK+ version])
 
         gtk_version_cached=1
@@ -2866,9 +2920,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         esac
 
         if test "$WXGTK20" = 1; then
-            save_CFLAGS="$CFLAGS"
+            save_CXXFLAGS="$CFLAGS"
             save_LIBS="$LIBS"
-            CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
+            CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
             LIBS="$LIBS $wx_cv_libs_gtk"
 
             dnl gtk_icon_size_lookup is not available in the GTK+ headers
@@ -2917,6 +2971,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             fi
         fi
 
+        AC_LANG_POP
+
         dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't
         dnl have it but we do the check for the others)
         if test "$USE_DARWIN" != 1; then
@@ -3092,7 +3148,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         if test "$wxUSE_UNICODE" = "yes"; then
                 PKG_CHECK_MODULES(PANGOX, pangox,
                     [
-                        CXXFLAGS="$CXXFLAGS $PANGOX_CFLAGS"
+                        CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
                     ],
                     [
@@ -3101,7 +3157,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 )
                 PKG_CHECK_MODULES(PANGOFT2, pangoft2,
                     [
-                        CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
+                        CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
                     ],
                     [
@@ -3112,19 +3168,19 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
                     [
                         AC_DEFINE(HAVE_PANGO_XFT)
-                        CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
+                        CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
                     ],
                     [
                         AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
                     ]
                 )
-                save_CFLAGS="$CFLAGS"
+                save_CXXFLAGS="$CXXFLAGS"
                 save_LIBS="$LIBS"
-                CFLAGS="$CFLAGS $PANGOX_CFLAGS"
+                CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
                 LIBS="$LIBS $PANGOX_LIBS"
                 AC_CHECK_FUNCS([pango_font_family_is_monospace])
-                CFLAGS="$save_CFLAGS"
+                CXXFLAGS="$save_CXXFLAGS"
                 LIBS="$save_LIBS"
         fi
 
@@ -3154,8 +3210,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
             TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
         else
-            save_CFLAGS=$CFLAGS
-            CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+            save_CXXFLAGS=$CXXFLAGS
+            CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
 
             AC_TRY_COMPILE(
                 [
@@ -3175,7 +3231,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 ]
             )
 
-            CFLAGS=$save_CFLAGS
+            CXXFLAGS=$save_CXXFLAGS
         fi
 
 
@@ -3191,8 +3247,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             dnl it might happen that we found headers in one of the standard
             dnl paths but the libs are elsewhere but still in default (linker)
             dnl path -- try to compile a test program to check for this
-            save_CFLAGS=$CFLAGS
-            CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+            save_CXXFLAGS=$CXXFLAGS
+            CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
             save_LIBS="$LIBS"
             LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
 
@@ -3214,7 +3270,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 ]
             )
 
-            CFLAGS=$save_CFLAGS
+            CXXFLAGS=$save_CXXFLAGS
             LIBS="$save_LIBS"
         fi
 
@@ -3228,8 +3284,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                     if test "$libs_found" = "0"; then
                         save_LIBS="$LIBS"
                         LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
-                        save_CFLAGS=$CFLAGS
-                        CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+                        save_CXXFLAGS=$CXXFLAGS
+                        CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
 
                         AC_TRY_LINK(
                             [
@@ -3252,7 +3308,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                         )
 
                         LIBS="$save_LIBS"
-                        CFLAGS=$save_CFLAGS
+                        CXXFLAGS=$save_CXXFLAGS
                     fi
                 done
             fi
@@ -3267,8 +3323,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         dnl elsewhere
         AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
 
-        save_CFLAGS=$CFLAGS
-        CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+        save_CXXFLAGS=$CXXFLAGS
+        CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
 
         AC_CACHE_CHECK([for Motif 2],
             wx_cv_lib_motif2,
@@ -3307,7 +3363,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             AC_DEFINE(__WXLESSTIF__,0)
         fi
 
-        CFLAGS=$save_CFLAGS
+        CXXFLAGS=$save_CXXFLAGS
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
         TOOLKIT=MOTIF
@@ -3328,8 +3384,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 AC_CACHE_CHECK([for X11/xpm.h],
                     wx_cv_x11_xpm_h,
                     [
-                        save_CFLAGS=$CFLAGS
-                        CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+                        save_CXXFLAGS=$CXXFLAGS
+                        CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
 
                         AC_TRY_COMPILE(
                             [
@@ -3343,7 +3399,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                             wx_cv_x11_xpm_h=no
                         )
 
-                        CFLAGS=$save_CFLAGS
+                        CXXFLAGS=$save_CXXFLAGS
                     ]
                 )
 
@@ -3366,8 +3422,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                      [], [$GUI_TK_LIBRARY -lX11])
 
         if test "$wxHAVE_XEXT_LIB" = 1; then
-            save_CFLAGS="$CFLAGS"
-            CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+            save_CXXFLAGS="$CXXFLAGS"
+            CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
 
             AC_MSG_CHECKING([for X11/extensions/shape.h])
             AC_TRY_COMPILE([
@@ -3386,7 +3442,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                            [
                             AC_MSG_RESULT([not found])
                            ])
-            CFLAGS="$save_CFLAGS"
+            CXXFLAGS="$save_CXXFLAGS"
 
         fi
     fi
@@ -3404,10 +3460,10 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         fi
 
         if test "x$wxUSE_UNIX" = "xyes"; then
-            CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+            CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon $CPPFLAGS"
         else
             dnl platform.h needs TARGET_CARBON before setup.h
-            CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON"
+            CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON $CPPFLAGS"
         fi
 
         TOOLKIT=MAC
@@ -3595,14 +3651,9 @@ dnl ---------------------------------------------------------------------------
         fi
     elif test "$wxUSE_MSW" = 1; then
 dnl ---------------------------------------------------------------------------
-dnl DirectDraw  / Multimon for MSW
+dnl DirectDraw for MSW - optionally used by WxDisplay.
 dnl ---------------------------------------------------------------------------
-        AC_CHECK_HEADERS([multimon.h ddraw.h], [],
-            [
-                wxUSE_DISPLAY="no"
-                AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
-            ],
-            [#include <windows.h>])
+        AC_CHECK_HEADERS([ddraw.h], [], [], [#include <windows.h>])
     fi
 fi
 
@@ -3625,7 +3676,7 @@ if test "$wxUSE_OPENGL" = "yes"; then
         if test "$ac_find_includes" != "" ; then
             AC_MSG_RESULT(found in $ac_find_includes)
             WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
-            CPPFLAGS="$CPPFLAGS$ac_path_to_include"
+            CPPFLAGS="$ac_path_to_include $CPPFLAGS"
         fi
 
         AC_CHECK_HEADER(GL/gl.h,
@@ -3728,7 +3779,7 @@ if test "$wxUSE_SHARED" = "yes"; then
         if test "$GCC" = yes ; then
             dnl newer versions of gcc need -isystem to compile X headers on
             dnl Solaris (which use old style C syntax)
-            CPPFLAGS="$CPPFLAGS -isystem /usr/openwin/include"
+            CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS"
 
             dnl gcc may use Sun's ld, in which case -rpath gives a confusing
             dnl error message. We have to try both -Wl,-rpath and -Wl,-R:
@@ -3906,24 +3957,28 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     dnl since the carb resource *must* be included in the application
     if test "$wxUSE_MAC" = 1; then
         POSTLINK_COMMAND="\$(REZ) -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
-        WXCONFIG_POSTLINK_COMMAND="${REZ} -d __DARWIN__ -t APPL Carbon.r -o"
+        RESCOMP="$REZ"
+        WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
     else
-        POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
-        WXCONFIG_POSTLINK_COMMAND="echo -n \\\| ${REZ} -d __DARWIN__ -t APPL \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+        POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
+        RESCOMP="echo -n \| $REZ"
+        WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
     fi
+
 else
     dnl default value is to (silently) do nothing in the makefile
     MACSETFILE="@true"
-    WXCONFIG_POSTLINK_COMMAND="@true"
 
     if test "$wxUSE_PM" = 1; then
-        POSTLINK_COMMAND="emxbind -ep"
+        RESCOMP="emxbind"
+        WXCONFIG_RESFLAGS="-ep"
+
+        dnl Is this one really used anywhere for pm?
+        POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
     else
         POSTLINK_COMMAND="@true"
     fi
+
 fi
 
 
@@ -3947,8 +4002,6 @@ AC_CHECK_TYPES(ssize_t)
 
 dnl check what exactly size_t is on this machine - this is necessary to avoid
 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
 AC_CACHE_CHECK([if size_t is unsigned int],
     wx_cv_size_t_is_uint,
     [
@@ -3995,8 +4048,6 @@ else
     fi
 fi
 
-AC_LANG_RESTORE
-
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
 dnl ---------------------------------------------------------------------------
@@ -4057,7 +4108,7 @@ if test "$wxUSE_WCHAR_T" = "yes"; then
     dnl with g++'s in <cwchar> (unless -D_INCLUDE__STDC_A1_SOURCE is in the
     dnl flags when g++ is configured, it will declare it's own).
     if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then
-        CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+        CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
     fi
 
     dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU
@@ -4071,12 +4122,6 @@ else
     AC_MSG_WARN([Wide character support is unavailable])
 fi
 
-dnl *printf() functions sometimes are available in the library but not
-dnl prototyped -- if this is the case, we can't use them from C++ code, but to
-dnl detect this we have to use C++ compiler for testing
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
 dnl check for vsnprintf() -- a safe version of vsprintf())
 dnl
 dnl the trouble here is that on some systems (e.g HP-UX 10) this function is
@@ -4229,8 +4274,6 @@ if test "$wxUSE_UNICODE" = yes; then
                    [AC_MSG_RESULT([no])]);
 fi
 
-AC_LANG_RESTORE
-
 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
     AC_CHECK_FUNCS(fnmatch)
 fi
@@ -4245,11 +4288,8 @@ if test "$TOOLKIT" != "MSW"; then
 
 dnl check for available version of iconv()
 
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
 AM_ICONV
 LIBS="$LIBICONV $LIBS"
-AC_LANG_RESTORE
 
 dnl check for POSIX signals if we need them
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
@@ -4261,9 +4301,6 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     fi
 
     if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
-      AC_LANG_SAVE
-      AC_LANG_CPLUSPLUS
-
       AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
       [
         AC_TRY_COMPILE([#include <signal.h>],
@@ -4279,17 +4316,12 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                      ])
       ])
 
-      AC_LANG_RESTORE
-
       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
     fi
 fi
 
 dnl backtrace() and backtrace_symbols() for wxStackWalker
 if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-
     AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
         [
             AC_TRY_COMPILE([#include <execinfo.h>],
@@ -4328,8 +4360,6 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
             AC_DEFINE(HAVE_CXA_DEMANGLE)
         fi
     fi
-
-    AC_LANG_RESTORE
 fi
 
 if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
@@ -4368,8 +4398,6 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
 
 if test "$wx_cv_func_statfs" = "yes"; then
     dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
     AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
         AC_TRY_COMPILE(
             [
@@ -4388,7 +4416,6 @@ if test "$wx_cv_func_statfs" = "yes"; then
             wx_cv_func_statfs_decl=no
         )
     )
-    AC_LANG_RESTORE
 
     if test "$wx_cv_func_statfs_decl" = "yes"; then
         AC_DEFINE(HAVE_STATFS_DECL)
@@ -4419,9 +4446,6 @@ else
         dnl
         dnl for this check C++ compiler has to be used as passing incompatible
         dnl pointers is just a warning and not an error in C
-        AC_LANG_SAVE
-        AC_LANG_CPLUSPLUS
-
         AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
             AC_TRY_COMPILE(
                 [
@@ -4456,8 +4480,6 @@ else
             )
         )
 
-        AC_LANG_RESTORE
-
         if test "$wx_cv_type_statvfs_t" != "unknown"; then
             AC_DEFINE(HAVE_STATVFS)
         fi
@@ -4530,15 +4552,8 @@ fi
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
-dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler
-dnl but not for C++ one - hence change language)
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
 AC_CHECK_FUNCS(strtok_r)
 
-AC_LANG_RESTORE
-
 dnl check for inet_addr and inet_aton (these may live either in libc, or in
 dnl libnsl or libresolv or libsocket)
 INET_LINK=
@@ -4621,14 +4636,14 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
     dnl the code below:
     dnl
-    dnl   defines THREADS_LINK and THREADS_CFLAGS which are the options
+    dnl   defines THREADS_LINK and THREADS_CXXFLAGS which are the options
     dnl   necessary to build the MT programs for the linker and compiler
     dnl   respectively
     dnl
     dnl   sets wxUSE_THREADS=1 if thread support is activated
 
     THREADS_LINK=
-    THREADS_CFLAGS=
+    THREADS_CXXFLAGS=
 
     if test "$wxUSE_THREADS" = "yes" ; then
         if test "$USE_BEOS" = 1; then
@@ -4719,7 +4734,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
                 -*)
                     AC_MSG_CHECKING([whether pthreads work with $flag])
-                    THREADS_CFLAGS="$flag"
+                    THREADS_CXXFLAGS="$flag"
                     ;;
 
                 *)
@@ -4729,16 +4744,16 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
               esac
 
               save_LIBS="$LIBS"
-              save_CFLAGS="$CFLAGS"
+              save_CXXFLAGS="$CXXFLAGS"
               LIBS="$THREADS_LINK $LIBS"
-              CFLAGS="$THREADS_CFLAGS $CFLAGS"
+              CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
 
               AC_TRY_LINK([#include <pthread.h>],
                           [pthread_create(0,0,0,0);],
                           THREADS_OK=yes)
 
               LIBS="$save_LIBS"
-              CFLAGS="$save_CFLAGS"
+              CXXFLAGS="$save_CXXFLAGS"
 
               AC_MSG_RESULT($THREADS_OK)
               if test "x$THREADS_OK" = "xyes"; then
@@ -4746,7 +4761,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
               fi
 
               THREADS_LINK=""
-              THREADS_CFLAGS=""
+              THREADS_CXXFLAGS=""
       done
 
       if test "x$THREADS_OK" != "xyes"; then
@@ -4755,7 +4770,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
       else
           dnl yes, these special compiler flags should be used with the
           dnl linker as well
-          LDFLAGS="$THREADS_CFLAGS $LDFLAGS"
+          LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS"
           LIBS="$THREADS_LINK $LIBS"
 
           AC_MSG_CHECKING([if more special flags are required for pthreads])
@@ -4787,11 +4802,11 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
           esac
           AC_MSG_RESULT(${flag})
           if test "x$flag" != xno; then
-              THREADS_CFLAGS="$THREADS_CFLAGS $flag"
+              THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag"
           fi
 
           dnl don't add these options to CPPFLAGS as cpp might not know them
-          WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS $THREADS_CFLAGS"
+          WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
       fi
     fi
 
@@ -4942,8 +4957,8 @@ else
             AC_CACHE_CHECK([if compiler supports -mthreads],
                 wx_cv_cflags_mthread,
                 [
-                    CFLAGS_OLD="$CFLAGS"
-                    CFLAGS="$CFLAGS -mthreads"
+                    CXXFLAGS_OLD="$CXXFLAGS"
+                    CXXFLAGS="-mthreads $CXXFLAGS"
                     AC_TRY_COMPILE([], [],
                         wx_cv_cflags_mthread=yes,
                         wx_cv_cflags_mthread=no
@@ -4953,11 +4968,11 @@ else
 
             if test "$wx_cv_cflags_mthread" = "yes"; then
                 dnl it does, use it
-                WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mthreads"
+                WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
                 LDFLAGS="$LDFLAGS -mthreads"
             else
                 dnl it doesn't
-                CFLAGS="$CFLAGS_OLD"
+                CXXFLAGS="$CXXFLAGS_OLD"
             fi
         ;;
         *-pc-os2*emx )
@@ -4972,14 +4987,16 @@ fi
 AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ])
 AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ])
 AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ])
-dnl By preference, use getaddrinfo which avoids thread safety issues.
-dnl If that is not available, check for gethostbyname_r/gethostbyaddr_r
-dnl and getservbyname_r
-AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO),
+dnl By preference, we probably should use getaddrinfo which avoids thread
+dnl safety issues and supports IPv6, however there currently is no code
+dnl for it, so testing for it is temporarily disabled and we are restricted
+dnl to gethostbyname_r/gethostbyaddr_r  and getservbyname_r
+
+dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [
     dnl no getaddrinfo, so check for gethostbyname_r and
     dnl related functions (taken from python's configure.in)
     dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments
-    [ AX_FUNC_WHICH_GETHOSTBYNAME_R
+      AX_FUNC_WHICH_GETHOSTBYNAME_R
       if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \
              "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then
           AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ])
@@ -5000,8 +5017,8 @@ AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO),
       dnl (also, I'm lazy and there no m4 file that's ready for use for this
       dnl  function, although it should be easy to rewrite the gethostbyname_r
       dnl  check to fit this case, if it's really needed.                - SN )
-    ]
-)
+dnl    ]
+dnl )
 
 if test "$wxUSE_THREADS" = "yes"; then
   AC_DEFINE(wxUSE_THREADS)
@@ -5058,7 +5075,9 @@ if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
     WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__"
 else
     if test "$wxUSE_GTK" = 1 ; then
-        CPPFLAGS="$CPPFLAGS -DGTK_NO_CHECK_CASTS"
+        if test "x$wxGTK_VERSION" = "x1" ; then
+            CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
+        fi
     fi
 fi
 
@@ -5121,7 +5140,19 @@ if test "$wxUSE_OPTIMISE" = "no" ; then
     fi
 else
     if test "$GCC" = yes ; then
-        OPTIMISE_CFLAGS="-O2"
+        case "${host}" in
+            *-pc-os2_emx | *-pc-os2-emx )
+                dnl Not all of the supported gcc versions understand
+                dnl -fstrict-aliasing and none actually needs it (yet).
+                OPTIMISE_CFLAGS="-O2"
+            ;;
+            *)
+                dnl Switch on optimisation but keep strict-aliasing off for
+                dnl now (see -fstrict-aliasing in the gcc manual). When it is
+                dnl switched back on consider using -Wstrict-aliasing=2.
+                OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
+            ;;
+        esac
     else
         OPTIMISE_CFLAGS="-O"
     fi
@@ -5333,7 +5364,7 @@ if test "$wxUSE_SOUND" = "yes"; then
       AM_PATH_SDL([1.2.0],
                   [
                     EXTRALIBS_SDL="$SDL_LIBS"
-                    CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+                    CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
                     AC_DEFINE(wxUSE_LIBSDL)
                   ],
                   [wxUSE_LIBSDL="no"])
@@ -5355,7 +5386,7 @@ if test "$WXGTK20" = 1; then
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
 dnl                     EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
-                        CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
+                        CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
                     ],
                     [
@@ -5367,6 +5398,42 @@ dnl                     EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
     fi
 fi
 
+if test "$WXGTK20" = 1; then
+    if test "$wxUSE_MIMETYPE" = "yes" ; then
+        if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
+
+                PKG_CHECK_MODULES(GNOMEVFS,
+                                  [gnome-vfs-2.0 >= 2.0],
+                    [
+dnl                     EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS"
+                        CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
+                        AC_DEFINE(wxUSE_LIBGNOMEVFS)
+                    ],
+                    [
+                        AC_MSG_WARN([libgnomevfs not found, library won't be able to associate MIME type])
+                        wxUSE_LIBGNOMEVFS="no"
+                    ]
+                )
+        fi
+    fi
+fi
+
+if test "$WXGTK20" = 1; then
+    if test "$wxUSE_LIBHILDON" = "yes" ; then
+        PKG_CHECK_MODULES(HILDON, 
+                          [hildon-lgpl >= 0.9],
+            [
+                EXTRALIBS_HILDON="$HILDON_LIBS"
+                CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
+                AC_DEFINE(wxUSE_LIBHILDON)
+            ],
+            [
+                AC_MSG_WARN([libhildon_lgpl not found])
+                        wxUSE_LIBHILDON="no"
+            ]
+        )
+    fi
+fi
 
 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
   AC_DEFINE(wxUSE_CMDLINE_PARSER)
@@ -5528,8 +5595,6 @@ if test "$wxUSE_DATETIME" = "yes"; then
     if test "$ac_cv_func_strptime" = "yes"; then
         AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
             [
-                AC_LANG_SAVE
-                AC_LANG_CPLUSPLUS
                 AC_TRY_COMPILE(
                     [
                         #include <time.h>
@@ -5541,7 +5606,6 @@ if test "$wxUSE_DATETIME" = "yes"; then
                     wx_cv_func_strptime_decl=yes,
                     wx_cv_func_strptime_decl=no
                 )
-                AC_LANG_RESTORE
             ]
         )
     fi
@@ -5643,9 +5707,6 @@ if test "$wxUSE_DATETIME" = "yes"; then
                        wx_cv_func_gettimeofday_has_2_args,
         [
             dnl on some _really_ old systems it takes only 1 argument
-            AC_LANG_SAVE
-            AC_LANG_CPLUSPLUS
-
             AC_TRY_COMPILE(
                 [
                     #include <sys/time.h>
@@ -5672,7 +5733,6 @@ if test "$wxUSE_DATETIME" = "yes"; then
                     ]
                 )
             )
-            AC_LANG_RESTORE
         ])
 
         if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
@@ -5724,7 +5784,6 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         dnl This test needs to be done in C++ mode since gsocket.cpp now
         dnl is C++ code and pointer cast that are possible even without
         dnl warning in C still fail in C++.
-        AC_LANG_PUSH(C++)
         AC_CACHE_CHECK([what is the type of the third argument of getsockname],
                        wx_cv_type_getsockname3,
             [
@@ -5747,7 +5806,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                         dnl least with gcc (otherwise we'd always use size_t)
                         CXXFLAGS_OLD="$CXXFLAGS"
                         if test "$GCC" = yes ; then
-                            CXXFLAGS="$CXXFLAGS -Werror"
+                            CXXFLAGS="-Werror $CXXFLAGS"
                         fi
 
                         AC_TRY_COMPILE(
@@ -5808,7 +5867,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                         dnl least with gcc (otherwise we'd always use size_t)
                         CXXFLAGS_OLD="$CXXFLAGS"
                         if test "$GCC" = yes ; then
-                            CXXFLAGS="$CXXFLAGS -Werror"
+                            CXXFLAGS="-Werror $CXXFLAGS"
                         fi
 
                         AC_TRY_COMPILE(
@@ -5846,7 +5905,6 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         else
             AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
         fi
-        AC_LANG_POP
     fi
 fi
 
@@ -5911,14 +5969,12 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; 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
 
@@ -6064,9 +6120,6 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
 
     if test "$ac_cv_header_ole2_h" = "yes" ; then
         if test "$GCC" = yes ; then
-            AC_LANG_SAVE
-            AC_LANG_CPLUSPLUS
-
             AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
             AC_TRY_COMPILE([#include <windows.h>
                             #include <ole2.h>],
@@ -6074,7 +6127,6 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
                            [AC_MSG_RESULT(no)],
                            [AC_MSG_RESULT(yes)
                             WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"])
-            AC_LANG_RESTORE
             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
             if test "$wxUSE_OLE" = "yes" ; then
                 AC_DEFINE(wxUSE_OLE)
@@ -6263,6 +6315,12 @@ if test "$wxUSE_GRID" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
 fi
 
+if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_DATAVIEWCTRL)
+  USES_CONTROLS=1
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dataview"
+fi
+
 if test "$wxUSE_IMAGLIST" = "yes"; then
     AC_DEFINE(wxUSE_IMAGLIST)
 fi
@@ -6370,7 +6428,7 @@ if test "$wxUSE_STATUSBAR" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
 fi
 
-if test "$wxUSE_TABDIALOG" = "yes"; then
+if test "$wxUSE_TAB_DIALOG" = "yes"; then
     AC_DEFINE(wxUSE_TAB_DIALOG)
 fi
 
@@ -6436,6 +6494,11 @@ if test "$wxUSE_TREEBOOK" = "yes"; then
     USES_CONTROLS=1
 fi
 
+if test "$wxUSE_TOOLBOOK" = "yes"; then
+    AC_DEFINE(wxUSE_TOOLBOOK)
+    USES_CONTROLS=1
+fi
+
 if test "$wxUSE_TREECTRL" = "yes"; then
     if test "$wxUSE_IMAGLIST" = "yes"; then
         AC_DEFINE(wxUSE_TREECTRL)
@@ -6522,7 +6585,7 @@ fi
 if test "$wxUSE_WEBKIT" = "yes"; then
     if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
         old_CPPFLAGS="$CPPFLAGS"
-        CPPFLAGS="$CPPFLAGS -x objective-c++"
+        CPPFLAGS="-x objective-c++ $CPPFLAGS"
         AC_CHECK_HEADER([WebKit/HIWebView.h],
                         [
                            AC_DEFINE(wxUSE_WEBKIT)
@@ -6707,6 +6770,8 @@ dnl ---------------------------------------------------------------------------
 dnl wxMediaCtrl
 dnl ---------------------------------------------------------------------------
 
+USE_MEDIA=0
+
 if test "$wxUSE_MEDIACTRL" = "yes"; then
     dnl -----------------------------------------------------------------------
     dnl GStreamer
@@ -6715,77 +6780,57 @@ if test "$wxUSE_MEDIACTRL" = "yes"; then
         wxUSE_GSTREAMER="yes"
 
         dnl -------------------------------------------------------------------
-        dnl Test for gstreamer module from pkg-config
+        dnl Test for at least 0.8 gstreamer module from pkg-config
+        dnl Even totem doesn't accept 0.9 evidently.
+        dnl
+        dnl So, we first check to see if 0.10 if available - if not we
+        dnl try the older 0.8 version
         dnl -------------------------------------------------------------------
-        PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.8,
+        GST_VERSION_MAJOR=0
+        GST_VERSION_MINOR=10
+        GST_VERSION_RELEASE=0
+        GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
+        GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+
+        if test "$wxUSE_GSTREAMER8" = "no"; then
+            PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
+                               gstreamer-plugins-base-$GST_MAJORMINOR
+                               gconf-2.0,
         [
-            CPPFLAGS="$CPPFLAGS $GSTREAMER_CFLAGS"
-            LIBS="$LIBS $GSTREAMER_LIBS -lgstplay-0.8"
+                    CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
+                    LIBS="$LIBS $GST_LIBS -lgstinterfaces-$GST_MAJORMINOR"
         ],
         [
-            AC_MSG_WARN([GStreamer installation not found])
-            wxUSE_GSTREAMER="no"
+                    GST_VERSION_MINOR=8
         ])
-
-        dnl -------------------------------------------------------------------
-        dnl Perform a check for a GStreamer element using gst-inspect
-        dnl Thomas Vander Stichele <thomas at apestaart dot org>
-        dnl Last modification: 25/01/2005
-        dnl
-        dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
-        dnl -------------------------------------------------------------------
-        AC_DEFUN([AM_GST_ELEMENT_CHECK],
-        [
-        if test "x$GST_INSPECT" == "x"; then
-            AC_CHECK_PROG(GST_INSPECT, gst-inspect, gst-inspect, [])
-        fi
-
-        if test "x$GST_INSPECT" != "x"; then
-            AC_MSG_CHECKING(GStreamer element $1)
-            if [ $GST_INSPECT $1 > /dev/null 2> /dev/null ]; then
-            AC_MSG_RESULT(found.)
-            $2
             else
-            AC_MSG_RESULT(not found.)
-            $3
-            fi
+            GST_VERSION_MINOR=8
         fi
-        ])
 
-        dnl -------------------------------------------------------------------
-        dnl Test for x video sink (video useless without)
-        dnl -------------------------------------------------------------------
-        AM_GST_ELEMENT_CHECK(xvimagesink,[],
-                        [
-                            wxUSE_GSTREAMER="no"
-                            AC_MSG_WARN([x video sink not found - cannot use GStreamer])
-                        ])
+        GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
+        GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
 
-        dnl -------------------------------------------------------------------
-        dnl Check for gstplay-0.8 lib and corresponding x overlay header
-        dnl -------------------------------------------------------------------
-        AC_CHECK_HEADER(gst/xoverlay/xoverlay.h, [],
+        if test x$GST_VERSION_MINOR = x8; then
+            PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
+                gstreamer-interfaces-$GST_MAJORMINOR
+                gstreamer-gconf-$GST_MAJORMINOR,
                         [
-                            wxUSE_GSTREAMER="no"
-                            AC_MSG_WARN([xoverlay header not found, cannot use GStreamer])
+                    CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
+                    LIBS="$LIBS $GST_LIBS"
                         ],
-                        [#include <gst/gst.h>])
-
-        AC_MSG_CHECKING([for gstplay 0.8])
-        WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8)
-
-        if test "$ac_find_libraries" = "" ; then
-            AC_MSG_RESULT([no])
+                [
+                    AC_MSG_WARN([Proper GStreamer .8/.10 installation not found])
             wxUSE_GSTREAMER="no"
-        else
-            AC_MSG_RESULT([yes])
+                ])
         fi
 
+
         if test "$wxUSE_GSTREAMER" = "yes"; then
             AC_DEFINE(wxUSE_GSTREAMER)
             AC_MSG_RESULT([GStreamer detection successful])
         fi
     fi
+    USE_MEDIA=1
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
     AC_DEFINE(wxUSE_MEDIACTRL)
 fi
@@ -6849,15 +6894,14 @@ fi
 AC_SUBST(CORE_BASE_LIBS)
 AC_SUBST(CORE_GUI_LIBS)
 
-
 dnl ---------------------------------------------------------------------------
 dnl Output the makefiles and such from the results found above
 dnl ---------------------------------------------------------------------------
 
-dnl all additional libraries (except wxWidgets itself) we link with
+dnl no more tests from here
+AC_LANG_POP
 
-dnl note that we always link with -lm except for Mac OS X
-dnl extended.c uses floor() and is always linked in
+dnl all additional libraries (except wxWidgets itself) we link with
 
 if test "$wxUSE_MAC" = 1 ; then
     if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
@@ -6883,53 +6927,8 @@ 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 this one) be removed..   [ 7 Nov 2001 ]
-
 LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS"
 
-dnl Only add the -lm library if floating point functions cannot be used
-dnl without it.  This check is important on cygwin because of the bizarre
-dnl way that they have organized functions into libraries.  On cygwin, both
-dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a.  This
-dnl means that
-dnl   1) linking with -lm is not necessary, and
-dnl   2) linking with -lm is dangerous if the order of libraries is wrong
-dnl In particular, if you compile any program with -mno-cygwin and link with
-dnl -lm, it will crash instantly when it is run.  This happens because the
-dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
-dnl the ___main function instead of allowing it to be defined by
-dnl /usr/lib/mingw/libmingw32.a as it should be.
-dnl
-dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
-dnl
-dnl Just check a few floating point functions. If they are all found without
-dnl -lm, then we must not need -lm.
-have_cos=0
-have_floor=0
-AC_CHECK_FUNCS(cos, have_cos=1)
-AC_CHECK_FUNCS(floor, have_floor=1)
-AC_MSG_CHECKING(if floating point functions link without -lm)
-if test "$have_cos" = 1 -a "$have_floor" = 1; then
-    AC_MSG_RESULT(yes)
-else
-    AC_MSG_RESULT(no)
-    LIBS="$LIBS -lm"
-    # use different functions to avoid configure caching
-    have_sin=0
-    have_ceil=0
-    AC_CHECK_FUNCS(sin, have_sin=1)
-    AC_CHECK_FUNCS(ceil, have_ceil=1)
-    AC_MSG_CHECKING(if floating point functions link with -lm)
-    if test "$have_sin" = 1 -a "$have_ceil" = 1; then
-        AC_MSG_RESULT(yes)
-    else
-        AC_MSG_RESULT(no)
-        # not sure we should warn the user, crash, etc.
-    fi
-fi
-
 if test "$wxUSE_GUI" = "yes"; then
 
     dnl TODO add checks that these samples will really compile (i.e. all the
@@ -6939,7 +6938,7 @@ if test "$wxUSE_GUI" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
                      dynamic erase event exec font image minimal mobile \
                      mobile/wxedit mobile/styles propsize render \
-                     richedit rotate shaped vscroll widgets"
+                     rotate shaped vscroll widgets"
 
     if test "$wxUSE_MONOLITHIC" != "yes"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
@@ -7009,13 +7008,14 @@ dnl note that the order is somewhat important: wxWidgets headers should
 dnl come first and the one with setup.h should be before $(top_srcdir)/include
 dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
 dnl CodeWarrior):
-CPPFLAGS=`echo $WXCONFIG_CPPFLAGS $CPPFLAGS \
+CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
  -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
- -I\\${top_srcdir}/include $TOOLKIT_INCLUDE`
+ -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
+ $CPPFLAGS `
 
 C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS"
-CFLAGS=`echo $WXCONFIG_CFLAGS $CFLAGS $CWARNINGS $C_AND_CXX_FLAGS`
-CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXFLAGS $C_AND_CXX_FLAGS`
+CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS `
+CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS `
 
 dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config
 dnl only stuff to it
@@ -7044,7 +7044,7 @@ EXTRALIBS_XML="$EXPAT_LINK"
 EXTRALIBS_HTML="$MSPACK_LINK"
 EXTRALIBS_ODBC="$ODBC_LINK"
 if test "$wxUSE_GUI" = "yes"; then
-    EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_GNOMEPRINT`
+    EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
 fi
 if test "$wxUSE_OPENGL" = "yes"; then
     EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
@@ -7144,6 +7144,8 @@ AC_SUBST(EXTRALIBS_OPENGL)
 AC_SUBST(EXTRALIBS_SDL)
 AC_SUBST(WITH_PLUGIN_SDL)
 AC_SUBST(EXTRALIBS_GNOMEPRINT)
+AC_SUBST(EXTRALIBS_GNOMEVFS)
+AC_SUBST(EXTRALIBS_HILDON)
 AC_SUBST(UNICODE)
 AC_SUBST(BUILD)
 AC_SUBST(DEBUG_INFO)
@@ -7174,8 +7176,39 @@ if test "$wxUSE_WINE" = "yes"; then
     BAKEFILE_FORCE_PLATFORM=win32
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl Add Universal binary support 
+dnl Note we don't do this earlier because adding these cpp/ld flags could
+dnl cause configure tests to fail.
+dnl ---------------------------------------------------------------------------
+if test "$wxUSE_MAC" = 1 ; then
+    if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
+        CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS"
+        CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS"
+        LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS"
+        bk_use_pch=no
+    fi
+    # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)?
+    #       The makefile currently uses AR and RANLIB, which libtool apparently supercedes.
+    # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it)
+fi
+
 AC_BAKEFILE([m4_include(autoconf_inc.m4)])
 
+dnl HACK ALERT!! 
+dnl For now, we need to alter bk-deps not to generate deps
+dnl when we've configured a Universal binary build.
+dnl The next version of Bakefile will have the correct fix for this
+dnl at which time, this hack can be removed.
+
+if test "$wxUSE_MAC" = 1 ; then
+    if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
+        sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
+        mv temp bk-deps
+        chmod +x bk-deps
+    fi
+fi
+
 if test "$wxUSE_SHARED" = "yes"; then
 
     dnl We get the shared build linker from bakefile, since it
@@ -7223,7 +7256,6 @@ fi
 
 dnl TOOLCHAIN_DEFS should be used for both wx and client code
 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS"
-WXCONFIG_RESCOMP="$WINDRES $WXCONFIG_RESFLAGS"
 
 dnl for convenience, sort the samples in alphabetical order
 dnl
@@ -7281,7 +7313,7 @@ AC_SUBST(WXCONFIG_CXXFLAGS)
 AC_SUBST(WXCONFIG_LIBS)
 AC_SUBST(WXCONFIG_RPATH)
 AC_SUBST(WXCONFIG_LDFLAGS_GUI)
-AC_SUBST(WXCONFIG_RESCOMP)
+AC_SUBST(WXCONFIG_RESFLAGS)
 AC_SUBST(EXE_LINKER)
 
 dnl distribution vars
@@ -7299,6 +7331,7 @@ AC_SUBST(DMALLOC_LIBS)
 AC_SUBST(WX_VERSION_TAG)
 
 dnl additional resurces settings
+AC_SUBST(RESCOMP)
 AC_SUBST(WINDRES)
 AC_SUBST(REZ)
 AC_SUBST(RESFLAGS)
@@ -7311,7 +7344,6 @@ AC_SUBST(DEREZ)
 AC_SUBST(LIBWXMACRES)
 AC_SUBST(POSTLINK_COMMAND)
 AC_SUBST(MACSETFILE)
-AC_SUBST(WXCONFIG_POSTLINK_COMMAND)
 
 dnl other tools
 AC_SUBST(GCC)
@@ -7458,6 +7490,8 @@ echo "                                       expat              ${wxUSE_EXPAT}"
 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
 echo "                                       sdl                ${wxUSE_LIBSDL}"
 echo "                                       gnomeprint         ${wxUSE_LIBGNOMEPRINT-none}"
+echo "                                       gnomevfs           ${wxUSE_LIBGNOMEVFS-none}"
+echo "                                       hildon             ${wxUSE_LIBHILDON-none}"
 
 echo ""