[gparted] Enable C++11 compilation when using glibmm 2.45.40 and later (#756035)
- From: Curtis Gedak <gedakc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted] Enable C++11 compilation when using glibmm 2.45.40 and later (#756035)
- Date: Mon, 5 Oct 2015 16:22:48 +0000 (UTC)
commit d6d7cb2bbf2fc381b890f63bbbf626eacfc8cdf8
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date: Sun Oct 4 11:26:51 2015 +0100
Enable C++11 compilation when using glibmm 2.45.40 and later (#756035)
Glibmm 2.45.40 and later uses features in the ISO C++ 2011 standard.
The NEWS file [1] says:
Changes in 2.46 compared to 2.44:
General:
* Use, and require C++11, using features such as move operations,
noexcept auto, = delete, nulltpr, override.
(Murray Cumming, Kjell Ahlstedt)
Also found this by Murray Cumming [2]:
glibmm 2.45.40 requires C++11, both for its own build and by any
apps that use it. gtkmm also now requires C++11.
I think you are seeing a symptom of building the application without
C++11 support. For instance, using CXXFLAGS="--std=c++11", though
you'd be better of using an m4 macro such as
AX_CXX_COMPILE_STDCXX_11().
Without enabling C++11 compiler features, compilation of GParted with
the latest glibmm library fails with errors such as these:
/usr/include/glibmm-2.4/glibmm/ustring.h:267:14: error: expected ';' at end of member declaration
~ustring() noexcept;
^
/usr/include/glibmm-2.4/glibmm/ustring.h:267:14: error: 'noexcept' does not name a type
~ustring() noexcept;
^
/usr/include/glibmm-2.4/glibmm/ustring.h:267:14: note: C++11 'noexcept' only available with
-std=c++11 or -std=gnu++11
[1] glibmm NEWS file
https://git.gnome.org/browse/glibmm/tree/NEWS?id=934e8290ce913b12e251ea617d0fc8ac53c385c6
[2] https://bugs.launchpad.net/ubuntu/+source/glibmm2.4/+bug/1478367
Bug 756035 - GParted does not compile with newer gtkmm libraries in
Fedora 23
configure.ac | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index bc3a450..a11bd41 100644
--- a/configure.ac
+++ b/configure.ac
@@ -272,6 +272,17 @@ PKG_CHECK_EXISTS(
)
+dnl Check for glibmm >= 2.45.40 and if found enable required C++11 compilation.
+AC_MSG_CHECKING([for glibmm >= 2.45.40 which requires C++11 compilation])
+PKG_CHECK_EXISTS(
+ [glibmm-2.4 >= 2.45.40],
+ [AC_MSG_RESULT([yes])
+ AX_CXX_COMPILE_STDCXX_11()
+ ],
+ [AC_MSG_RESULT([no])]
+)
+
+
dnl======================
dnl check whether to build documentation - gnome-doc-utils
dnl======================
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]