]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
fix XModifierKeymap memory leak (patch 1683137)
[wxWidgets.git] / configure.in
index 35786396351dc6d4da362e12c98a9689210b770e..cc96fcdeee2433c3e7dbe6e8d2e51da15d146889 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.8.0], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.9.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])
@@ -33,7 +33,7 @@ dnl
 dnl wx_release_number += 1
 
 wx_major_version_number=2
-wx_minor_version_number=8
+wx_minor_version_number=9
 wx_release_number=0
 wx_subrelease_number=0
 
@@ -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_VARARG_MACROS=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_SEARCHCTRL=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_VARARG_MACROS=yes
   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_LIBGNOMEPRINT=no
+  DEFAULT_wxUSE_LIBGNOMEPRINT=yes
   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_SEARCHCTRL=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
   DEFAULT_wxUSE_SPINCTRL=yes
@@ -930,10 +934,11 @@ 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(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(compat26,      [  --disable-compat26      disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
+WX_ARG_ENABLE(compat26,      [  --enable-compat26       enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, enable)
+WX_ARG_ENABLE(compat28,      [  --disable-compat28      disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8, disable)
 
 WX_ARG_ENABLE(rpath,         [  --disable-rpath         disable use of rpath for uninstalled builds], wxUSE_RPATH)
 
@@ -1104,6 +1109,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   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
@@ -1156,6 +1162,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   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
@@ -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(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)
@@ -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(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)
@@ -1323,6 +1331,8 @@ if test "$wxUSE_WINE" = "yes"; then
     DEFAULT_DEFAULT_wxUSE_MOTIF=0
     DEFAULT_DEFAULT_wxUSE_MSW=1
     wxUSE_SHARED=no
+    CC=${CC:-winegcc}
+    CXX=${CXX:-wineg++}
 fi
 
 
@@ -1460,9 +1470,13 @@ AC_PROG_RANLIB
 
 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
@@ -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 |
-            egrep -s GNU > /dev/null); then
+            $EGREP -s GNU > /dev/null); then
         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
-    dnl FIXME: we should do a better job of testing for these
-    CC=winegcc
-    CXX=wineg++
     LDFLAGS_GUI="-mwindows"
 fi
 
@@ -1820,11 +1831,13 @@ dnl ------------------------------------------------------------------------
 dnl Check for headers
 dnl ------------------------------------------------------------------------
 
-AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h)
+dnl Note: non-empty last parameter makes check compile-only,
+dnl   skipping worthless preprocessing check
+AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h,,, [AC_INCLUDES_DEFAULT()])
 
 dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
 if test "$ac_cv_header_wchar_h" != "yes"; then
-    AC_CHECK_HEADERS(wcstr.h)
+    AC_CHECK_HEADER(wcstr.h,,, [AC_INCLUDES_DEFAULT()])
 fi
 
 case "${host}" in
@@ -1842,7 +1855,7 @@ esac
 
 dnl POSIX needs this for select(), but old systems don't have it
 if test "$USE_UNIX" = 1 ; then
-    AC_CHECK_HEADERS([sys/select.h])
+    AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -1857,7 +1870,6 @@ AC_C_INLINE
 dnl check the sizes of integral types (give some reasonable default values for
 dnl cross-compiling)
 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
-AC_CHECK_SIZEOF(char, 1)
 AC_CHECK_SIZEOF(short, 2)
 AC_CHECK_SIZEOF(void *, 4)
 AC_CHECK_SIZEOF(int, 4)
@@ -1969,6 +1981,11 @@ else
     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],
@@ -1998,6 +2015,8 @@ if test $wx_cv_have_variadic_macros = "yes"; then
     AC_DEFINE(HAVE_VARIADIC_MACROS)
 fi
 
+fi dnl wxUSE_VARARG_MACROS == yes
+
 dnl check for large file support
 AC_SYS_LARGEFILE
 
