]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Add entry for 2.8.0.1
[wxWidgets.git] / configure.in
index 18d624fbd95e0b5424a2ad1fb6400a748f16479c..70b23acd60ce67f172ba76d286e8c541874e1736 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.7.1], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.8.0], [wx-dev@lists.wxwidgets.org])
 
 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
 AC_CONFIG_SRCDIR([wx-config.in])
 
 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
 AC_CONFIG_SRCDIR([wx-config.in])
@@ -33,9 +33,9 @@ dnl
 dnl wx_release_number += 1
 
 wx_major_version_number=2
 dnl wx_release_number += 1
 
 wx_major_version_number=2
-wx_minor_version_number=7
-wx_release_number=2
-wx_subrelease_number=0
+wx_minor_version_number=8
+wx_release_number=0
+wx_subrelease_number=1
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -378,6 +378,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_OPTIMISE=no
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_OPTIMISE=no
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
+  DEFAULT_wxUSE_VARARG_MACROS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
   DEFAULT_wxUSE_UNIVERSAL_BINARY=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
   DEFAULT_wxUSE_UNIVERSAL_BINARY=no
@@ -551,6 +552,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
   DEFAULT_wxUSE_SCROLLBAR=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
   DEFAULT_wxUSE_SCROLLBAR=no
+  DEFAULT_wxUSE_SEARCHCTRL=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
   DEFAULT_wxUSE_SPINCTRL=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
   DEFAULT_wxUSE_SPINCTRL=no
@@ -601,6 +603,7 @@ else
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
+  DEFAULT_wxUSE_VARARG_MACROS=yes
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
   DEFAULT_wxUSE_UNIVERSAL_BINARY=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
   DEFAULT_wxUSE_UNIVERSAL_BINARY=no
@@ -632,7 +635,7 @@ else
   DEFAULT_wxUSE_LIBXPM=yes
   DEFAULT_wxUSE_LIBMSPACK=yes
   DEFAULT_wxUSE_LIBSDL=no
   DEFAULT_wxUSE_LIBXPM=yes
   DEFAULT_wxUSE_LIBMSPACK=yes
   DEFAULT_wxUSE_LIBSDL=no
-  DEFAULT_wxUSE_LIBGNOMEPRINT=no
+  DEFAULT_wxUSE_LIBGNOMEPRINT=yes
   DEFAULT_wxUSE_LIBGNOMEVFS=no
   DEFAULT_wxUSE_LIBHILDON=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_LIBGNOMEVFS=no
   DEFAULT_wxUSE_LIBHILDON=no
   DEFAULT_wxUSE_ODBC=no
@@ -773,6 +776,7 @@ else
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
   DEFAULT_wxUSE_SCROLLBAR=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
   DEFAULT_wxUSE_SCROLLBAR=yes
+  DEFAULT_wxUSE_SEARCHCTRL=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
   DEFAULT_wxUSE_SPINCTRL=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
   DEFAULT_wxUSE_SPINCTRL=yes
