]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
undid CFLAGS to CXXFLAGS chane (rev 1.1121) which is not necessary any more; fixed...
[wxWidgets.git] / configure.in
index bce218c226568aac45cef1c5225b0c0f50b62e83..acb0516934a2da01127bbfa865af0193e3c95e1a 100644 (file)
@@ -44,6 +44,11 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
 
 
+dnl Autoconf-2.60 changed the meaning of top_builddir variable, so we have
+dnl to use our own replacement that will work with both 2.5x and 2.60+:
+wx_top_builddir="`pwd`"
+AC_SUBST(wx_top_builddir)
+
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
@@ -1027,7 +1032,7 @@ WX_ARG_ENABLE(loggui,      [  --enable-loggui         use standard GUI logger],
 WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LOGWINDOW)
 WX_ARG_ENABLE(logdialog,   [  --enable-logdialog      use wxLogDialog], wxUSE_LOGDIALOG)
 WX_ARG_ENABLE(webkit,      [  --enable-webkit         use wxWebKitCtrl (Mac)], wxUSE_WEBKIT)
-WX_ARG_ENABLE(html,        [  --enable-richtext       use wxRichTextCtrl], wxUSE_RICHTEXT)
+WX_ARG_ENABLE(richtext,    [  --enable-richtext       use wxRichTextCtrl], wxUSE_RICHTEXT)
 WX_ARG_ENABLE(graphics_ctx, [  --enable-graphics_ctx   use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT)
 
 dnl ---------------------------------------------------------------------------
@@ -1416,60 +1421,6 @@ else
     fi
 fi
 
-dnl ---------------------------------------------------------------------------
-dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
-dnl 'just' a POSIX platform, so the Win32 API must not be available
-dnl ---------------------------------------------------------------------------
-dnl (Windows-only piece)
-wants_win32=0
-doesnt_want_win32=0
-case "${host}" in
-  *-*-cygwin*)
-      if test "$wxUSE_MSW" = 1 ; then
-        wants_win32=1
-        BAKEFILE_FORCE_PLATFORM=win32
-      else
-        doesnt_want_win32=1
-      fi
-  ;;
-  *-*-mingw*)
-      wants_win32=1
-  ;;
-esac
-
-dnl ---------------------------------------------------------------------------
-dnl Wine is a virtual platform, we need to patch things up a bit
-dnl ---------------------------------------------------------------------------
-if test "$wxUSE_WINE" = "yes"; then
-    wants_win32=1
-    dnl FIXME: we should do a better job of testing for these
-    CC=winegcc
-    CXX=wineg++
-    LDFLAGS_GUI="-mwindows"
-fi
-
-dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
-dnl     take effect on Cygwin/Mingw and not other platforms.
-if test "$wants_win32" = 1 ; then
-    USE_UNIX=0
-    USE_WIN32=1
-    AC_DEFINE(__WIN32__)
-    AC_DEFINE(__WIN95__)
-    AC_DEFINE(__WINDOWS__)
-    AC_DEFINE(__GNUWIN32__)
-    AC_DEFINE(STRICT)
-fi
-if test "$doesnt_want_win32" = 1 ; then
-    USE_UNIX=1
-    USE_WIN32=0
-fi
-dnl (end of Windows-only piece)
-
-if test "$USE_UNIX" = 1 ; then
-    wxUSE_UNIX=yes
-    AC_DEFINE(__UNIX__)
-fi
-
 dnl ---------------------------------------------------------------------------
 dnl Checks for programs
 dnl ---------------------------------------------------------------------------
@@ -1493,12 +1444,6 @@ dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
 AC_PROG_GCC_TRADITIONAL
 
-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
 dnl   defines GXX with yes if using gxx
@@ -1682,6 +1627,77 @@ case "${host}" in
   ;;
 esac
 
+dnl Determine whether we want to use Cygwin as Windows or POSIX platform: the
+dnl latter makes more sense for wxGTK/Motif/X11 ports
+wants_win32=0
+doesnt_want_win32=0
+case "${host}" in
+  *-*-cygwin*)
+      if test "$wxUSE_MSW" = 1 ; then
+        wants_win32=1
+      else
+        dnl when we use cygwin compiler with -mno-cygwin option it uses mingw32
+        dnl headers and libraries, so it's Windows-like in this case
+        AC_CACHE_CHECK([if -mno-cygwin is in effect], wx_cv_nocygwin,
+            [
+                AC_TRY_COMPILE(
+                    [],
+                    [
+                        #ifdef __MINGW32__
+                            choke me
+                        #endif
+                    ],
+                    wx_cv_nocygwin=no,
+                    wx_cv_nocygwin=yes
+                )
+            ]
+        )
+
+        if test "$wx_cv_nocygwin" = "yes"; then
+            wants_win32=1
+        else
+            doesnt_want_win32=1
+        fi
+      fi
+      if test "$wants_win32" = 1 ; then
+        BAKEFILE_FORCE_PLATFORM=win32
+      fi
+  ;;
+  *-*-mingw*)
+      wants_win32=1
+  ;;
+esac
+
+if test "$wxUSE_WINE" = "yes"; then
+    wants_win32=1
+    dnl FIXME: we should do a better job of testing for these
+    CC=winegcc
+    CXX=wineg++
+    LDFLAGS_GUI="-mwindows"
+fi
+
+dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
+dnl     take effect on Cygwin/Mingw and not other platforms.
+if test "$wants_win32" = 1 ; then
+    USE_UNIX=0
+    USE_WIN32=1
+    AC_DEFINE(__WIN32__)
+    AC_DEFINE(__WIN95__)
+    AC_DEFINE(__WINDOWS__)
+    AC_DEFINE(__GNUWIN32__)
+    AC_DEFINE(STRICT)
+fi
+if test "$doesnt_want_win32" = 1 ; then
+    USE_UNIX=1
+    USE_WIN32=0
+fi
+dnl (end of Windows-only piece)
+
+if test "$USE_UNIX" = 1 ; then
+    wxUSE_UNIX=yes
+    AC_DEFINE(__UNIX__)
+fi
+
 dnl This case is for OS/2 vs. everything else
 case "${host}" in
   *-pc-os2_emx | *-pc-os2-emx )