@@ -2260,7 +2279,9 @@ if test "$wxUSE_STL" = "yes"; then
                 wx_cv_class_stdhashmapset=yes,
                 wx_cv_class_stdhashmapset=no)
             ]
-        )]
+        )],
+        [],
+        [ ]
     )
 
     if test "$wx_cv_class_stdhashmapset" = yes; then
@@ -2278,7 +2299,9 @@ if test "$wxUSE_STL" = "yes"; then
                 wx_cv_class_gnuhashmapset=yes,
                 wx_cv_class_gnuhashmapset=no)
             ]
-        )]
+        )],
+        [],
+        [ ]
     )
 
     if test "$wx_cv_class_gnuhashmapset" = yes; then
@@ -2527,11 +2550,16 @@ 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
+dnl
+dnl at least under SGI these functions are only available in C99 code and not
+dnl in C++ so do these tests using C++ compiler
+AC_LANG_PUSH(C++)
 if test "wxUSE_UNICODE" = "yes"; then
     WX_CHECK_FUNCS(wcstoull)
 else
     WX_CHECK_FUNCS(strtoull)
 fi
+AC_LANG_POP()
 
 dnl ---------------------------------------------------------------------------
 dnl Optional libraries
@@ -2568,7 +2596,7 @@ if test "$wxUSE_REGEX" != "no"; then
     if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
         dnl according to Unix 98 specs, regcomp() is in libc but I believe that
         dnl on some old systems it may be in libregex - check for it too?
-        AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)])
+        AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)],, [ ])
 
         if test "x$ac_cv_func_regcomp" != "xyes"; then
             if test "$wxUSE_REGEX" = "sys" ; then
@@ -2636,7 +2664,7 @@ if test "$wxUSE_ZLIB" != "no" ; then
             )
             dnl If the test above did not come up with a value (e.g. cross
             dnl compiling) then this should give a definitive answer
-            AC_CHECK_HEADER(zlib.h)
+            AC_CHECK_HEADER(zlib.h,,, [ ])
 
             system_zlib_h_ok=$ac_cv_header_zlib_h
         fi
@@ -2707,7 +2735,7 @@ if test "$wxUSE_LIBPNG" != "no" ; then
                     unset ac_cv_header_png_h
                 )]
             )
-            AC_CHECK_HEADER(png.h)
+            AC_CHECK_HEADER(png.h,,, [ ])
 
             if test "$ac_cv_header_png_h" = "yes"; then
                 AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
@@ -2779,6 +2807,30 @@ if test "$wxUSE_LIBJPEG" != "no" ; then
             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
@@ -2808,7 +2860,9 @@ if test "$wxUSE_LIBTIFF" != "no" ; then
                                          TIFF_LINK=" -ltiff",
                                          ,
                                          $TIFF_PREREQ_LINKS)
-                        ]
+                        ],
+                        [],
+                        [ ]
                        )
 
         if test "x$TIFF_LINK" = "x" ; then
@@ -2846,7 +2900,7 @@ if test "$wxUSE_EXPAT" != "no"; then
     AC_DEFINE(wxUSE_XML)
 
     if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then
-        AC_CHECK_HEADER([expat.h], [found_expat_h=1])
+        AC_CHECK_HEADER([expat.h], [found_expat_h=1],, [ ])
         if test "x$found_expat_h" = "x1"; then
             dnl Expat 1.95.6 comes with broken expat.h:
             AC_CACHE_CHECK([if expat.h is valid C++ header],
@@ -2888,7 +2942,7 @@ dnl Check for libmspack
 dnl ------------------------------------------------------------------------
 
 if test "$wxUSE_LIBMSPACK" != "no"; then
-    AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
+    AC_CHECK_HEADER([mspack.h], [found_mspack_h=1],, [ ])
     if test "x$found_mspack_h" = "x1"; then
         AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
                      MSPACK_LINK=" -lmspack")