@@ -930,6 +934,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(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(vararg_macros, [  --disable-vararg_macros don't use vararg macros, even if they are supported], wxUSE_VARARG_MACROS)
 WX_ARG_ENABLE_PARAM(universal_binary, [[  --enable-universal_binary[=SDK] 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_PARAM(universal_binary, [[  --enable-universal_binary[=SDK] 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)
@@ -1104,6 +1109,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
   DEFAULT_wxUSE_SCROLLBAR=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
   DEFAULT_wxUSE_SCROLLBAR=yes
+  DEFAULT_wxUSE_SEARCHCTRL=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
   DEFAULT_wxUSE_SPINCTRL=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
   DEFAULT_wxUSE_SPINCTRL=yes
@@ -1156,6 +1162,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
   DEFAULT_wxUSE_SCROLLBAR=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
   DEFAULT_wxUSE_SCROLLBAR=no
+  DEFAULT_wxUSE_SEARCHCTRL=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
   DEFAULT_wxUSE_SPINCTRL=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
   DEFAULT_wxUSE_SPINCTRL=no
@@ -1199,7 +1206,7 @@ WX_ARG_ENABLE(filepicker,  [  --enable-filepicker     use wxFilePickerCtrl class
 WX_ARG_ENABLE(fontpicker,  [  --enable-fontpicker     use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
 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(fontpicker,  [  --enable-fontpicker     use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
 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(dataviewctrl,[  --enable-dataviewctrl   use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
 WX_ARG_ENABLE(hyperlink,   [  --enable-hyperlink      use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL)
 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(hyperlink,   [  --enable-hyperlink      use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL)
 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
 WX_ARG_ENABLE(listbook,    [  --enable-listbook       use wxListbook class], wxUSE_LISTBOOK)
@@ -1211,6 +1218,7 @@ WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxU
 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
+WX_ARG_ENABLE(searchctrl,  [  --enable-searchctrl     use wxSearchCtrl class], wxUSE_SEARCHCTRL)
 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
 WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
 WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
@@ -1323,6 +1331,8 @@ if test "$wxUSE_WINE" = "yes"; then
     DEFAULT_DEFAULT_wxUSE_MOTIF=0
     DEFAULT_DEFAULT_wxUSE_MSW=1
     wxUSE_SHARED=no
     DEFAULT_DEFAULT_wxUSE_MOTIF=0
     DEFAULT_DEFAULT_wxUSE_MSW=1
     wxUSE_SHARED=no
+    CC=${CC:-winegcc}
+    CXX=${CXX:-wineg++}
 fi
 
 
 fi
 
 
@@ -1460,9 +1470,13 @@ AC_PROG_RANLIB
 
 dnl ar command
 dnl   defines AR with the appropriate command
 
 dnl ar command
 dnl   defines AR with the appropriate command
-AC_CHECK_TOOL(AR, ar)
-if test "x$AR" = "x" ; then
-    AC_MSG_ERROR([ar is needed to build wxWidgets])
+dnl 
+dnl For Sun CC AC_BAKEFILE below sets AR to the compiler itself.
+if test "x$SUNCXX" != xyes; then
+    AC_CHECK_TOOL(AR, ar)
+    if test "x$AR" = "x" ; then
+        AC_MSG_ERROR([ar is needed to build wxWidgets])
+    fi
 fi
 
 dnl install checks
 fi
 
 dnl install checks
@@ -1519,7 +1533,7 @@ dnl does make support "-include" (only GNU make does AFAIK)?
 AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
 [
     if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
 AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
 [
     if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
-            egrep -s GNU > /dev/null); then
+            $EGREP -s GNU > /dev/null); then
         wx_cv_prog_makeisgnu="yes"
     else
         wx_cv_prog_makeisgnu="no"
         wx_cv_prog_makeisgnu="yes"
     else
         wx_cv_prog_makeisgnu="no"
@@ -1670,9 +1684,6 @@ esac
 
 if test "$wxUSE_WINE" = "yes"; then
     wants_win32=1
 
 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
 
     LDFLAGS_GUI="-mwindows"
 fi
 
@@ -1969,11 +1980,19 @@ else
     fi
 fi
 
     fi
 fi
 
+dnl don't check for vararg macros if they're explicitly disabled: this is
+dnl useful if the user code using the library wants to limit itself to standard
+dnl C++ only (e.g. is compiled with g++ -std=c++98)
+if test "$wxUSE_VARARG_MACROS" = "yes"; then
+
 dnl Check if variadic macros (C99 feature) are supported:
 AC_CACHE_CHECK(
     [whether the compiler supports variadic macros],
     [wx_cv_have_variadic_macros],
     [
 dnl Check if variadic macros (C99 feature) are supported:
 AC_CACHE_CHECK(
     [whether the compiler supports variadic macros],
     [wx_cv_have_variadic_macros],
     [
+        dnl C compiler might support variadic macros when C++ one doesn't
+        dnl (happens with gcc/g++ 2.95.4), so must use C++ one explicitly
+        AC_LANG_PUSH(C++)
         AC_COMPILE_IFELSE(
             AC_LANG_PROGRAM(
                 [
         AC_COMPILE_IFELSE(
             AC_LANG_PROGRAM(
                 [
@@ -1987,6 +2006,7 @@ AC_CACHE_CHECK(
             [wx_cv_have_variadic_macros=yes],
             [wx_cv_have_variadic_macros=no]
             )
             [wx_cv_have_variadic_macros=yes],
             [wx_cv_have_variadic_macros=no]
             )
+        AC_LANG_POP()
     ]
 )
 
     ]
 )
 
@@ -1994,6 +2014,8 @@ if test $wx_cv_have_variadic_macros = "yes"; then
     AC_DEFINE(HAVE_VARIADIC_MACROS)
 fi
 
     AC_DEFINE(HAVE_VARIADIC_MACROS)
 fi
 
+fi dnl wxUSE_VARARG_MACROS == yes
+
 dnl check for large file support
 AC_SYS_LARGEFILE
 
 dnl check for large file support
 AC_SYS_LARGEFILE
 
@@ -2017,6 +2039,7 @@ if test "x$wx_largefile" = "xyes"; then
                 [if -D__STDC_EXT__ is required],
                 wx_cv_STDC_EXT_required,
                 [
                 [if -D__STDC_EXT__ is required],
                 wx_cv_STDC_EXT_required,
                 [
+                    AC_LANG_PUSH(C++)
                     AC_TRY_COMPILE(
                         [],
                         [
                     AC_TRY_COMPILE(
                         [],
                         [
@@ -2027,6 +2050,7 @@ if test "x$wx_largefile" = "xyes"; then
                         wx_cv_STDC_EXT_required=no,
                         wx_cv_STDC_EXT_required=yes
                     )
                         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
                 ]
             )
             if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
@@ -2116,6 +2140,10 @@ if test "x$COMPAQCXX" = "xyes"; then
     CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
 fi
 
     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
 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 +2154,60 @@ if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
         char_type="char"
     fi
 
         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
 fi
 
 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
@@ -2180,61 +2226,88 @@ fi
 
 if test "$wxUSE_STL" = "yes"; then
     dnl check for basic STL functionality
 
 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
 
     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],
 
     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_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
 
 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
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -2724,6 +2797,30 @@ if test "$wxUSE_LIBJPEG" != "no" ; then
             else
                 dnl we are using the system library
                 wxUSE_LIBJPEG=sys
             else
                 dnl we are using the system library
                 wxUSE_LIBJPEG=sys
+
+                if test "$wxUSE_MSW" = 1; then
+                    dnl boolean is defined by the jpeg headers and also by the
+                    dnl Windows headers of some compilers. This type has been
+                    dnl renamed in the builtin, so it is only an issue when
+                    dnl using an external jpeg lib on Windows.
+                    AC_CHECK_TYPES(
+                        [boolean],
+                        [
+                            AC_CHECK_SIZEOF(
+                                [boolean],
+                                [],
+                                [
+                                    #undef HAVE_BOOLEAN
+                                    #include <stdio.h>
+                                    #include <jpeglib.h>
+                                ])
+                            AC_DEFINE_UNQUOTED(
+                                [wxHACK_BOOLEAN],
+                                [wxInt`expr 8 \* $ac_cv_sizeof_boolean`])
+                        ],
+                        [],
+                        [#include <windows.h>])
+                fi
             fi
         fi
     fi
             fi
         fi
     fi
@@ -2797,10 +2894,12 @@ if test "$wxUSE_EXPAT" != "no"; then
             AC_CACHE_CHECK([if expat.h is valid C++ header],
                 wx_cv_expat_is_not_broken,
                 [
             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_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
                 ]
             )
             if test "$wx_cv_expat_is_not_broken" = "yes" ; then
@@ -2902,12 +3001,6 @@ if test "$USE_WIN32" = 1 ; then
     dnl install Win32-specific files in "make install"
     WIN32INSTALL=win32install
 
     dnl install Win32-specific files in "make install"
     WIN32INSTALL=win32install
 
-    dnl the jpeg header jmorecfg.h delcares the type boolean, which conflicts
-    dnl on systems which declare it in the system headers. If HAVE_BOOLEAN is
-    dnl defined then jmorecfg.h doesn't declare it, so checking for it here
-    dnl solves the problem.
-    AC_CHECK_TYPES(boolean, [], [], [#include <windows.h>])
-
     dnl pbt.h is missing on Wine at least
     AC_CHECK_HEADERS(pbt.h, [], [AC_DEFINE(NEED_PBT_H)])
 fi
     dnl pbt.h is missing on Wine at least
     AC_CHECK_HEADERS(pbt.h, [], [AC_DEFINE(NEED_PBT_H)])
 fi
@@ -3225,7 +3318,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
        PKG_PROG_PKG_CONFIG()
 
        PKG_CHECK_MODULES(DIRECTFB,
        PKG_PROG_PKG_CONFIG()
 
        PKG_CHECK_MODULES(DIRECTFB,
-                         [directfb >= 0.9.22],
+                         [directfb >= 0.9.23],
                          [
                            wxUSE_UNIVERSAL="yes"
                            TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS"
                          [
                            wxUSE_UNIVERSAL="yes"
                            TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS"
@@ -3304,6 +3397,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
 
             PKG_CHECK_MODULES(PANGOX, pangox,
                 [
 
             PKG_CHECK_MODULES(PANGOX, pangox,
                 [
+                    CFLAGS="$PANGOX_CFLAGS $CFLAGS"
                     CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
                 ],
                     CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
                 ],
@@ -3313,6 +3407,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             )
             PKG_CHECK_MODULES(PANGOFT2, pangoft2,
                 [
             )
             PKG_CHECK_MODULES(PANGOFT2, pangoft2,
                 [
+                    CFLAGS="$PANGOFT2_CFLAGS $CFLAGS"
                     CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
                 ],
                     CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
                 ],
@@ -3324,6 +3419,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             PKG_CHECK_MODULES(PANGOXFT, pangoxft,
                 [
                     AC_DEFINE(HAVE_PANGO_XFT)
             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"
                 ],
                     CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
                 ],
@@ -3331,12 +3427,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])
                 ]
             )
                     AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
                 ]
             )
-            save_CXXFLAGS="$CXXFLAGS"
             save_LIBS="$LIBS"
             save_LIBS="$LIBS"
-            CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
             LIBS="$LIBS $PANGOX_LIBS"
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
             LIBS="$LIBS $PANGOX_LIBS"
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
-            CXXFLAGS="$save_CXXFLAGS"
             LIBS="$save_LIBS"
         fi
 
             LIBS="$save_LIBS"
         fi
 
@@ -3366,8 +3459,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
             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(
                 [
 
             AC_TRY_COMPILE(
                 [
@@ -3387,7 +3480,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 ]
             )
 
                 ]
             )
 
-            CXXFLAGS=$save_CXXFLAGS
+            CFLAGS=$save_CFLAGS
         fi
 
 
         fi
 
 
@@ -3403,8 +3496,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
             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"
 
             save_LIBS="$LIBS"
             LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
 
@@ -3426,7 +3519,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 ]
             )
 
                 ]
             )
 
-            CXXFLAGS=$save_CXXFLAGS
+            CFLAGS=$save_CFLAGS
             LIBS="$save_LIBS"
         fi
 
             LIBS="$save_LIBS"
         fi
 
@@ -3440,8 +3533,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"
                     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(
                             [
 
                         AC_TRY_LINK(
                             [
@@ -3464,7 +3557,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                         )
 
                         LIBS="$save_LIBS"
                         )
 
                         LIBS="$save_LIBS"
-                        CXXFLAGS=$save_CXXFLAGS
+                        CFLAGS=$save_CFLAGS
                     fi
                 done
             fi
                     fi
                 done
             fi
@@ -3479,8 +3572,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         dnl elsewhere
         AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
 
         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,
 
         AC_CACHE_CHECK([for Motif 2],
             wx_cv_lib_motif2,
@@ -3519,7 +3612,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             AC_DEFINE(__WXLESSTIF__,0)
         fi
 
             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
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
         TOOLKIT=MOTIF
@@ -3540,8 +3633,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,
                     [
                 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(
                             [
 
                         AC_TRY_COMPILE(
                             [
@@ -3555,7 +3648,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                             wx_cv_x11_xpm_h=no
                         )
 
                             wx_cv_x11_xpm_h=no
                         )
 
-                        CXXFLAGS=$save_CXXFLAGS
+                        CFLAGS=$save_CFLAGS
                     ]
                 )
 
                     ]
                 )
 
@@ -3578,8 +3671,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                      [], [$GUI_TK_LIBRARY -lX11])
 
         if test "$wxHAVE_XEXT_LIB" = 1; then
                      [], [$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([
 
             AC_MSG_CHECKING([for X11/extensions/shape.h])
             AC_TRY_COMPILE([
@@ -3598,7 +3691,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                            [
                             AC_MSG_RESULT([not found])
                            ])
                            [
                             AC_MSG_RESULT([not found])
                            ])
-            CXXFLAGS="$save_CXXFLAGS"
+            CFLAGS="$save_CFLAGS"
 
         fi
     fi
 
         fi
     fi
@@ -3844,7 +3937,10 @@ dnl ---------------------------------------------------------------------------
 
 USE_OPENGL=0
 if test "$wxUSE_OPENGL" = "yes"; then
 
 USE_OPENGL=0
 if test "$wxUSE_OPENGL" = "yes"; then
-    if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
+    if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = "1"; then
+        AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.])
+        wxUSE_OPENGL="no"
+    elif test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
         OPENGL_LIBS="-framework OpenGL -framework AGL"
     elif test "$wxUSE_MSW" = 1; then
         OPENGL_LIBS="-lopengl32 -lglu32"
         OPENGL_LIBS="-framework OpenGL -framework AGL"
     elif test "$wxUSE_MSW" = 1; then
         OPENGL_LIBS="-lopengl32 -lglu32"
@@ -4185,6 +4281,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
 
 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,
     [
 AC_CACHE_CHECK([if size_t is unsigned int],
     wx_cv_size_t_is_uint,
     [
@@ -4231,6 +4328,8 @@ else
     fi
 fi
 
     fi
 fi
 
+AC_LANG_POP() dnl C++
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Checks for structures
 dnl ---------------------------------------------------------------------------
@@ -4544,7 +4643,7 @@ if test "$wxUSE_UNICODE" = yes; then
 fi
 
 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
 fi
 
 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
-    WX_CHECK_FUNCS(fnmatch)
+    WX_CHECK_FUNCS(fnmatch,,,[#include <fnmatch.h>])
 fi
 
 if test "$wxUSE_FILE" = "yes"; then
 fi
 
 if test "$wxUSE_FILE" = "yes"; then
@@ -4573,6 +4672,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,
       [
     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);
         AC_TRY_COMPILE([#include <signal.h>],
                      [
                         extern void testSigHandler(int);
@@ -4584,6 +4685,7 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                      ], [
                         wx_cv_type_sa_handler=void
                      ])
                      ], [
                         wx_cv_type_sa_handler=void
                      ])
+        AC_LANG_POP()
       ])
 
       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
       ])
 
       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
@@ -4594,6 +4696,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,
         [
 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];
             AC_TRY_COMPILE([#include <execinfo.h>],
                 [
                     void *trace[1];
@@ -4605,6 +4708,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                 wx_cv_func_backtrace=yes,
                 wx_cv_func_backtrace=no
             )
                 wx_cv_func_backtrace=yes,
                 wx_cv_func_backtrace=no
             )
+            AC_LANG_POP()
         ]
     )
 
         ]
     )
 
@@ -4615,6 +4719,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,
             [
     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;
                 AC_TRY_LINK([#include <cxxabi.h>],
                     [
                         int rc;
@@ -4623,6 +4728,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
                     wx_cv_func_cxa_demangle=yes,
                     wx_cv_func_cxa_demangle=no
                 )
                     wx_cv_func_cxa_demangle=yes,
                     wx_cv_func_cxa_demangle=no
                 )
+                AC_LANG_POP()
             ]
         )
 
             ]
         )
 
@@ -4669,6 +4775,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,
 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__)
         AC_TRY_COMPILE(
             [
                  #if defined(__BSD__)
@@ -4685,6 +4792,7 @@ if test "$wx_cv_func_statfs" = "yes"; then
             wx_cv_func_statfs_decl=yes,
             wx_cv_func_statfs_decl=no
         )
             wx_cv_func_statfs_decl=yes,
             wx_cv_func_statfs_decl=no
         )
+        AC_LANG_POP()
     )
 
     if test "$wx_cv_func_statfs_decl" = "yes"; then
     )
 
     if test "$wx_cv_func_statfs_decl" = "yes"; then
@@ -4717,6 +4825,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,
         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>
             AC_TRY_COMPILE(
                 [
                     #include <sys/statvfs.h>
@@ -4748,6 +4857,7 @@ else
                     )
                 ]
             )
                     )
                 ]
             )
+            AC_LANG_POP()
         )
 
         if test "$wx_cv_type_statvfs_t" != "unknown"; then
         )
 
         if test "$wx_cv_type_statvfs_t" != "unknown"; then
@@ -4819,7 +4929,10 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
 fi
 
 dnl check for uname (POSIX) and gethostname (BSD)
 fi
 
 dnl check for uname (POSIX) and gethostname (BSD)
-WX_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])
 
 
 WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
 
@@ -4908,14 +5021,14 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
     dnl the code below:
     dnl
 
     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=
     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
 
     if test "$wxUSE_THREADS" = "yes" ; then
         if test "$USE_BEOS" = 1; then
@@ -5006,7 +5119,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
                 -*)
                     AC_MSG_CHECKING([whether pthreads work with $flag])
 
                 -*)
                     AC_MSG_CHECKING([whether pthreads work with $flag])
-                    THREADS_CXXFLAGS="$flag"
+                    THREADS_CFLAGS="$flag"
                     ;;
 
                 *)
                     ;;
 
                 *)
@@ -5016,16 +5129,16 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
               esac
 
               save_LIBS="$LIBS"
               esac
 
               save_LIBS="$LIBS"
-              save_CXXFLAGS="$CXXFLAGS"
+              save_CFLAGS="$CFLAGS"
               LIBS="$THREADS_LINK $LIBS"
               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"
 
               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
 
               AC_MSG_RESULT($THREADS_OK)
               if test "x$THREADS_OK" = "xyes"; then
@@ -5033,7 +5146,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
               fi
 
               THREADS_LINK=""
               fi
 
               THREADS_LINK=""
-              THREADS_CXXFLAGS=""
+              THREADS_CFLAGS=""
       done
 
       if test "x$THREADS_OK" != "xyes"; then
       done
 
       if test "x$THREADS_OK" != "xyes"; then
@@ -5042,7 +5155,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
       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])
           LIBS="$THREADS_LINK $LIBS"
 
           AC_MSG_CHECKING([if more special flags are required for pthreads])
@@ -5074,11 +5187,11 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
           esac
           AC_MSG_RESULT(${flag})
           if test "x$flag" != xno; 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
           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
 
       fi
     fi
 
@@ -5229,8 +5342,8 @@ else
             AC_CACHE_CHECK([if compiler supports -mthreads],
                 wx_cv_cflags_mthread,
                 [
             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
                     AC_TRY_COMPILE([], [],
                         wx_cv_cflags_mthread=yes,
                         wx_cv_cflags_mthread=no
@@ -5240,16 +5353,15 @@ else
 
             if test "$wx_cv_cflags_mthread" = "yes"; then
                 dnl it does, use it
 
             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
                 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__"
             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
             LDFLAGS="$LDFLAGS -Zmt"
         ;;
       esac
@@ -5593,37 +5705,40 @@ fi
 dnl Unix implementation needs additional checks because audio support
 dnl comes in many favours:
 if test "$USE_UNIX" = "1" ; then
 dnl Unix implementation needs additional checks because audio support
 dnl comes in many favours:
 if test "$USE_UNIX" = "1" ; then
-    dnl it's not enough to check for just the header because OSS under NetBSD
-    dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
-    dnl whether we need -lossaudio at link-time
-    AC_CACHE_CHECK([for SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [
-        AC_TRY_LINK([
-                #include <sys/ioctl.h>
-                #include <sys/soundcard.h>
-            ],
-            [
-                ioctl(0, SNDCTL_DSP_SPEED, 0);
-            ],
-            ac_cv_header_sys_soundcard=yes,
-            [
-                saveLibs="$LIBS"
-                LIBS="$saveLibs -lossaudio"
-                AC_TRY_LINK([
-                        #include <sys/ioctl.h>
-                        #include <sys/soundcard.h>
-                    ],
-                    [
-                        ioctl(0, SNDCTL_DSP_SPEED, 0);
-                    ],
-                    ac_cv_header_sys_soundcard=yes,
-                    [
-                        LIBS="$saveLibs"
-                        ac_cv_header_sys_soundcard=no
-                    ]
-                )
-            ]
-        )
-    ])
+    dnl mmedia doesn't compile with wxMGL, remove this if this is ever fixed
+    if test "$wxUSE_MGL" != 1; then
+        dnl it's not enough to check for just the header because OSS under NetBSD
+        dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
+        dnl whether we need -lossaudio at link-time
+        AC_CACHE_CHECK([for SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [
+            AC_TRY_LINK([
+                    #include <sys/ioctl.h>
+                    #include <sys/soundcard.h>
+                ],
+                [
+                    ioctl(0, SNDCTL_DSP_SPEED, 0);
+                ],
+                ac_cv_header_sys_soundcard=yes,
+                [
+                    saveLibs="$LIBS"
+                    LIBS="$saveLibs -lossaudio"
+                    AC_TRY_LINK([
+                            #include <sys/ioctl.h>
+                            #include <sys/soundcard.h>
+                        ],
+                        [
+                            ioctl(0, SNDCTL_DSP_SPEED, 0);
+                        ],
+                        ac_cv_header_sys_soundcard=yes,
+                        [
+                            LIBS="$saveLibs"
+                            ac_cv_header_sys_soundcard=no
+                        ]
+                    )
+                ]
+            )
+        ])
+    fi
 
     if test "$ac_cv_header_sys_soundcard" = "yes"; then
         AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
 
     if test "$ac_cv_header_sys_soundcard" = "yes"; then
         AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
@@ -5631,6 +5746,7 @@ if test "$USE_UNIX" = "1" ; then
         DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
     fi
 fi
         DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
     fi
 fi
+
 WITH_PLUGIN_SDL=0
 if test "$wxUSE_SOUND" = "yes"; then
   if test "$USE_UNIX" = "1" ; then
 WITH_PLUGIN_SDL=0
 if test "$wxUSE_SOUND" = "yes"; then
   if test "$USE_UNIX" = "1" ; then
@@ -5638,6 +5754,7 @@ if test "$wxUSE_SOUND" = "yes"; then
       AM_PATH_SDL([1.2.0],
                   [
                     EXTRALIBS_SDL="$SDL_LIBS"
       AM_PATH_SDL([1.2.0],
                   [
                     EXTRALIBS_SDL="$SDL_LIBS"
+                    CFLAGS="$SDL_CFLAGS $CFLAGS"
                     CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
                     AC_DEFINE(wxUSE_LIBSDL)
                   ],
                     CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
                     AC_DEFINE(wxUSE_LIBSDL)
                   ],
@@ -5669,6 +5786,7 @@ if test "$WXGTK20" = 1; then
                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
+                        CFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CFLAGS"
                         CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
                     ],
                         CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
                     ],
@@ -5686,6 +5804,7 @@ if test "$WXGTK20" = 1; then
                 PKG_CHECK_MODULES(GNOMEVFS,
                                   [gnome-vfs-2.0 >= 2.0],
                     [
                 PKG_CHECK_MODULES(GNOMEVFS,
                                   [gnome-vfs-2.0 >= 2.0],
                     [
+                        CFLAGS="$GNOMEVFS_CFLAGS $CFLAGS"
                         CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEVFS)
                     ],
                         CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEVFS)
                     ],
@@ -5702,6 +5821,7 @@ if test "$WXGTK20" = 1; then
                           [hildon-lgpl >= 0.9],
             [
                 EXTRALIBS_HILDON="$HILDON_LIBS"
                           [hildon-lgpl >= 0.9],
             [
                 EXTRALIBS_HILDON="$HILDON_LIBS"
+                CFLAGS="$CFLAGS $HILDON_CFLAGS"
                 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
                 AC_DEFINE(wxUSE_LIBHILDON)
             ],
                 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
                 AC_DEFINE(wxUSE_LIBHILDON)
             ],
@@ -5904,10 +6024,12 @@ dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_DATETIME" = "yes"; then
     dnl check for strptime and for its declaration as some systems lack it
 
 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_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>
                 AC_TRY_COMPILE(
                     [
                         #include <time.h>
@@ -5919,6 +6041,7 @@ if test "$wxUSE_DATETIME" = "yes"; then
                     wx_cv_func_strptime_decl=yes,
                     wx_cv_func_strptime_decl=no
                 )
                     wx_cv_func_strptime_decl=yes,
                     wx_cv_func_strptime_decl=no
                 )
+                AC_LANG_POP()
             ]
         )
     fi
             ]
         )
     fi
@@ -5931,6 +6054,7 @@ if test "$wxUSE_DATETIME" = "yes"; then
     AC_CACHE_CHECK(for timezone variable in <time.h>,
                    wx_cv_var_timezone,
                    [
     AC_CACHE_CHECK(for timezone variable in <time.h>,
                    wx_cv_var_timezone,
                    [
+                        AC_LANG_PUSH(C++)
                         AC_TRY_COMPILE(
                             [
                                 #include <time.h>
                         AC_TRY_COMPILE(
                             [
                                 #include <time.h>
@@ -5976,6 +6100,7 @@ if test "$wxUSE_DATETIME" = "yes"; then
                                 )
                             ]
                         )
                                 )
                             ]
                         )
+                        AC_LANG_POP()
                    ]
     )
 
                    ]
     )
 
@@ -6100,6 +6225,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_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>
                 AC_TRY_COMPILE(
                     [
                         #include <sys/types.h>
@@ -6117,9 +6243,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)
                         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
                         if test "$GCC" = yes ; then
-                            CXXFLAGS="-Werror $CXXFLAGS"
+                            CFLAGS="-Werror $CFLAGS"
                         fi
 
                         AC_TRY_COMPILE(
                         fi
 
                         AC_TRY_COMPILE(
@@ -6146,9 +6272,10 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                             )
                         )
 
                             )
                         )
 
-                        CXXFLAGS="$CXXFLAGS_OLD"
+                        CFLAGS="$CFLAGS_OLD"
                     ]
                 )
                     ]
                 )
