]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
wxMac apparently doesn't send EVT_SHOW, so just use wx.CallAfter instead
[wxWidgets.git] / configure.in
index 9c47e877d21d88035e57533063f11d4086f59780..38a18b2e7a50b2042e276f81bcd832f0b566baeb 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.7.0], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.7.1], [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])
@@ -34,8 +34,8 @@ dnl wx_release_number += 1
 
 wx_major_version_number=2
 wx_minor_version_number=7
-wx_release_number=0
-wx_subrelease_number=0
+wx_release_number=1
+wx_subrelease_number=2
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -476,7 +476,9 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_PROTOCOL_FTP=no
   DEFAULT_wxUSE_PROTOCOL_FILE=no
   DEFAULT_wxUSE_URL=no
+  DEFAULT_wxUSE_VARIANT=no
 
+  DEFAULT_wxUSE_ABOUTDLG=no
   DEFAULT_wxUSE_COMMONDLGS=no
   DEFAULT_wxUSE_CHOICEDLG=no
   DEFAULT_wxUSE_COLOURDLG=no
@@ -508,8 +510,10 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_VALIDATORS=no
 
   DEFAULT_wxUSE_ACCEL=no
+  DEFAULT_wxUSE_ANIMATIONCTRL=no
   DEFAULT_wxUSE_BUTTON=no
   DEFAULT_wxUSE_BMPBUTTON=no
+  DEFAULT_wxUSE_BITMAPCOMBOBOX=no
   DEFAULT_wxUSE_CALCTRL=no
   DEFAULT_wxUSE_CARET=no
   DEFAULT_wxUSE_CHECKBOX=no
@@ -521,10 +525,12 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_COMBOCTRL=no
   DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_DISPLAY=no
+  DEFAULT_wxUSE_DETECT_SM=no
   DEFAULT_wxUSE_DIRPICKERCTRL=no
   DEFAULT_wxUSE_FILEPICKERCTRL=no
   DEFAULT_wxUSE_FONTPICKERCTRL=no
   DEFAULT_wxUSE_GAUGE=no
+  DEFAULT_wxUSE_GRAPHICS_CONTEXT=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_HYPERLINKCTRL=no
   DEFAULT_wxUSE_DATAVIEWCTRL=no
@@ -642,7 +648,7 @@ else
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_MEDIACTRL=no
   DEFAULT_wxUSE_GSTREAMER8=no
-  DEFAULT_wxUSE_PRINTF_POS_PARAMS=no
+  DEFAULT_wxUSE_PRINTF_POS_PARAMS=yes
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -688,7 +694,9 @@ else
   DEFAULT_wxUSE_PROTOCOL_FTP=yes
   DEFAULT_wxUSE_PROTOCOL_FILE=yes
   DEFAULT_wxUSE_URL=yes
+  DEFAULT_wxUSE_VARIANT=yes
 
+  DEFAULT_wxUSE_ABOUTDLG=yes
   DEFAULT_wxUSE_COMMONDLGS=yes
   DEFAULT_wxUSE_CHOICEDLG=yes
   DEFAULT_wxUSE_COLOURDLG=yes
@@ -720,8 +728,10 @@ else
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
+  DEFAULT_wxUSE_ANIMATIONCTRL=yes
   DEFAULT_wxUSE_BUTTON=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
+  DEFAULT_wxUSE_BITMAPCOMBOBOX=yes
   DEFAULT_wxUSE_CALCTRL=yes
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_CHECKBOX=yes
@@ -733,11 +743,13 @@ else
   DEFAULT_wxUSE_COMBOCTRL=yes
   DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_DISPLAY=yes
+  DEFAULT_wxUSE_DETECT_SM=yes
   DEFAULT_wxUSE_DIRPICKERCTRL=yes
   DEFAULT_wxUSE_FILEPICKERCTRL=yes
   DEFAULT_wxUSE_FONTPICKERCTRL=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