@@ -1693,7 +1709,6 @@ case "${host}" in
       dnl not "g++/c++".
       dnl ---------------------------------------------------------------------
       dnl (OS/2-only piece)
-      AC_LANG_PUSH(C)
       if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
           dnl More complete Unix emulation for unix-like ports
           dnl by linking in POSIX/2's cExt (if available).
@@ -1737,7 +1752,6 @@ case "${host}" in
               wx_cv_gccversion="EMX2"
           )
       ])
-      AC_LANG_POP
       if test "$wx_cv_gccversion" = "EMX2"; then
           LIBS="$LIBS -lstdcpp"
           LDFLAGS="$LDFLAGS -Zsysv-signals"
@@ -1806,27 +1820,13 @@ dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
-dnl defines HAVE_STDLIB_H
-AC_CHECK_HEADERS(stdlib.h)
-dnl defines HAVE_MALLOC_H
-AC_CHECK_HEADERS(malloc.h)
-dnl defines HAVE_UNISTD_H
-AC_CHECK_HEADERS(unistd.h)
-dnl defines HAVE_WCHAR_H
-AC_CHECK_HEADERS(wchar.h)
+AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h)
 
 dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
 if test "$ac_cv_header_wchar_h" != "yes"; then
-    dnl defines HAVE_WCSTR_H
     AC_CHECK_HEADERS(wcstr.h)
 fi
 
-dnl defines HAVE_FNMATCH_H
-AC_CHECK_HEADERS(fnmatch.h)
-
-dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
-AC_CHECK_HEADERS(langinfo.h)
-
 case "${host}" in
   *-pc-os2_emx | *-pc-os2-emx )
       dnl Explicitly link -lintl if langinfo.h is available
@@ -2017,6 +2017,7 @@ if test "x$wx_largefile" = "xyes"; then
                 [if -D__STDC_EXT__ is required],
                 wx_cv_STDC_EXT_required,
                 [
+                    AC_LANG_PUSH(C++)
                     AC_TRY_COMPILE(
                         [],
                         [
@@ -2027,6 +2028,7 @@ if test "x$wx_largefile" = "xyes"; then
                         wx_cv_STDC_EXT_required=no,
                         wx_cv_STDC_EXT_required=yes
                     )
+                    AC_LANG_POP()
                 ]
             )
             if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
@@ -2116,6 +2118,10 @@ if test "x$COMPAQCXX" = "xyes"; then
     CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
 fi
 
+dnl the next few tests are all for C++ features and so need to be done using
+dnl C++ compiler
+AC_LANG_PUSH(C++)
+
 dnl check for std::string or std::wstring
 if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
     if test "$wxUSE_UNICODE" = "yes"; then
@@ -2126,42 +2132,60 @@ if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
         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
-                        ]
-                    )
-                    ])
+    dnl check if <string> declares std::[w]string
+    AC_CACHE_CHECK([for $std_string in <string>],
+        wx_cv_class_stdstring,
+        [
+            AC_TRY_COMPILE([#include <string>],
+                [$std_string foo;],
+                wx_cv_class_stdstring=yes,
+                wx_cv_class_stdstring=no
+            )
+        ]
+    )
+
+    if test "$wx_cv_class_stdstring" = yes; then
+        if test "$wxUSE_UNICODE" = "yes"; then
+            AC_DEFINE(HAVE_STD_WSTRING)
+        fi
+        dnl we don't need HAVE_STD_STRING, we just suppose it's available if
+        dnl wxUSE_STD_STRING==yes
+    else
+        AC_CACHE_CHECK([if std::basic_string<$char_type> works],
+            wx_cv_class_stdbasicstring,
+            [
+                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();],
+                    wx_cv_class_stdbasicstring=yes,
+                    wx_cv_class_stdbasicstring=no
+                )
+            ]
+        )
+
+        if test "$wx_cv_class_stdbasicstring" != yes; then
+            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
+        fi
+    fi
 fi
 
 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