+                AC_LANG_POP()
             ])
 
         if test "$wx_cv_type_getsockname3" = "unknown"; then
             ])
 
         if test "$wx_cv_type_getsockname3" = "unknown"; then
@@ -6172,17 +6299,12 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                     ],
                     wx_cv_type_getsockopt5=socklen_t,
                     [
                     ],
                     wx_cv_type_getsockopt5=socklen_t,
                     [
-                        dnl the compiler will compile the version with size_t
-                        dnl even if the real type of the last parameter is int
-                        dnl but it should give at least a warning about
-                        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"
-                        if test "$GCC" = yes ; then
-                            CXXFLAGS="-Werror $CXXFLAGS"
-                        fi
-
+                        dnl Note that the rules for compatibility of pointers
+                        dnl are somewhat different between C and C++, so code 
+                        dnl that fails in C++ may not even give a warning about
+                        dnl converting between incompatible pointer types in C.
+                        dnl So this test needs to be done in C++ mode.
+                        AC_LANG_PUSH(C++)
                         AC_TRY_COMPILE(
                             [
                                 #include <sys/types.h>
                         AC_TRY_COMPILE(
                             [
                                 #include <sys/types.h>
@@ -6206,8 +6328,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
                                 wx_cv_type_getsockopt5=unknown
                             )
                         )
                                 wx_cv_type_getsockopt5=unknown
                             )
                         )
-
-                        CXXFLAGS="$CXXFLAGS_OLD"
+                        AC_LANG_POP()
                     ]
                 )
             ])
                     ]
                 )
             ])