+  DEFAULT_wxUSE_GRAPHICS_CONTEXT=no
   DEFAULT_wxUSE_HYPERLINKCTRL=yes
   DEFAULT_wxUSE_DATAVIEWCTRL=no
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -860,6 +872,10 @@ WX_ARG_WITH(gnomevfs,      [  --with-gnomevfs         use GNOME VFS for associat
 WX_ARG_WITH(hildon,        [  --with-hildon           use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
+if test "$wxUSE_UNIVERSAL" = "yes"; then
+    AC_ARG_WITH(themes,        [  --with-themes=all|list  use only the specified comma-separated list of wxUniversal themes], [wxUNIV_THEMES="$withval"])
+fi
+
 fi
 dnl for GUI only
 
@@ -963,11 +979,12 @@ WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUS
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
-WX_ARG_ENABLE(gstreamer8,     [  --enable-gstreamer8      force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
+WX_ARG_ENABLE(gstreamer8,    [  --enable-gstreamer8     force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
 WX_ARG_ENABLE(printfposparam,[  --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZip streams], wxUSE_ZIPSTREAM)
 
 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
+WX_ARG_ENABLE(variant,       [  --enable-variant        use wxVariant class], wxUSE_VARIANT)
 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
 WX_ARG_ENABLE(protocol_http, [  --enable-protocol-http  HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
 WX_ARG_ENABLE(protocol_ftp,  [  --enable-protocol-ftp   FTP support in wxProtocol], wxUSE_PROTOCOL_FTP)
@@ -1002,6 +1019,7 @@ WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LO
 WX_ARG_ENABLE(logdialog,   [  --enable-logdialog      use wxLogDialog], wxUSE_LOGDIALOG)
 WX_ARG_ENABLE(webkit,      [  --enable-webkit         use wxWebKitCtrl (Mac)], wxUSE_WEBKIT)
 WX_ARG_ENABLE(html,        [  --enable-richtext       use wxRichTextCtrl], wxUSE_RICHTEXT)
+WX_ARG_ENABLE(graphics_ctx, [  --enable-graphics_ctx   use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT)
 
 dnl ---------------------------------------------------------------------------
 dnl PostScript options
@@ -1040,6 +1058,7 @@ dnl --disable-<control> later on the command line - but by default all will be
 dnl used (and vice versa)
 if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_ACCEL=yes
+  DEFAULT_wxUSE_ANIMATIONCTRL=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_BUTTON=yes
   DEFAULT_wxUSE_CALCTRL=yes
@@ -1053,6 +1072,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_DISPLAY=yes
+  DEFAULT_wxUSE_DETECT_SM=yes
   DEFAULT_wxUSE_DIRPICKERCTRL=yes
   DEFAULT_wxUSE_FILEPICKERCTRL=yes
   DEFAULT_wxUSE_FONTPICKERCTRL=yes
@@ -1089,6 +1109,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_TIPWINDOW=yes
 elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_ACCEL=no
+  DEFAULT_wxUSE_ANIMATIONCTRL=no
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_BUTTON=no
   DEFAULT_wxUSE_CALCTRL=no
@@ -1102,6 +1123,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_DISPLAY=no
+  DEFAULT_wxUSE_DETECT_SM=no
   DEFAULT_wxUSE_DIRPICKERCTRL=no
   DEFAULT_wxUSE_FILEPICKERCTRL=no
   DEFAULT_wxUSE_FONTPICKERCTRL=no
@@ -1139,8 +1161,10 @@ elif test "$wxUSE_CONTROLS" = "no"; then
 fi
 
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
+WX_ARG_ENABLE(animatectrl, [  --enable-animatectrl    use wxAnimationCtrl class], wxUSE_ANIMATIONCTRL)
 WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
+WX_ARG_ENABLE(bmpcombobox, [  --enable-bmpcombobox    use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX)
 WX_ARG_ENABLE(calendar,    [  --enable-calendar       use wxCalendarCtrl class], wxUSE_CALCTRL)
 WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
@@ -1153,6 +1177,7 @@ WX_ARG_ENABLE(comboctrl,   [  --enable-comboctrl      use wxComboCtrl class], wx
 WX_ARG_ENABLE(datepick,    [  --enable-datepick       use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
 WX_ARG_ENABLE(dirpicker,   [  --enable-dirpicker      use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL)
 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
+WX_ARG_ENABLE(detect_sm,   [  --enable-detect_sm      use code to detect X11 session manager], wxUSE_DETECT_SM)
 WX_ARG_ENABLE(filepicker,  [  --enable-filepicker     use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
 WX_ARG_ENABLE(fontpicker,  [  --enable-fontpicker     use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
@@ -1194,6 +1219,7 @@ dnl common dialogs
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use all common dialogs], wxUSE_COMMONDLGS)
+WX_ARG_ENABLE(aboutdlg,    [  --enable-aboutdlg       use wxAboutBox], wxUSE_ABOUTDLG)
 WX_ARG_ENABLE(choicedlg,   [  --enable-choicedlg      use wxChoiceDialog], wxUSE_CHOICEDLG)
 WX_ARG_ENABLE(coldlg,      [  --enable-coldlg         use wxColourDialog], wxUSE_COLOURDLG)
 WX_ARG_ENABLE(filedlg,     [  --enable-filedlg        use wxFileDialog], wxUSE_FILEDLG)
@@ -1689,11 +1715,11 @@ case "${host}" in
                   #else
                               "Innotek6"
                   #endif
-                     );
+                      );
                       exit(0);
                   }
               ],
-             wx_cv_gccversion=`cat conftestval`,
+              wx_cv_gccversion=`cat conftestval`,
               wx_cv_gccversion="EMX2",
               dnl Compilation error: Assuming standard EMX environment
               wx_cv_gccversion="EMX2"
@@ -1931,6 +1957,31 @@ else
     fi
 fi
 
+dnl Check if variadic macros (C99 feature) are supported:
+AC_CACHE_CHECK(
+    [whether the compiler supports variadic macros],
+    [wx_cv_have_variadic_macros],
+    [
+        AC_COMPILE_IFELSE(
+            AC_LANG_PROGRAM(
+                [
+                    #include <stdio.h>
+                    #define test(fmt, ...) printf(fmt, __VA_ARGS__)
+                ],
+                [
+                    test("%s %d %p", "test", 1, 0);
+                ]
+            ),
+            [wx_cv_have_variadic_macros=yes],
+            [wx_cv_have_variadic_macros=no]
+            )
+    ]
+)
+
+if test $wx_cv_have_variadic_macros = "yes"; then
+    AC_DEFINE(HAVE_VARIADIC_MACROS)
+fi
+
 dnl check for large file support
 AC_SYS_LARGEFILE
 
@@ -2830,6 +2881,15 @@ 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)])
 fi
 
 if test "$wxUSE_GUI" = "yes"; then
@@ -2978,20 +3038,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             dnl that have shipped with some versions of Sun's JDS. Not using
             dnl AC_CHECK_FUNCS here since it only checks the function exists
             dnl in the lib (not the header).
-            AC_MSG_CHECKING([if gtk_icon_size_lookup is missing])
-            AC_TRY_COMPILE([
-                            #include <gtk/gtk.h>
-                           ],
-                           [
-                            void *f = gtk_icon_size_lookup;
-                           ],
-                           [
-                            AC_MSG_RESULT([no])
-                           ],
-                           [
-                            AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)
-                            AC_MSG_RESULT([yes])
-                           ])
+            AC_CHECK_DECLS([gtk_icon_size_lookup], [],
+                           [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])
@@ -3041,6 +3090,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
                 AC_MSG_WARN([Unicode configuration not supported with GTK+ 1.x])
                 wxUSE_UNICODE=no
             fi
+
+            dnl test for XIM support in libgdk
+            AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
         fi
 
         AC_LANG_POP
@@ -3058,10 +3110,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         TOOLKIT=GTK
         GUIDIST=GTK_DIST
 
-        dnl test for XIM support in libgdk
-        AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
-
-
         dnl test for external libxpm if we're configured to use it
         if test "$wxUSE_GPE" = "yes"; then
             AC_MSG_CHECKING(for gpewidget library)
@@ -3158,6 +3206,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
     fi
 
     if test "$wxUSE_DFB" = 1; then
+       PKG_PROG_PKG_CONFIG()
+
        PKG_CHECK_MODULES(DIRECTFB,
                          [directfb >= 0.9.22],
                          [
@@ -3234,42 +3284,44 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
         fi
 
         if test "$wxUSE_UNICODE" = "yes"; then
-                PKG_CHECK_MODULES(PANGOX, pangox,
-                    [
-                        CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
-                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
-                    ],
-                    [
-                        AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode])
-                    ]
-                )
-                PKG_CHECK_MODULES(PANGOFT2, pangoft2,
-                    [
-                        CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
-                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
-                    ],
-                    [
-                        AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
-                        wxUSE_PRINTING_ARCHITECTURE="no"
-                    ]
-                )
-                PKG_CHECK_MODULES(PANGOXFT, pangoxft,
-                    [
-                        AC_DEFINE(HAVE_PANGO_XFT)
-                        CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
-                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
-                    ],
-                    [
-                        AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
-                    ]
-                )
-                save_CXXFLAGS="$CXXFLAGS"
-                save_LIBS="$LIBS"
-                CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
-                LIBS="$LIBS $PANGOX_LIBS"
-                AC_CHECK_FUNCS([pango_font_family_is_monospace])
-                CXXFLAGS="$save_CXXFLAGS"
-                LIBS="$save_LIBS"
+            PKG_PROG_PKG_CONFIG()
+
+            PKG_CHECK_MODULES(PANGOX, pangox,
+                [
+                    CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
+                    GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
+                ],
+                [
+                    AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode])
+                ]
+            )
+            PKG_CHECK_MODULES(PANGOFT2, pangoft2,
+                [
+                    CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
+                    GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
+                ],
+                [
+                    AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
+                    wxUSE_PRINTING_ARCHITECTURE="no"
+                ]
+            )
+            PKG_CHECK_MODULES(PANGOXFT, pangoxft,
+                [
+                    AC_DEFINE(HAVE_PANGO_XFT)
+                    CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
+                    GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
+                ],
+                [
+                    AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
+                ]
+            )
+            save_CXXFLAGS="$CXXFLAGS"
+            save_LIBS="$LIBS"
+            CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
+            LIBS="$LIBS $PANGOX_LIBS"
+            AC_CHECK_FUNCS([pango_font_family_is_monospace])
+            CXXFLAGS="$save_CXXFLAGS"
+            LIBS="$save_LIBS"
         fi
 
         wxUSE_UNIVERSAL="yes"
@@ -3745,6 +3797,31 @@ dnl ---------------------------------------------------------------------------
     fi
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl X11 session management
+dnl ---------------------------------------------------------------------------
+if test "$wxUSE_DETECT_SM" = "yes"; then
+    if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then
+        AC_MSG_CHECKING([for -lSM - X11 session management])
+        WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],SM)
+        if test "$ac_find_libraries" != "" ; then
+            WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
+            if test "$ac_path_to_link" != " -L/usr/lib" ; then
+                LDFLAGS="$LDFLAGS $ac_path_to_link"
+            fi
+            GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lSM"
+            AC_MSG_RESULT([yes])
+        else
+            AC_MSG_RESULT([no])
+            AC_MSG_WARN([libSM not found; disabling session management detection])
+            wxUSE_DETECT_SM="no"
+        fi
+    else
+        wxUSE_DETECT_SM="no"
+    fi
+fi
+
+
 dnl ---------------------------------------------------------------------------
 dnl OpenGL libraries
 dnl ---------------------------------------------------------------------------
@@ -4368,7 +4445,13 @@ if test "$ac_cv_func_snprintf" = "yes"; then
                         }
                     ],
                     wx_cv_func_snprintf_pos_params=no,
-                    wx_cv_func_snprintf_pos_params=yes
+                    wx_cv_func_snprintf_pos_params=yes,
+                    dnl be pessimistic when cross-compiling
+                    [
+                        AC_MSG_WARN([Assuming Unix98 printf() is not available,
+define HAVE_UNIX98_PRINTF as 1 in setup.h if it is available.])
+                        wx_cv_func_snprintf_pos_params=no
+                    ]
                 )
             ]
         )
@@ -4379,8 +4462,40 @@ if test "$ac_cv_func_snprintf" = "yes"; then
     fi
 fi
 
-
 if test "$wxUSE_UNICODE" = yes; then
+
+    dnl our wxVsnprintf() implementation needs to use the system swprintf() in Unicode
+    dnl builds so let's check if swprintf() is declared as C99 imposes:
+    dnl     int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...);
+    dnl or rather as:
+    dnl     int swprintf(wchar_t *s, const wchar_t *format, ...);
+    AC_CHECK_FUNCS(swprintf)
+
+    if test "$ac_cv_func_swprintf" = "yes"; then
+        AC_CACHE_CHECK([if swprintf declaration is broken], wx_cv_func_broken_swprintf_decl,
+            [
+                AC_TRY_COMPILE(
+                    [
+                        #include <stdio.h>
+                        #include <stdarg.h>
+                        #include <wchar.h>
+                    ],
+                    [
+                        wchar_t *buf;
+                        const wchar_t *fmt = L"test";
+                        swprintf(buf, 10u, fmt);
+                    ],
+                    wx_cv_func_broken_swprintf_decl=no,
+                    wx_cv_func_broken_swprintf_decl=yes
+                )
+            ]
+        )
+
+        if test "$wx_cv_func_broken_swprintf_decl" = "yes"; then
+            AC_DEFINE(HAVE_BROKEN_SWPRINTF_DECL)
+        fi
+    fi
+
     dnl also look if we have wide char IO functions
     AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
 