@@ -2180,61 +2204,88 @@ fi
 
 if test "$wxUSE_STL" = "yes"; then
     dnl check for basic STL functionality
-    AC_MSG_CHECKING([for basic STL functionality])
-    AC_TRY_COMPILE([#include <string>
-                    #include <functional>
-                    #include <algorithm>
-                    #include <vector>
-                    #include <list>],
-                    [std::vector<int> moo;
-                     std::list<int> foo;
-                     std::vector<int>::iterator it =
-                         std::find_if(moo.begin(), moo.end(),
-                                      std::bind2nd(std::less<int>(), 3));],
-                    [AC_MSG_RESULT([yes])],
-                    [AC_MSG_RESULT([no])
-                     AC_MSG_ERROR([Basic STL functionality missing])])
+    AC_CACHE_CHECK([for basic STL functionality],
+        wx_cv_lib_stl,
+        [AC_TRY_COMPILE([#include <string>
+            #include <functional>
+            #include <algorithm>
+            #include <vector>
+            #include <list>],
+            [std::vector<int> moo;
+             std::list<int> foo;
+             std::vector<int>::iterator it =
+                 std::find_if(moo.begin(), moo.end(),
+                              std::bind2nd(std::less<int>(), 3));],
+            wx_cv_lib_stl=yes,
+            wx_cv_lib_stl=no
+        )]
+    )
+
+    if test "$wx_cv_lib_stl" != yes; then
+         AC_MSG_ERROR([Can't use --enable-stl as basic STL functionality is missing])
+    fi
 
     dnl check for compliant std::string::compare
-    AC_MSG_CHECKING([for compliant std::string::compare])
-    AC_TRY_COMPILE([#include <string>],
-                   [std::string foo, bar;
-                    foo.compare(bar);
-                    foo.compare(1, 1, bar);
-                    foo.compare(1, 1, bar, 1, 1);
-                    foo.compare("");
-                    foo.compare(1, 1, "");
-                    foo.compare(1, 1, "", 2);],
-                   [AC_MSG_RESULT(yes)
-                    AC_DEFINE(HAVE_STD_STRING_COMPARE)],
-                   [AC_MSG_RESULT(no)])
+    AC_CACHE_CHECK([for compliant std::string::compare],
+        wx_cv_func_stdstring_compare,
+        [AC_TRY_COMPILE([#include <string>],
+            [std::string foo, bar;
+            foo.compare(bar);
+            foo.compare(1, 1, bar);
+            foo.compare(1, 1, bar, 1, 1);
+            foo.compare("");
+            foo.compare(1, 1, "");
+            foo.compare(1, 1, "", 2);],
+            wx_cv_func_stdstring_compare=yes,
+            wx_cv_func_stdstring_compare=no
+        )]
+    )
+
+    if test "$wx_cv_func_stdstring_compare" = yes; then
+        AC_DEFINE(HAVE_STD_STRING_COMPARE)
+    fi
 
     dnl check for hash_map and hash_set headers
     AC_CHECK_HEADER([hash_map],
-                    [AC_MSG_CHECKING([for hash_map and hash_set])
-                     AC_TRY_COMPILE([#include <hash_map>
-                                     #include <hash_set>],
-                                    [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
-                                     std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
-                                    [AC_MSG_RESULT(yes)
-                                     AC_DEFINE(HAVE_HASH_MAP)
-                                     AC_DEFINE(HAVE_STD_HASH_MAP)],
-                                    [AC_MSG_RESULT(no)])
-                     ])
+        [AC_CACHE_CHECK([for standard hash_map and hash_set],
+            wx_cv_class_stdhashmapset,
+            [AC_TRY_COMPILE([#include <hash_map>
+                #include <hash_set>],
+                [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+                 std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
+                wx_cv_class_stdhashmapset=yes,
+                wx_cv_class_stdhashmapset=no)
+            ]
+        )]
+    )
+
+    if test "$wx_cv_class_stdhashmapset" = yes; then
+        AC_DEFINE(HAVE_HASH_MAP)
+        AC_DEFINE(HAVE_STD_HASH_MAP)
+    fi
 
     AC_CHECK_HEADER([ext/hash_map],
-                    [AC_MSG_CHECKING([for hash_map and hash_set])
-                     AC_TRY_COMPILE([#include <ext/hash_map>
-                                     #include <ext/hash_set>],
-                                    [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
-                                     __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
-                                    [AC_MSG_RESULT(yes)
-                                     AC_DEFINE(HAVE_EXT_HASH_MAP)
-                                     AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
-                                    [AC_MSG_RESULT(no)])
-                     ])
+        [AC_CACHE_CHECK([for GNU hash_map and hash_set],
+            wx_cv_class_gnuhashmapset,
+            [AC_TRY_COMPILE([#include <ext/hash_map>
+                #include <ext/hash_set>],
+                [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+                 __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
+                wx_cv_class_gnuhashmapset=yes,
+                wx_cv_class_gnuhashmapset=no)
+            ]
+        )]
+    )
+
+    if test "$wx_cv_class_gnuhashmapset" = yes; then
+         AC_DEFINE(HAVE_EXT_HASH_MAP)
+         AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)
+    fi
 fi
 
+dnl pop C++
+AC_LANG_POP()
+
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -2473,9 +2524,9 @@ fi
 dnl check for C99 string to long long conversion functions, assume that if we
 dnl have the unsigned variants, then we have the signed ones as well
 if test "wxUSE_UNICODE" = "yes"; then
-    AC_CHECK_FUNCS(wcstoull)
+    WX_CHECK_FUNCS(wcstoull)
 else
-    AC_CHECK_FUNCS(strtoull)
+    WX_CHECK_FUNCS(strtoull)
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -2797,10 +2848,12 @@ if test "$wxUSE_EXPAT" != "no"; then
             AC_CACHE_CHECK([if expat.h is valid C++ header],
                 wx_cv_expat_is_not_broken,
                 [
+                AC_LANG_PUSH(C++)
                 AC_TRY_COMPILE([#include <expat.h>],[],
                     wx_cv_expat_is_not_broken=yes,
                     wx_cv_expat_is_not_broken=no
                 )
+                AC_LANG_POP()
                 ]
             )
             if test "$wx_cv_expat_is_not_broken" = "yes" ; then
@@ -2950,8 +3003,6 @@ if test "$wxUSE_GUI" = "yes"; then
 
     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
@@ -3115,8 +3166,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
         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
@@ -3308,6 +3357,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
 
             PKG_CHECK_MODULES(PANGOX, pangox,
                 [
+                    CFLAGS="$PANGOX_CFLAGS $CFLAGS"
                     CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
                 ],
@@ -3317,6 +3367,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             )
             PKG_CHECK_MODULES(PANGOFT2, pangoft2,
                 [
+                    CFLAGS="$PANGOFT2_CFLAGS $CFLAGS"
                     CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
                 ],
@@ -3328,6 +3379,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             PKG_CHECK_MODULES(PANGOXFT, pangoxft,
                 [
                     AC_DEFINE(HAVE_PANGO_XFT)
+                    CFLAGS="$PANGOXFT_CFLAGS $CFLAGS"
                     CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
                 ],
@@ -3335,12 +3387,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                     AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
                 ]
             )
-            save_CXXFLAGS="$CXXFLAGS"
             save_LIBS="$LIBS"
-            CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
             LIBS="$LIBS $PANGOX_LIBS"
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
-            CXXFLAGS="$save_CXXFLAGS"
             LIBS="$save_LIBS"
         fi
 
@@ -3370,8 +3419,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_CXXFLAGS=$CXXFLAGS
-            CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+            save_CFLAGS=$CFLAGS
+            CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
 
             AC_TRY_COMPILE(
                 [
@@ -3391,7 +3440,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 ]
             )
 
-            CXXFLAGS=$save_CXXFLAGS
+            CFLAGS=$save_CFLAGS
         fi
 
 
@@ -3407,8 +3456,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_CXXFLAGS=$CXXFLAGS
-            CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+            save_CFLAGS=$CFLAGS
+            CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
             save_LIBS="$LIBS"
             LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
 
@@ -3430,7 +3479,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 ]
             )
 
-            CXXFLAGS=$save_CXXFLAGS
+            CFLAGS=$save_CFLAGS
             LIBS="$save_LIBS"
         fi
 
@@ -3444,8 +3493,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_CXXFLAGS=$CXXFLAGS
-                        CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+                        save_CFLAGS=$CFLAGS
+                        CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
 
                         AC_TRY_LINK(
                             [
@@ -3468,7 +3517,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                         )
 
                         LIBS="$save_LIBS"
-                        CXXFLAGS=$save_CXXFLAGS
+                        CFLAGS=$save_CFLAGS
                     fi
                 done
             fi
@@ -3483,8 +3532,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         dnl elsewhere
         AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
 
-        save_CXXFLAGS=$CXXFLAGS
-        CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+        save_CFLAGS=$CFLAGS
+        CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
 
         AC_CACHE_CHECK([for Motif 2],
             wx_cv_lib_motif2,
@@ -3523,7 +3572,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             AC_DEFINE(__WXLESSTIF__,0)
         fi
 
-        CXXFLAGS=$save_CXXFLAGS
+        CFLAGS=$save_CFLAGS
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
         TOOLKIT=MOTIF
@@ -3544,8 +3593,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_CXXFLAGS=$CXXFLAGS
-                        CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+                        save_CFLAGS=$CFLAGS
+                        CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
 
                         AC_TRY_COMPILE(
                             [
@@ -3559,7 +3608,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                             wx_cv_x11_xpm_h=no
                         )
 
-                        CXXFLAGS=$save_CXXFLAGS
+                        CFLAGS=$save_CFLAGS
                     ]
                 )
 
@@ -3582,8 +3631,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_CXXFLAGS="$CXXFLAGS"
-            CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+            save_CFLAGS="$CFLAGS"
+            CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
 
             AC_MSG_CHECKING([for X11/extensions/shape.h])
             AC_TRY_COMPILE([
@@ -3602,7 +3651,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                            [
                             AC_MSG_RESULT([not found])
                            ])
-            CXXFLAGS="$save_CXXFLAGS"
+            CFLAGS="$save_CFLAGS"
 
         fi
     fi
@@ -3853,25 +3902,26 @@ if test "$wxUSE_OPENGL" = "yes"; then
     elif test "$wxUSE_MSW" = 1; then
         OPENGL_LIBS="-lopengl32 -lglu32"
     else
-        dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find
-        dnl GL/gl.h on Mac OS X where it is located in
-        dnl /usr/X11R6/include/GL/gl.h:
-
-        WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
+        dnl adjust CPPFLAGS to include GL/gl.h location if necessary
+        dnl (/opt/graphics/OpenGL is for HP-UX systems, bug 925307)
+        AC_MSG_CHECKING([for OpenGL headers])
+        WX_PATH_FIND_INCLUDES([$SEARCH_INCLUDE /opt/graphics/OpenGL/include], GL/gl.h)
         if test "$ac_find_includes" != "" ; then
             AC_MSG_RESULT(found in $ac_find_includes)
             WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
             CPPFLAGS="$ac_path_to_include $CPPFLAGS"
+        else
+            AC_MSG_RESULT([not found])
         fi
 
-        AC_CHECK_HEADER(GL/gl.h,
-            [
+        AC_CHECK_HEADER(GL/gl.h, [
+            AC_CHECK_HEADER(GL/glu.h, [
                 found_gl=0
 
                 AC_MSG_CHECKING([for -lGL])
-                WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
+                WX_PATH_FIND_LIBRARIES([$SEARCH_LIB /opt/graphics/OpenGL/lib],GL)
                 if test "$ac_find_libraries" != "" ; then
-                    AC_MSG_RESULT([yes])
+                    AC_MSG_RESULT([found in $ac_find_libraries])
 
                     WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
                     if test "$ac_path_to_link" != " -L/usr/lib" ; then
@@ -3913,6 +3963,7 @@ if test "$wxUSE_OPENGL" = "yes"; then
                     fi
                 fi
             ])
+        ])
 
         if test "x$OPENGL_LIBS" = "x"; then
             dnl it should be an error and not a warning because OpenGL is not on
@@ -3952,11 +4003,11 @@ fi
 if test "$wxUSE_SHARED" = "yes"; then
 
     dnl use versioned symbols if available on the platform
-    WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
+    WX_VERSIONED_SYMBOLS([\$(wx_top_builddir)/version-script])
 
     case "${host}" in
       *-*-linux* | *-*-gnu* )
-        SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+        SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib"
         WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
         ;;
 
@@ -3975,7 +4026,7 @@ if test "$wxUSE_SHARED" = "yes"; then
                 [],[],
                 [
                     AC_MSG_RESULT([yes])
-                    SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+                    SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib"
                     WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
                 ],[
                     AC_MSG_RESULT([no])
@@ -3985,7 +4036,7 @@ if test "$wxUSE_SHARED" = "yes"; then
                         [],[],
                         [
                             AC_MSG_RESULT([yes])
-                            SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
+                            SAMPLES_RPATH_FLAG="-Wl,-R,\$(wx_top_builddir)/lib"
                             WXCONFIG_RPATH="-Wl,-R,\$libdir"
                         ],[
                             AC_MSG_RESULT([no])
@@ -3993,7 +4044,7 @@ if test "$wxUSE_SHARED" = "yes"; then
                 ])
             LDFLAGS="$saveLdflags"
         else
-            SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
+            SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib"
             WXCONFIG_RPATH="-R\$libdir"
         fi
       ;;
@@ -4001,7 +4052,7 @@ if test "$wxUSE_SHARED" = "yes"; then
       *-*-darwin* )
         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) \$@"
+            SAMPLES_RPATH_POSTLINK="\$(wx_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\$'\`
@@ -4022,7 +4073,7 @@ EOF
         ;;
 
       *-*-hpux* )
-        SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
+        SAMPLES_RPATH_FLAG="-Wl,+b,\$(wx_top_builddir)/lib"
         WXCONFIG_RPATH="-Wl,+b,\$libdir"
         ;;
 
@@ -4130,7 +4181,7 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
 
     dnl add the resources target for wxMac
-    LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
+    LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}"
 
     AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
     AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
@@ -4187,6 +4238,7 @@ 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_PUSH(C++) dnl tests below use overloaded functions and so need C++
 AC_CACHE_CHECK([if size_t is unsigned int],
     wx_cv_size_t_is_uint,
     [
@@ -4233,6 +4285,8 @@ else
     fi
 fi
 
+AC_LANG_POP() dnl C++
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
 dnl ---------------------------------------------------------------------------
@@ -4315,6 +4369,8 @@ dnl stupidly, provides a dummy function declaration inside its extension)
 dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails
 dnl
 dnl so we first check if the function is in the library
+dnl
+dnl FIXME: replace this mess with WX_CHECK_FUNCS()
 AC_CHECK_FUNCS(snprintf vsnprintf)
 
 if test "$ac_cv_func_vsnprintf" = "yes"; then
@@ -4516,8 +4572,21 @@ if test "$wxUSE_UNICODE" = yes; then
         fi
     fi
 
-    dnl also look if we have wide char IO functions
-    AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
+    dnl also look if we have wide char IO functions, notice that [f]putws are
+    dnl declared in special widec.h under Solaris
+    wchar_headers="#include <stdio.h>
+#include <wchar.h>"
+    case "${host}" in
+        *-*-solaris2* )
+            AC_CHECK_HEADERS(widec.h)
+            if test "$ac_cv_header_widec_h" = "yes"; then
+                wchar_headers="$wchar_headers
+#include <widec.h>"
+            fi
+    esac
+
+    WX_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf,,,
+                   [$wchar_headers])
 
     dnl MinGW has a vswprintf with a different prototype, and
     dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
@@ -4531,18 +4600,14 @@ if test "$wxUSE_UNICODE" = yes; then
 fi
 
 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
-    AC_CHECK_FUNCS(fnmatch)
+    WX_CHECK_FUNCS(fnmatch,,,[#include <fnmatch.h>])
 fi
 
 if test "$wxUSE_FILE" = "yes"; then
-    AC_CHECK_FUNCS(fsync)
-fi
-
-AC_CHECK_FUNCS(round)
-if test "$ac_cv_func_round" = yes; then
-    AC_CHECK_DECLS(round,,,[#include <math.h>])
+    WX_CHECK_FUNCS(fsync)
 fi
 
+WX_CHECK_FUNCS(round,,,[#include <math.h>])
 
 dnl the following tests are for Unix(like) systems only
 if test "$TOOLKIT" != "MSW"; then
@@ -4564,6 +4629,8 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
       AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
       [
+        dnl C compiler happily compiles the code even if there is type mismatch
+        AC_LANG_PUSH(C++)
         AC_TRY_COMPILE([#include <signal.h>],
                      [
                         extern void testSigHandler(int);
@@ -4575,6 +4642,7 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                      ], [
                         wx_cv_type_sa_handler=void
                      ])
+        AC_LANG_POP()
       ])
 
       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
@@ -4585,6 +4653,7 @@ dnl backtrace() and backtrace_symbols() for wxStackWalker
 if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
         [
+            AC_LANG_PUSH(C++)
             AC_TRY_COMPILE([#include <execinfo.h>],
                 [
                     void *trace[1];
@@ -4596,6 +4665,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                 wx_cv_func_backtrace=yes,
                 wx_cv_func_backtrace=no
             )
+            AC_LANG_POP()
         ]
     )
 
@@ -4606,6 +4676,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     else
         AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
             [
+                AC_LANG_PUSH(C++)
                 AC_TRY_LINK([#include <cxxabi.h>],
                     [
                         int rc;
@@ -4614,6 +4685,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                     wx_cv_func_cxa_demangle=yes,
                     wx_cv_func_cxa_demangle=no
                 )
+                AC_LANG_POP()
             ]
         )
 
@@ -4660,6 +4732,7 @@ 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_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
+        AC_LANG_PUSH(C++)
         AC_TRY_COMPILE(
             [
                  #if defined(__BSD__)
@@ -4676,6 +4749,7 @@ if test "$wx_cv_func_statfs" = "yes"; then
             wx_cv_func_statfs_decl=yes,
             wx_cv_func_statfs_decl=no
         )
+        AC_LANG_POP()
     )
 
     if test "$wx_cv_func_statfs_decl" = "yes"; then
@@ -4708,6 +4782,7 @@ else
         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_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
+            AC_LANG_PUSH(C++)
             AC_TRY_COMPILE(
                 [
                     #include <sys/statvfs.h>
@@ -4739,6 +4814,7 @@ else
                     )
                 ]
             )
+            AC_LANG_POP()
         )
 
         if test "$wx_cv_type_statvfs_t" != "unknown"; then
@@ -4800,9 +4876,8 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
                     POSIX4_LINK=" -lposix4"
                 ],
                 [
-                    AC_CHECK_FUNCS(usleep,
-                        AC_DEFINE(HAVE_USLEEP),
-                        AC_MSG_WARN([wxSleep() function will not work])
+                    WX_CHECK_FUNCS(usleep,,
+                                    AC_MSG_WARN([wxSleep() function will not work])
                     )
                 ]
             )
@@ -4811,7 +4886,10 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
 fi
 
 dnl check for uname (POSIX) and gethostname (BSD)
-AC_CHECK_FUNCS(uname gethostname, break)
+WX_CHECK_FUNCS(uname,,,[#include <sys/utsname.h>])
+if test "$wx_cv_func_uname" != yes; then
+    WX_CHECK_FUNCS(gethostname)  
+fi
 
 WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
 
@@ -4900,14 +4978,14 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
     dnl the code below:
     dnl
-    dnl   defines THREADS_LINK and THREADS_CXXFLAGS which are the options
+    dnl   defines THREADS_LINK and THREADS_CFLAGS 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_CXXFLAGS=
+    THREADS_CFLAGS=
 
     if test "$wxUSE_THREADS" = "yes" ; then
         if test "$USE_BEOS" = 1; then
@@ -4998,7 +5076,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
                 -*)
                     AC_MSG_CHECKING([whether pthreads work with $flag])
-                    THREADS_CXXFLAGS="$flag"
+                    THREADS_CFLAGS="$flag"
                     ;;
 
                 *)
@@ -5008,16 +5086,16 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
               esac
 
               save_LIBS="$LIBS"
-              save_CXXFLAGS="$CXXFLAGS"
+              save_CFLAGS="$CFLAGS"
               LIBS="$THREADS_LINK $LIBS"
-              CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
+              CFLAGS="$THREADS_CFLAGS $CFLAGS"
 
               AC_TRY_LINK([#include <pthread.h>],
                           [pthread_create(0,0,0,0);],
                           THREADS_OK=yes)
 
               LIBS="$save_LIBS"
-              CXXFLAGS="$save_CXXFLAGS"
+              CFLAGS="$save_CFLAGS"
 
               AC_MSG_RESULT($THREADS_OK)
               if test "x$THREADS_OK" = "xyes"; then
@@ -5025,7 +5103,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
               fi
 
               THREADS_LINK=""
-              THREADS_CXXFLAGS=""
+              THREADS_CFLAGS=""
       done
 
       if test "x$THREADS_OK" != "xyes"; then
@@ -5034,7 +5112,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_CXXFLAGS $LDFLAGS"
+          LDFLAGS="$THREADS_CFLAGS $LDFLAGS"
           LIBS="$THREADS_LINK $LIBS"
 
           AC_MSG_CHECKING([if more special flags are required for pthreads])
@@ -5066,11 +5144,11 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
           esac
           AC_MSG_RESULT(${flag})
           if test "x$flag" != xno; then
-              THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag"
+              THREADS_CFLAGS="$THREADS_CFLAGS $flag"
           fi
 
           dnl don't add these options to CPPFLAGS as cpp might not know them
-          WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
+          WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS $THREADS_CFLAGS"
       fi
     fi
 
@@ -5221,8 +5299,8 @@ else
             AC_CACHE_CHECK([if compiler supports -mthreads],
                 wx_cv_cflags_mthread,
                 [
-                    CXXFLAGS_OLD="$CXXFLAGS"
-                    CXXFLAGS="-mthreads $CXXFLAGS"
+                    CFLAGS_OLD="$CFLAGS"
+                    CFLAGS="-mthreads $CFLAGS"
                     AC_TRY_COMPILE([], [],
                         wx_cv_cflags_mthread=yes,
                         wx_cv_cflags_mthread=no
@@ -5232,16 +5310,15 @@ else
 
             if test "$wx_cv_cflags_mthread" = "yes"; then
                 dnl it does, use it
-                WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
+                WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mthreads"
                 LDFLAGS="$LDFLAGS -mthreads"
             else
                 dnl it doesn't
-                CXXFLAGS="$CXXFLAGS_OLD"
+                CFLAGS="$CFLAGS_OLD"
             fi
         ;;
         *-pc-os2*emx )
             WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__"
-            WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
             LDFLAGS="$LDFLAGS -Zmt"
         ;;
       esac
@@ -5630,6 +5707,7 @@ if test "$wxUSE_SOUND" = "yes"; then
       AM_PATH_SDL([1.2.0],
                   [
                     EXTRALIBS_SDL="$SDL_LIBS"
+                    CFLAGS="$SDL_CFLAGS $CFLAGS"
                     CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
                     AC_DEFINE(wxUSE_LIBSDL)
                   ],
@@ -5638,8 +5716,16 @@ if test "$wxUSE_SOUND" = "yes"; then
         WITH_PLUGIN_SDL=1
       fi
     fi
+  else
+    dnl wxMGL doesn't support sound under DOS, only under Unix
+    if test "$wxUSE_MGL" = 1; then
+        AC_MSG_WARN([wxSound not supported in MGL under DOS... disabled])
+        wxUSE_SOUND="no"
+    fi
   fi
+fi
 
+if test "$wxUSE_SOUND" = "yes"; then
   AC_DEFINE(wxUSE_SOUND)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
 fi
@@ -5653,6 +5739,7 @@ if test "$WXGTK20" = 1; then
                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
+                        CFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CFLAGS"
                         CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
                     ],
@@ -5670,6 +5757,7 @@ if test "$WXGTK20" = 1; then
                 PKG_CHECK_MODULES(GNOMEVFS,
                                   [gnome-vfs-2.0 >= 2.0],
                     [
+                        CFLAGS="$GNOMEVFS_CFLAGS $CFLAGS"
                         CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEVFS)
                     ],
@@ -5686,6 +5774,7 @@ if test "$WXGTK20" = 1; then
                           [hildon-lgpl >= 0.9],
             [
                 EXTRALIBS_HILDON="$HILDON_LIBS"
+                CFLAGS="$CFLAGS $HILDON_CFLAGS"
                 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
                 AC_DEFINE(wxUSE_LIBHILDON)
             ],
@@ -5888,10 +5977,12 @@ dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_DATETIME" = "yes"; then
     dnl check for strptime and for its declaration as some systems lack it
+    dnl FIXME: use WX_CHECK_FUNCS instead
     AC_CHECK_FUNCS(strptime)
     if test "$ac_cv_func_strptime" = "yes"; then
         AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
             [
+                AC_LANG_PUSH(C++)
                 AC_TRY_COMPILE(
                     [
                         #include <time.h>
@@ -5903,6 +5994,7 @@ if test "$wxUSE_DATETIME" = "yes"; then
                     wx_cv_func_strptime_decl=yes,
                     wx_cv_func_strptime_decl=no
                 )
+                AC_LANG_POP()
             ]
         )
     fi
@@ -6084,6 +6176,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         AC_CACHE_CHECK([what is the type of the third argument of getsockname],
                        wx_cv_type_getsockname3,
             [
+                AC_LANG_PUSH(C++)
                 AC_TRY_COMPILE(
                     [
                         #include <sys/types.h>
@@ -6101,9 +6194,9 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                         dnl converting between incompatible pointer types, so
                         dnl try to use it to get the correct behaviour at
                         dnl least with gcc (otherwise we'd always use size_t)
-                        CXXFLAGS_OLD="$CXXFLAGS"
+                        CFLAGS_OLD="$CFLAGS"
                         if test "$GCC" = yes ; then
-                            CXXFLAGS="-Werror $CXXFLAGS"
+                            CFLAGS="-Werror $CFLAGS"
                         fi
 
                         AC_TRY_COMPILE(
@@ -6130,9 +6223,10 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                             )
                         )
 
-                        CXXFLAGS="$CXXFLAGS_OLD"
+                        CFLAGS="$CFLAGS_OLD"
                     ]
                 )
+                AC_LANG_POP()
             ])
 
         if test "$wx_cv_type_getsockname3" = "unknown"; then
@@ -6162,9 +6256,9 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                         dnl converting between incompatible pointer types, so
                         dnl try to use it to get the correct behaviour at
                         dnl least with gcc (otherwise we'd always use size_t)
-                        CXXFLAGS_OLD="$CXXFLAGS"
+                        CFLAGS_OLD="$CFLAGS"
                         if test "$GCC" = yes ; then
-                            CXXFLAGS="-Werror $CXXFLAGS"
+                            CFLAGS="-Werror $CFLAGS"
                         fi
 
                         AC_TRY_COMPILE(
@@ -6191,7 +6285,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                             )
                         )
 
-                        CXXFLAGS="$CXXFLAGS_OLD"
+                        CFLAGS="$CFLAGS_OLD"
                     ]
                 )
             ])
@@ -6270,18 +6364,23 @@ 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
 
     dnl joystick support is only for Linux 2.1.x or greater
     else
-        AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+        dnl wxJoystick not supported by wxMGL at all
+        if test "$wxUSE_MGL" != "1"; then
+            AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+        fi
     fi
 
     if test "$wxUSE_JOYSTICK" = "yes"; then
@@ -6872,8 +6971,8 @@ if test "$wxUSE_POPUPWIN" = "yes"; then
 fi
 
 if test "$wxUSE_DIALUP_MANAGER" = "yes"; then
-    if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
-        AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled])
+    if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 -o "$wxUSE_MGL" = 1; then
+        AC_MSG_WARN([Dialup manager not supported on this platform... disabled])
     else
         AC_DEFINE(wxUSE_DIALUP_MANAGER)
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
@@ -7293,9 +7392,6 @@ dnl ---------------------------------------------------------------------------
 dnl Output the makefiles and such from the results found above
 dnl ---------------------------------------------------------------------------
 
-dnl no more tests from here
-AC_LANG_POP
-
 dnl all additional libraries (except wxWidgets itself) we link with
 
 if test "$wxUSE_MAC" = 1 ; then
@@ -7404,7 +7500,7 @@ 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 \
- -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
+ -I\\${wx_top_builddir}/lib/wx/include/${TOOLCHAIN_FULLNAME} \
  -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
  $CPPFLAGS `
 
@@ -7869,7 +7965,10 @@ AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace.
                 [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
                 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
 
-AC_CONFIG_FILES([ version-script Makefile ])
+if test "$wx_cv_version_script" = "yes"; then
+    AC_CONFIG_FILES(version-script)
+fi
+AC_CONFIG_FILES(Makefile)
 
 AC_CONFIG_COMMANDS([wx-config],
                    [ rm -f wx-config
@@ -7897,6 +7996,10 @@ fi
 dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
 AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
 
+if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then
+    DISABLED_CONTRIB="$DISABLED_CONTRIB net"
+fi
+
 for subdir in `echo $SUBDIRS`; do
     if test -d ${srcdir}/${subdir} ; then
         if test "$wxUSE_GUI" = "yes"; then