@@ -2917,11 +2971,12 @@ WIDGET_SET=
 dnl are we building for a win32 target environment?
 dnl If so, setup common stuff needed for both GUI and Base libs.
 if test "$USE_WIN32" = 1 ; then
-    AC_CHECK_HEADERS(w32api.h)
-    AC_CHECK_HEADER(windows.h, [],
+    AC_CHECK_HEADER(w32api.h,,, [ ])
+    AC_CHECK_HEADER(windows.h,,
     [
         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
-    ])
+    ],
+    [ ])
 
     dnl --- FIXME: This is still a somewhat random list of libs,
     dnl ---        some of them should probably be included conditionally.
@@ -2959,14 +3014,8 @@ if test "$USE_WIN32" = 1 ; then
     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)])
+    AC_CHECK_HEADER(pbt.h,, [AC_DEFINE(NEED_PBT_H)], [ ])
 fi
 
 if test "$wxUSE_GUI" = "yes"; then
@@ -2989,7 +3038,7 @@ if test "$wxUSE_GUI" = "yes"; then
             wxUSE_DRAG_AND_DROP=no
         fi
         if test "$wxUSE_DRAGIMAGE" = "yes"; then
-            AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
+            AC_MSG_WARN([wxDragImage not supported under wxCocoa yet, disabled])
             wxUSE_DRAGIMAGE=no
         fi
     fi