@@ -4678,10 +4793,7 @@ fi
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -D_REENTRANT"
-AC_CHECK_DECLS(strtok_r, AC_DEFINE(HAVE_STRTOK_R))
-CPPFLAGS="$SAVE_CPPFLAGS"
+WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
 
 dnl check for inet_addr and inet_aton (these may live either in libc, or in
 dnl libnsl or libresolv or libsocket)
@@ -5156,7 +5268,7 @@ if test "$wxUSE_THREADS" = "yes"; then
 else
   dnl on some systems, _REENTRANT should be defined if we want to use any _r()
   dnl functions - add tests for other functions here as well
-  if test "$ac_cv_have_decl_strtok_r" = "yes"; then
+  if test "$wx_cv_func_strtok_r" = "yes"; then
     AC_MSG_CHECKING(if -D_REENTRANT is needed)
     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
         WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT"
@@ -6085,6 +6197,10 @@ if test "$wxUSE_URL" = "yes"; then
     fi
 fi
 
+if test "$wxUSE_VARIANT" = "yes"; then
+    AC_DEFINE(wxUSE_VARIANT)
+fi
+
 if test "$wxUSE_FS_INET" = "yes"; then
   AC_DEFINE(wxUSE_FS_INET)
 fi
@@ -6266,6 +6382,8 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
             if test "$wxUSE_OLE" = "yes" ; then
                 AC_DEFINE(wxUSE_OLE)
