summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Pesavento <pesa@gentoo.org>2015-03-23 02:15:14 +0000
committerDavide Pesavento <pesa@gentoo.org>2015-03-23 02:15:14 +0000
commit2f7c01c94fd0839fa381985319134f608ef1915b (patch)
treedc99ba12d8b873be85c24c9b25585a34a3a6e6fc /eclass/qt4-build.eclass
parentupdate to 2015.02 to fix bug #543788 (diff)
downloadgentoo-2-2f7c01c94fd0839fa381985319134f608ef1915b.tar.gz
gentoo-2-2f7c01c94fd0839fa381985319134f608ef1915b.tar.bz2
gentoo-2-2f7c01c94fd0839fa381985319134f608ef1915b.zip
Workaround toolchain bug on x86 with -Os and --as-needed, see bug #503500.
Diffstat (limited to 'eclass/qt4-build.eclass')
-rw-r--r--eclass/qt4-build.eclass26
1 files changed, 16 insertions, 10 deletions
diff --git a/eclass/qt4-build.eclass b/eclass/qt4-build.eclass
index 6e6008a72a48..4d20a6572acf 100644
--- a/eclass/qt4-build.eclass
+++ b/eclass/qt4-build.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.161 2015/03/15 01:25:19 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.162 2015/03/23 02:15:14 pesa Exp $
# @ECLASS: qt4-build.eclass
# @MAINTAINER:
@@ -172,10 +172,18 @@ qt4-build_src_prepare() {
skip_qmake_build
skip_project_generation
symlink_binaries_to_buildtree
- fi
+ else
+ # Bug 373061
+ # qmake bus errors with -O2 or -O3 but -O1 works
+ if [[ ${CHOST} == *86*-apple-darwin* ]]; then
+ replace-flags -O[23] -O1
+ fi
- if use_if_iuse c++0x; then
- append-cxxflags -std=c++0x
+ # Bug 503500
+ # undefined reference with -Os and --as-needed
+ if use x86; then
+ replace-flags -Os -O2
+ fi
fi
# Bug 261632
@@ -183,18 +191,16 @@ qt4-build_src_prepare() {
append-flags -mminimal-toc
fi
- # Bug 373061
- # qmake bus errors with -O2 or -O3 but -O1 works
- if [[ ${CHOST} == *86*-apple-darwin* ]]; then
- replace-flags -O[23] -O1
- fi
-
# Bug 417105
# graphite on gcc 4.7 causes miscompilations
if [[ $(gcc-version) == "4.7" ]]; then
filter-flags -fgraphite-identity
fi
+ if use_if_iuse c++0x; then
+ append-cxxflags -std=c++0x
+ fi
+
# Respect CC, CXX, {C,CXX,LD}FLAGS in .qmake.cache
sed -e "/^SYSTEM_VARIABLES=/i \
CC='$(tc-getCC)'\n\