]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
use wxRect::Contains(), not Inside() (fixes compilation for WXWIN_COMPATIBILITY_2_6==0
[wxWidgets.git] / configure.in
index adb3f31e57ea06a6eb2afc2e5d6c94947d5b8353..8af20daa027cb21400732cf642df369d29604e35 100644 (file)
@@ -510,6 +510,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_ACCEL=no
   DEFAULT_wxUSE_BUTTON=no
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_ACCEL=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
   DEFAULT_wxUSE_CALCTRL=no
   DEFAULT_wxUSE_CARET=no
   DEFAULT_wxUSE_CHECKBOX=no
@@ -642,7 +643,7 @@ else
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_MEDIACTRL=no
   DEFAULT_wxUSE_GSTREAMER8=no
   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
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -722,6 +723,7 @@ else
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_BUTTON=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_ACCEL=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
   DEFAULT_wxUSE_CALCTRL=yes
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_CHECKBOX=yes
@@ -963,7 +965,7 @@ WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUS
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
 WX_ARG_ENABLE(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(printfposparam,[  --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZip streams], wxUSE_ZIPSTREAM)
 
@@ -1141,6 +1143,7 @@ fi
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
 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(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
 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)
 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)
@@ -1689,11 +1692,11 @@ case "${host}" in
                   #else
                               "Innotek6"
                   #endif
                   #else
                               "Innotek6"
                   #endif
-                     );
+                      );
                       exit(0);
                   }
               ],
                       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"
               wx_cv_gccversion="EMX2",
               dnl Compilation error: Assuming standard EMX environment
               wx_cv_gccversion="EMX2"
@@ -1931,6 +1934,31 @@ else
     fi
 fi
 
     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
 
 dnl check for large file support
 AC_SYS_LARGEFILE
 
@@ -2836,6 +2864,9 @@ if test "$USE_WIN32" = 1 ; then
     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 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
 fi
 
 if test "$wxUSE_GUI" = "yes"; then
@@ -2984,20 +3015,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).
             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])
 
             dnl test if we have at least GTK+ 2.6:
             AC_MSG_CHECKING([if GTK+ is version >= 2.6])
@@ -4374,7 +4394,13 @@ if test "$ac_cv_func_snprintf" = "yes"; then
                         }
                     ],
                     wx_cv_func_snprintf_pos_params=no,
                         }
                     ],
                     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
+                    ]
                 )
             ]
         )
                 )
             ]
         )
@@ -4385,8 +4411,40 @@ if test "$ac_cv_func_snprintf" = "yes"; then
     fi
 fi
 
     fi
 fi
 
-
 if test "$wxUSE_UNICODE" = yes; then
 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)
 
     dnl also look if we have wide char IO functions
     AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
 
@@ -6484,6 +6542,11 @@ if test "$wxUSE_HYPERLINKCTRL" = "yes"; then
   USES_CONTROLS=1
 fi
 
   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
 if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
   AC_DEFINE(wxUSE_DATAVIEWCTRL)
   USES_CONTROLS=1