+                AC_DEFINE(wxUSE_OLE_AUTOMATION)
+                AC_DEFINE(wxUSE_OLE_ACTIVEX)
                 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto"
             fi
         fi
@@ -6382,6 +6500,12 @@ if test "$wxUSE_ACCEL" = "yes"; then
   USES_CONTROLS=1
 fi
 
+if test "$wxUSE_ANIMATIONCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_ANIMATIONCTRL)
+  USES_CONTROLS=1
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS animate"
+fi
+
 if test "$wxUSE_BUTTON" = "yes"; then
   AC_DEFINE(wxUSE_BUTTON)
   USES_CONTROLS=1
@@ -6465,6 +6589,10 @@ if test "$wxUSE_DISPLAY" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
 fi
 
+if test "$wxUSE_DETECT_SM" = "yes"; then
+    AC_DEFINE(wxUSE_DETECT_SM)
+fi
+
 if test "$wxUSE_GAUGE" = "yes"; then
   AC_DEFINE(wxUSE_GAUGE)
   USES_CONTROLS=1
@@ -6481,6 +6609,11 @@ if test "$wxUSE_HYPERLINKCTRL" = "yes"; then
   USES_CONTROLS=1
 fi
 
+if test "$wxUSE_BITMAPCOMBOBOX" = "yes"; then
+  AC_DEFINE(wxUSE_BITMAPCOMBOBOX)
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
   AC_DEFINE(wxUSE_DATAVIEWCTRL)
   USES_CONTROLS=1
