[gparted] Change to autoconf PKG_CHECK_EXISTS for set_default_icon_name() method (#762184)
- From: Curtis Gedak <gedakc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted] Change to autoconf PKG_CHECK_EXISTS for set_default_icon_name() method (#762184)
- Date: Thu, 18 Feb 2016 21:16:05 +0000 (UTC)
commit ff9aeb809277b03c2d46fb16985933cf4adae061
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date: Wed Feb 17 14:28:35 2016 +0000
Change to autoconf PKG_CHECK_EXISTS for set_default_icon_name() method (#762184)
Previously the autoconf check for Gtk::Window::set_default_icon_name()
method was a compile test because the documentation reported the method
was available in gtkmm from 2.6 [1], however it wasn't available on
RHEL / CentOS 5.x with gtkmm 2.10.
Then commit [2] added detection and enabling of C++11 compilation, but
after the above autoconf check. So on Fedora 23 the compiler based
autoconf check for set_default_icon_name() method failed because C++11
compilation had not yet been enabled:
> checking for Gtk::Window::set_default_icon_name method... no
checking for gtk_show_uri function... yes
checking for Gtk::MessageDialog::get_message_area() method... yes
> checking for glibmm >= 2.45.40 which requires C++11 compilation... yes
> checking whether g++ supports C++11 features by default... no
> checking whether g++ supports C++11 features with -std=gnu++11... yes
The gtkmm source code reveals that set_default_icon_name() method was
only added in gtkmm 2.11.1 [3] so switch to a PKG_CHECK_EXISTS for this
version of gtkmm.
[1] gtkmm GTK::Window Class Reference
https://developer.gnome.org/gtkmm/3.6/classGtk_1_1Window.html#a533d03e9b92d8ccd142ab3a44005cae4
[2] Enable C++11 compilation when using glibmm 2.45.40 and later (#756035)
d6d7cb2bbf2fc381b890f63bbbf626eacfc8cdf8
[3] gtkmm NEWS file
https://git.gnome.org/browse/gtkmm/tree/NEWS?h=gtkmm-2.14.0#n565
Bug 762184 - Autoconf check for C++11 comes after compile test for
Gtk::Window::set_default_icon_name()
configure.ac | 31 +++++++++----------------------
1 files changed, 9 insertions(+), 22 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 3ef1558..414b1cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -214,27 +214,17 @@ PKG_CHECK_EXISTS(
)
-dnl Check for Gtk::Window::set_default_icon_name() method
+dnl Check for gtkmm >= 2.11.1 to determine availability of Gtk::Window::set_default_icon_name()
dnl NOTE:
-dnl The documentation says that set_default_icon_name() is available in gtkmm >= 2.6.
-dnl gtkmm GTK::Window Class Reference
+dnl The documentation says that set_default_icon_name() is available in gtkmm >= 2.6,
+dnl however the code reveals that it is only available in gtkmm >= 2.11.1.
+dnl * gtkmm GTK::Window Class Reference
dnl https://developer.gnome.org/gtkmm/3.6/classGtk_1_1Window.html#a533d03e9b92d8ccd142ab3a44005cae4
-dnl However it is not available in RHEL/CentOS 5.9 with gtkmm 2.10. Therefore a package
-dnl version check isn't sufficient. Instead perform a more accurate, but slower, compile
-dnl and link a test program check.
-AC_LANG_PUSH([C++])
-CXXFLAGS_save="$CXXFLAGS"
-CXXFLAGS="$CXXFLAGS `pkg-config gtkmm-2.4 --cflags`"
-LIBS_save="$LIBS"
-LIBS="`pkg-config gtkmm-2.4 --libs`"
-AC_MSG_CHECKING([for Gtk::Window::set_default_icon_name method])
-AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <gtkmm.h>]],
- [[Gtk::Window mywindow;
- mywindow.set_default_icon_name("myappname");
- ]]
- )],
+dnl * gtkmm NEWS file
+dnl https://git.gnome.org/browse/gtkmm/tree/NEWS?h=gtkmm-2.14.0#n565
+AC_MSG_CHECKING([for Gtk::Window::set_default_icon_name() method])
+PKG_CHECK_EXISTS(
+ [gtkmm-2.4 >= 2.11.1],
[AC_DEFINE([HAVE_SET_DEFAULT_ICON_NAME], 1,
[Define to 1 if gtkmm-2.4 provides Gtk::Window::set_default_icon_name() method.])
AM_CONDITIONAL([INSTALL_PIXMAPS_DIR], false)
@@ -244,9 +234,6 @@ AC_LINK_IFELSE(
AC_MSG_RESULT([no])
]
)
-CXXFLAGS="$CXXFLAGS_save"
-LIBS="$LIBS_save"
-AC_LANG_POP([C++])
dnl GTKMM 2.16 needed for gtk_show_uri()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]