@@ -6286,12 +6407,14 @@ 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])
         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_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
 
             AC_MSG_RESULT($wxUSE_JOYSTICK)
         fi
 
@@ -6299,7 +6422,13 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
     else
         dnl wxJoystick not supported by wxMGL at all
         if test "$wxUSE_MGL" != "1"; then
     else
         dnl wxJoystick not supported by wxMGL at all
         if test "$wxUSE_MGL" != "1"; then
-            AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+            dnl notice the dummy includes argument: without it, AC_CHECK_HEADER
+            dnl checks only whether the header can be preprocessed, not that it
+            dnl can be compiled and in Linux 2.6.16 joystick.h is present but
+            dnl can't be compiled because of an error and with the default
+            dnl AC_CHECK_HEADER semantics we'd still detect it in this case and
+            dnl build would fail later
+            AC_CHECK_HEADER(linux/joystick.h, wxUSE_JOYSTICK=yes,,[#include <stdio.h>])
         fi
     fi
 
         fi
     fi
 
@@ -6758,6 +6887,11 @@ if test "$wxUSE_SCROLLBAR" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
 fi
 
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
 fi
 
+if test "$wxUSE_SEARCHCTRL" = "yes"; then
+    AC_DEFINE(wxUSE_SEARCHCTRL)
+    USES_CONTROLS=1
+fi
+
 if test "$wxUSE_SLIDER" = "yes"; then
     AC_DEFINE(wxUSE_SLIDER)
     USES_CONTROLS=1
 if test "$wxUSE_SLIDER" = "yes"; then
     AC_DEFINE(wxUSE_SLIDER)
     USES_CONTROLS=1
@@ -7939,7 +8073,7 @@ for subdir in `echo $SUBDIRS`; do
                 disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
                 eval "disabled=\$$disabled_var"
                 disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
                 disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
                 eval "disabled=\$$disabled_var"
                 disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
-                makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"`
+                makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | $EGREP -v "$disabled"`
             fi
         else dnl we build wxBase only
             dnl don't take all samples/utils, just those which build with
             fi
         else dnl we build wxBase only
             dnl don't take all samples/utils, just those which build with