@@ -6866,6 +6999,10 @@ dnl ---------------------------------------------------------------------------
 dnl common dialogs
 dnl ---------------------------------------------------------------------------
 
+if test "$wxUSE_ABOUTDLG" = "yes"; then
+    AC_DEFINE(wxUSE_ABOUTDLG)
+fi
+
 if test "$wxUSE_CHOICEDLG" = "yes"; then
     AC_DEFINE(wxUSE_CHOICEDLG)
 fi
@@ -6932,6 +7069,29 @@ if test "$wxUSE_WIZARDDLG" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl wxGraphicsContext
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_GRAPHICS_CONTEXT" = "yes"; then
+   if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
+      AC_DEFINE(wxUSE_GRAPHICS_CONTEXT)
+   elif test "$wxUSE_GTK" != 1; then
+      dnl for other builds we'll just wing it for now...
+      AC_DEFINE(wxUSE_GRAPHICS_CONTEXT)
+   else  
+      dnl ...but let's check for cairo availability for wxGTK builds
+      PKG_CHECK_MODULES(CAIRO, cairo,
+           [
+               AC_DEFINE(wxUSE_GRAPHICS_CONTEXT)
+           ],
+           [
+               AC_MSG_WARN([Cairo library not found, unable to set wxUSE_GRAPHICS_CONTEXT])
+           ]
+      )
+   fi
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl wxMediaCtrl
 dnl ---------------------------------------------------------------------------
@@ -7264,6 +7424,17 @@ done
 
 if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
     WXUNIV=1
+
+    case "$wxUNIV_THEMES" in
+        ''|all)
+            AC_DEFINE(wxUSE_ALL_THEMES)
+            ;;
+
+        *)
+            for t in `echo $wxUNIV_THEMES | tr , ' ' | tr a-z A-Z`; do
+                AC_DEFINE_UNQUOTED(wxUSE_THEME_$t)
+            done
+    esac
 else
     WXUNIV=0
 fi