From 5959cfdb7a736cd0ac83bfb13e6fdfb987ac0217 Mon Sep 17 00:00:00 2001 From: Anthony Ryan Date: Thu, 24 Nov 2016 22:49:17 -0500 Subject: qt4-build-multilib.eclass: explicitly build with -std=gnu++98 While some of the Qt4 packages build correctly with -std=gnu++14, others rely upon std::tr1 and other renamed library items. Because most of these issues have been resolved upstream in Qt5, the easiest solution is to ensure Qt4 is always built with -std=gnu++98. Gentoo-Bug: 582522, 582618, 583744, 583662 Closes: https://github.com/gentoo/gentoo/pull/2908 --- eclass/qt4-build-multilib.eclass | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'eclass') diff --git a/eclass/qt4-build-multilib.eclass b/eclass/qt4-build-multilib.eclass index 2a84bc5733c1..d0b11afe3a40 100644 --- a/eclass/qt4-build-multilib.eclass +++ b/eclass/qt4-build-multilib.eclass @@ -158,6 +158,12 @@ qt4-build-multilib_src_prepare() { || die "sed failed (skip X11 tests)" fi + # Qt4 is not safe to build with C++14 (the new gcc-6 default). + # Upstream has addressed this for Qt5, but while we continue to + # support Qt4, we need to ensure everything is built in C++98 mode. + # See bugs 582522, 582618, 583662, 583744. + append-cxxflags -std=gnu++98 + if [[ ${PN} == qtcore ]]; then # Bug 373061 # qmake bus errors with -O2 or -O3 but -O1 works -- cgit v1.2.3-65-gdbad