@@ -3117,45 +3166,70 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                            [AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)],
                            [#include <gtk/gtk.h>])
 
-            dnl test if we have at least GTK+ 2.6:
-            AC_MSG_CHECKING([if GTK+ is version >= 2.6])
+
+            dnl test if we have at least GTK+ 2.10:
+            AC_MSG_CHECKING([if GTK+ is version >= 2.10])
             AC_TRY_COMPILE([
                             #include <gtk/gtk.h>
                            ],
                            [
-                            #if !GTK_CHECK_VERSION(2,6,0)
-                            Not GTK+ 2.6
+                            #if !GTK_CHECK_VERSION(2,10,0)
+                            Not GTK+ 2.10
                             #endif
                            ],
                            [
+                            AC_DEFINE(__WXGTK210__)
                             AC_DEFINE(__WXGTK26__)
                             AC_DEFINE(__WXGTK24__)
                             AC_MSG_RESULT([yes])
-                            ac_wxgtk26=1
+                            ac_wxgtk210=1
                            ],
                            [
                             AC_MSG_RESULT([no])
-                            ac_wxgtk26=0
+                            ac_wxgtk210=0
                            ])
 
+            if test "$ac_wxgtk210" = 0; then
+                dnl test if we have at least GTK+ 2.6:
+                AC_MSG_CHECKING([if GTK+ is version >= 2.6])
+                AC_TRY_COMPILE([
+                                #include <gtk/gtk.h>
+                            ],
+                            [
+                                #if !GTK_CHECK_VERSION(2,6,0)
+                                Not GTK+ 2.6
+                                #endif
+                            ],
+                            [
+                                AC_DEFINE(__WXGTK26__)
+                                AC_DEFINE(__WXGTK24__)
+                                AC_MSG_RESULT([yes])
+                                ac_wxgtk26=1
+                            ],
+                            [
+                                AC_MSG_RESULT([no])
+                                ac_wxgtk26=0
+                            ])
+            fi
+
             if test "$ac_wxgtk26" = 0; then
-            dnl test if we have at least GTK+ 2.4:
-            AC_MSG_CHECKING([if GTK+ is version >= 2.4])
-            AC_TRY_COMPILE([
-                            #include <gtk/gtk.h>
-                           ],
-                           [
-                            #if !GTK_CHECK_VERSION(2,4,0)
-                            Not GTK+ 2.4
-                            #endif
-                           ],
-                           [
-                            AC_DEFINE(__WXGTK24__)
-                            AC_MSG_RESULT([yes])
-                           ],
-                           [
-                            AC_MSG_RESULT([no])
-                           ])
+                dnl test if we have at least GTK+ 2.4:
+                AC_MSG_CHECKING([if GTK+ is version >= 2.4])
+                AC_TRY_COMPILE([
+                                #include <gtk/gtk.h>
+                            ],
+                            [
+                                #if !GTK_CHECK_VERSION(2,4,0)
+                                Not GTK+ 2.4
+                                #endif
+                            ],
+                            [
+                                AC_DEFINE(__WXGTK24__)
+                                AC_MSG_RESULT([yes])
+                            ],
+                            [
+                                AC_MSG_RESULT([no])
+                            ])
             fi
 
             CFLAGS="$save_CFLAGS"
@@ -3168,12 +3242,12 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
 
             dnl test for XIM support in libgdk
             AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
-        fi
 
-        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
-            AC_CHECK_FUNCS(poll)
+            dnl we need poll() in src/gtk1/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
+                AC_CHECK_FUNCS(poll)
+            fi
         fi
 
         TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
@@ -3759,8 +3833,8 @@ dnl do this after test for X11 above so that we have a chance of finding Xlib.h
 if test "$wxUSE_GUI" = "yes"; then
     if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
         dnl defines HAVE_X11_XKBLIB_H
-        AC_CHECK_HEADERS(X11/Xlib.h)
-        AC_CHECK_HEADERS([X11/XKBlib.h], [], [],
+        AC_CHECK_HEADER(X11/Xlib.h,,, [ ])
+        AC_CHECK_HEADER([X11/XKBlib.h],,,
                          [
                           #if HAVE_X11_XLIB_H
                             #include <X11/Xlib.h>
@@ -3784,7 +3858,7 @@ if test "$TOOLKIT" != "MSW" ; then
         dnl This is not ideal we really ough to use the unixodbc-config
         dnl  or iodbc-config if they exist.
 
-        AC_CHECK_HEADER([sql.h], [found_sql_h=1])
+        AC_CHECK_HEADER([sql.h], [found_sql_h=1],, [ ])
         if test "x$found_sql_h" = "x1" ; then
             AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc",
             [
@@ -3843,7 +3917,7 @@ dnl ---------------------------------------------------------------------------
             WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
             if test "$ac_find_libraries" != "" ; then
                 AC_MSG_RESULT([yes])
-                AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
+                AC_CHECK_HEADER([X11/extensions/xf86vmode.h],
                                  [
                                   GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
                                  ],
@@ -3866,7 +3940,7 @@ dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl DirectDraw for MSW - optionally used by WxDisplay.
 dnl ---------------------------------------------------------------------------
-        AC_CHECK_HEADERS([ddraw.h], [], [], [#include <windows.h>])
+        AC_CHECK_HEADER([ddraw.h], [], [], [#include <windows.h>])
     fi
 fi
 
@@ -3970,7 +4044,9 @@ 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
@@ -4521,7 +4597,7 @@ if test "$ac_cv_func_snprintf" = "yes"; then
                         int main (void)
                         {
                             char buffer[128];
-                            snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3);
+                            snprintf (buffer, 128, "%2$d %3$d %1$d", 1, 2, 3);
                             if (strcmp ("2 3 1", buffer) == 0)
                                 exit (0);
                             exit (1);
@@ -4585,7 +4661,7 @@ if test "$wxUSE_UNICODE" = yes; then
 #include <wchar.h>"
     case "${host}" in
         *-*-solaris2* )
-            AC_CHECK_HEADERS(widec.h)
+            AC_CHECK_HEADER(widec.h,,, [AC_INCLUDES_DEFAULT()])
             if test "$ac_cv_header_widec_h" = "yes"; then
                 wchar_headers="$wchar_headers
 #include <widec.h>"
@@ -4948,9 +5024,11 @@ dnl ------------------------------------------
 dnl Check for ESD:
 EXTRALIBS_ESD=
 AC_CHECK_LIB(esd, esd_close, [
-    AC_CHECK_HEADERS([esd.h], [
+    AC_CHECK_HEADER([esd.h], [
     EXTRALIBS_ESD="-lesd"
-  ])
+  ],
+  [],
+  [ ])
 ])
 AC_SUBST(EXTRALIBS_ESD)
 
@@ -5185,7 +5263,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
         AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
       fi
 
-      AC_CHECK_HEADERS(sched.h)
+      AC_CHECK_HEADER(sched.h,,, [AC_INCLUDES_DEFAULT()])
       if test "$ac_cv_header_sched_h" = "yes"; then
           AC_CHECK_FUNC(sched_yield,
             AC_DEFINE(HAVE_SCHED_YIELD),
@@ -5230,6 +5308,10 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
                     AC_DEFINE(HAVE_PTHREAD_CANCEL),
                     AC_MSG_WARN([wxThread::Kill() will not work properly]))
 
+      AC_CHECK_FUNC(pthread_mutex_timedlock,
+                    AC_DEFINE(HAVE_PTHREAD_MUTEX_TIMEDLOCK),
+                    AC_MSG_WARN([wxMutex::LockTimeout() will not work]))
+
       AC_CHECK_FUNC(pthread_attr_setstacksize,
                     AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE))
 
@@ -5510,14 +5592,14 @@ dnl ---------------------------------------------------------------------------
 dnl compatibility level
 dnl ---------------------------------------------------------------------------
 
-if test "x$WXWIN_COMPATIBILITY_2_4" = "xyes"; then
-    AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
+if test "x$WXWIN_COMPATIBILITY_2_6" = "xyes"; then
+    AC_DEFINE(WXWIN_COMPATIBILITY_2_6)
 
-    WXWIN_COMPATIBILITY_2_6="yes"
+    WXWIN_COMPATIBILITY_2_8="yes"
 fi
 
-if test "x$WXWIN_COMPATIBILITY_2_6" != "xno"; then
-    AC_DEFINE(WXWIN_COMPATIBILITY_2_6)
+if test "x$WXWIN_COMPATIBILITY_2_8" != "xno"; then
+    AC_DEFINE(WXWIN_COMPATIBILITY_2_8)
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -6392,7 +6474,7 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
             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>])
+            AC_CHECK_HEADER(linux/joystick.h, [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()])
         fi
     fi
 
@@ -6529,7 +6611,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
                           -o "$wxUSE_CLIPBOARD"     = "yes" \
                           -o "$wxUSE_OLE"     = "yes" \
                           -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
-    AC_CHECK_HEADERS(ole2.h)
+    AC_CHECK_HEADER(ole2.h,,, [ ])
 
     if test "$ac_cv_header_ole2_h" = "yes" ; then
         if test "$GCC" = yes ; then
@@ -6544,7 +6626,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
             if test "$wxUSE_OLE" = "yes" ; then
                 AC_DEFINE(wxUSE_OLE)
                 AC_DEFINE(wxUSE_OLE_AUTOMATION)
-                AC_DEFINE(wxUSE_OLE_ACTIVEX)
+                AC_DEFINE(wxUSE_ACTIVEX)
                 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto"
             fi
         fi
@@ -6583,8 +6665,8 @@ if test "$wxUSE_IPC" = "yes"; then
 fi
 
 if test "$wxUSE_DATAOBJ" = "yes"; then
-    if test "$wxUSE_MGL" = 1; then
-        AC_MSG_WARN([wxDataObject not yet supported under MGL... disabled])
+    if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = 1; then
+        AC_MSG_WARN([wxDataObject not yet supported under $TOOLKIT... disabled])
         wxUSE_DATAOBJ=no
     else
         AC_DEFINE(wxUSE_DATAOBJ)
@@ -6596,8 +6678,8 @@ else
 fi
 
 if test "$wxUSE_CLIPBOARD" = "yes"; then
-    if test "$wxUSE_MGL" = 1; then
-        AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
+    if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = 1; then
+        AC_MSG_WARN([Clipboard not yet supported under $TOOLKIT... disabled])
         wxUSE_CLIPBOARD=no
     fi
 
@@ -6614,18 +6696,9 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
         fi
     fi
 
-    if test "$wxUSE_MOTIF" = 1; then
-        AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
-        wxUSE_DRAG_AND_DROP=no
-    fi
-
-    if test "$wxUSE_X11" = 1; then
-        AC_MSG_WARN([Drag and drop not yet supported under X11... disabled])
-        wxUSE_DRAG_AND_DROP=no
-    fi
-
-    if test "$wxUSE_MGL" = 1; then
-        AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled])
+    if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_MGL" = 1 -o \
+            "$wxUSE_DFB" = 1; then
+        AC_MSG_WARN([Drag and drop not yet supported under $TOOLKIT... disabled])
         wxUSE_DRAG_AND_DROP=no
     fi
 
@@ -6752,8 +6825,13 @@ if test "$wxUSE_FONTPICKERCTRL" = "yes"; then
 fi
 
 if test "$wxUSE_DISPLAY" = "yes"; then
-    AC_DEFINE(wxUSE_DISPLAY)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
+    if test "$wxUSE_DFB" = 1 -o "$wxUSE_MGL" = 1; then
+        AC_MSG_WARN([wxDisplay not yet supported under $TOOLKIT... disabled])
+        wxUSE_DISPLAY=no
+    else
+        AC_DEFINE(wxUSE_DISPLAY)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
+    fi
 fi
 
 if test "$wxUSE_DETECT_SM" = "yes"; then
@@ -6851,6 +6929,11 @@ if test "$wxUSE_SCROLLBAR" = "yes"; then
     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
@@ -7054,7 +7137,10 @@ if test "$wxUSE_WEBKIT" = "yes"; then
                            AC_MSG_WARN([WebKit headers not found; disabling wxWebKit])
                            wxUSE_WEBKIT=no
                         ],
-                        [#include <Carbon/Carbon.h>])
+                        [
+                           #include <Carbon/Carbon.h>
+                           #include <WebKit/WebKit.h>
+                        ])
         CPPFLAGS="$old_CPPFLAGS"
     elif test "$wxUSE_COCOA" = 1; then
         AC_DEFINE(wxUSE_WEBKIT)
@@ -7115,7 +7201,12 @@ if test "$wxUSE_VALIDATORS" = "yes"; then
 fi
 
 if test "$wxUSE_PALETTE" = "yes" ; then
-  AC_DEFINE(wxUSE_PALETTE)
+    if test "$wxUSE_DFB" = 1; then
+        AC_MSG_WARN([wxPalette not yet supported under DFB... disabled])
+        wxUSE_PALETTE=no
+    else
+        AC_DEFINE(wxUSE_PALETTE)
+    fi
 fi
 
 if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
@@ -8032,7 +8123,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'`/
-                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
@@ -8075,8 +8166,8 @@ echo "  Should wxWidgets be linked as a shared library?         ${wxUSE_SHARED:-
 echo "  Should wxWidgets be compiled in Unicode mode?           ${wxUSE_UNICODE:-no}"
 
 echo "  What level of wxWidgets compatibility should be enabled?"
-echo "                                       wxWidgets 2.4      ${WXWIN_COMPATIBILITY_2_4:-no}"
-echo "                                       wxWidgets 2.6      ${WXWIN_COMPATIBILITY_2_6:-yes}"
+echo "                                       wxWidgets 2.6      ${WXWIN_COMPATIBILITY_2_6:-no}"
+echo "                                       wxWidgets 2.8      ${WXWIN_COMPATIBILITY_2_8:-yes}"
 
 echo "  Which libraries should wxWidgets use?"
 echo "                                       jpeg               ${wxUSE_LIBJPEG-none}"