]> git.saurik.com Git - wxWidgets.git/commitdiff
Test whether GTK+ is 2.18 or newer in configure.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Oct 2009 22:49:38 +0000 (22:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Oct 2009 22:49:38 +0000 (22:49 +0000)
We need to define __WXGTK218__ symbol in configure instead of simply checking
if we are compiled with 2.18 in wx/infobar.h because GTK_CHECK_VERSION() can't
be used when compiling user code which can't even include gtk/gtkversion.h
defining it because it doesn't necessarily use `pkg-config --cflags gtk+-2.0`
at all in its CFLAGS.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in
include/wx/infobar.h
setup.h.in
setup.h_vms

index 568bfc4aba75af6485b8bceef6db3eb415512dcd..3178dd9c23505e13329f507f40a5ff6f33325adb 100755 (executable)
--- a/configure
+++ b/configure
@@ -29532,8 +29532,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
             LIBS="$LIBS $wx_cv_libs_gtk"
 
-                        { echo "$as_me:$LINENO: checking if GTK+ is version >= 2.10" >&5
-echo $ECHO_N "checking if GTK+ is version >= 2.10... $ECHO_C" >&6; }
+                        { echo "$as_me:$LINENO: checking if GTK+ is version >= 2.18" >&5
+echo $ECHO_N "checking if GTK+ is version >= 2.18... $ECHO_C" >&6; }
             cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -29547,8 +29547,8 @@ int
 main ()
 {
 
-                            #if !GTK_CHECK_VERSION(2,10,0)
-                            Not GTK+ 2.10
+                            #if !GTK_CHECK_VERSION(2,18,0)
+                            Not GTK+ 2.18
                             #endif
 
   ;
@@ -29573,6 +29573,10 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
 
+                            cat >>confdefs.h <<\_ACEOF
+#define __WXGTK218__ 1
+_ACEOF
+
                             cat >>confdefs.h <<\_ACEOF
 #define __WXGTK210__ 1
 _ACEOF
@@ -29583,7 +29587,7 @@ _ACEOF
 
                             { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-                            ac_wxgtk210=1
+                            ac_wxgtk218=1
 
 else
   echo "$as_me: failed program was:" >&5
@@ -29592,15 +29596,15 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                             { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-                            ac_wxgtk210=0
+                            ac_wxgtk218=0
 
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-            if test "$ac_wxgtk210" = 0; then
-                                { echo "$as_me:$LINENO: checking if GTK+ is version >= 2.6" >&5
-echo $ECHO_N "checking if GTK+ is version >= 2.6... $ECHO_C" >&6; }
+            if test "$ac_wxgtk218" = 0; then
+                                { echo "$as_me:$LINENO: checking if GTK+ is version >= 2.10" >&5
+echo $ECHO_N "checking if GTK+ is version >= 2.10... $ECHO_C" >&6; }
                 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -29614,8 +29618,8 @@ int
 main ()
 {
 
-                                #if !GTK_CHECK_VERSION(2,6,0)
-                                Not GTK+ 2.6
+                                #if !GTK_CHECK_VERSION(2,10,0)
+                                Not GTK+ 2.10
                                 #endif
 
   ;
@@ -29640,13 +29644,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
 
+                                cat >>confdefs.h <<\_ACEOF
+#define __WXGTK210__ 1
+_ACEOF
+
                                 cat >>confdefs.h <<\_ACEOF
 #define __WXGTK26__ 1
 _ACEOF
 
                                 { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-                                ac_wxgtk26=1
+                                ac_wxgtk210=1
 
 else
   echo "$as_me: failed program was:" >&5
@@ -29655,11 +29663,75 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                                 { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-                                ac_wxgtk26=0
+                                ac_wxgtk210=0
 
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+                if test "$ac_wxgtk210" = 0; then
+                                        { echo "$as_me:$LINENO: checking if GTK+ is version >= 2.6" >&5
+echo $ECHO_N "checking if GTK+ is version >= 2.6... $ECHO_C" >&6; }
+                    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+                                    #include <gtk/gtk.h>
+
+int
+main ()
+{
+
+                                    #if !GTK_CHECK_VERSION(2,6,0)
+                                    Not GTK+ 2.6
+                                    #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+                                    cat >>confdefs.h <<\_ACEOF
+#define __WXGTK26__ 1
+_ACEOF
+
+                                    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+                                    ac_wxgtk26=1
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+                                    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                                    ac_wxgtk26=0
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+                fi
             fi
 
             CFLAGS="$save_CFLAGS"
index 51b2465987ad4fa2f129275e5fe388454a5bad53..5ce3ee7c742e505aa0ced1e48d9391a90fd841b2 100644 (file)
@@ -2903,47 +2903,71 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
             CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
             LIBS="$LIBS $wx_cv_libs_gtk"
 
-            dnl test if we have at least GTK+ 2.10:
-            AC_MSG_CHECKING([if GTK+ is version >= 2.10])
+            dnl test if we have at least GTK+ 2.18:
+            AC_MSG_CHECKING([if GTK+ is version >= 2.18])
             AC_TRY_COMPILE([
                             #include <gtk/gtk.h>
                            ],
                            [
-                            #if !GTK_CHECK_VERSION(2,10,0)
-                            Not GTK+ 2.10
+                            #if !GTK_CHECK_VERSION(2,18,0)
+                            Not GTK+ 2.18
                             #endif
                            ],
                            [
+                            AC_DEFINE(__WXGTK218__)
                             AC_DEFINE(__WXGTK210__)
                             AC_DEFINE(__WXGTK26__)
                             AC_MSG_RESULT([yes])
-                            ac_wxgtk210=1
+                            ac_wxgtk218=1
                            ],
                            [
                             AC_MSG_RESULT([no])
-                            ac_wxgtk210=0
+                            ac_wxgtk218=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])
+            if test "$ac_wxgtk218" = 0; then
+                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_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_MSG_RESULT([yes])
+                                    ac_wxgtk26=1
+                                ],
+                                [
+                                    AC_MSG_RESULT([no])
+                                    ac_wxgtk26=0
+                                ])
+                fi
             fi
 
             CFLAGS="$save_CFLAGS"
index 3176711a7d8b277315b5c5880ada5acc8e16a59c..5480b798e62a7234e5580c8f25f3e8c7f3d626a2 100644 (file)
@@ -52,12 +52,9 @@ private:
 };
 
 // currently only GTK+ has a native implementation
-#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
-    #include <gtk/gtkversion.h>
-    #if GTK_CHECK_VERSION(2, 18, 0)
-        #include "wx/gtk/infobar.h"
-        #define wxHAS_NATIVE_INFOBAR
-    #endif
+#if defined(__WXGTK218__) && !defined(__WXUNIVERSAL__)
+    #include "wx/gtk/infobar.h"
+    #define wxHAS_NATIVE_INFOBAR
 #endif // wxGTK2
 
 // if the generic version is the only one we have, use it
index 75f4246ece0123ce9fadf5a3c0c61a49e5546d2a..84a3c6086ab08fd36d66e308cff05c8ac352d116 100644 (file)
@@ -68,6 +68,9 @@
 /* Define this if your version of GTK+ is greater than 2.10 */
 #undef __WXGTK210__
 
+/* Define this if your version of GTK+ is greater than 2.18 */
+#undef __WXGTK218__
+
 /* Define this if you want to use GPE features */
 #undef __WXGPE__
 
index f97172fdec06e52678254628b56e8854471db282..29d61b09e9ae60807f0da777d840eb6b0fd86f46 100644 (file)
@@ -88,6 +88,9 @@
 /* Define this if your version of GTK+ is greater than 2.10 */
 #define __WXGTK210__ 1
 
+/* Define this if your version of GTK+ is greater than 2.18 */
+#undef __WXGTK218__
+
 #include <types.h>
 typedef pid_t GPid;