summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-06-09 06:56:14 +0000
committerMike Frysinger <vapier@gentoo.org>2012-06-09 06:56:14 +0000
commitc54aeddb5a763bb36fb6061adc609013ed56f34f (patch)
treeb6cedea65b69c2895e7d7e1e7537d23fc1551a59 /eclass/toolchain.eclass
parentmarked x86 per bug 418637 (diff)
downloadgentoo-2-c54aeddb5a763bb36fb6061adc609013ed56f34f.tar.gz
gentoo-2-c54aeddb5a763bb36fb6061adc609013ed56f34f.tar.bz2
gentoo-2-c54aeddb5a763bb36fb6061adc609013ed56f34f.zip
add *-softfp-* support to the vendor field for people who want this for binary compat with closed sourced drivers #416727 by Raúl Porcel; merge the tc-is-hardfloat helper into the one place where it is called in the whole tree to avoid further confusion between when the return values of tc-is-softfloat and tc-is-hardfloat
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r--eclass/toolchain.eclass16
1 files changed, 12 insertions, 4 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 459bdff3a444..5c89de4d220b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.548 2012/06/05 17:08:41 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.549 2012/06/09 06:56:14 vapier Exp $
#
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -943,7 +943,7 @@ gcc-compiler-configure() {
fi
# Enable hardvfp
- if [[ $(tc-is-softfloat) == no ]] && \
+ if [[ $(tc-is-softfloat) == "no" ]] && \
[[ ${CTARGET} == armv[67]* ]] && \
tc_version_is_at_least "4.5"
then
@@ -1083,8 +1083,16 @@ gcc_do_configure() {
confgcc+=" $(use_enable lto)"
fi
- [[ $(tc-is-softfloat) == "yes" ]] && confgcc+=" --with-float=soft"
- [[ $(tc-is-hardfloat) == "yes" ]] && confgcc+=" --with-float=hard"
+ case $(tc-is-softfloat) in
+ yes) confgcc+=" --with-float=soft" ;;
+ softfp) confgcc+=" --with-float=softfp" ;;
+ *)
+ # If they've explicitly opt-ed in, do hardfloat,
+ # otherwise let the gcc default kick in.
+ [[ ${CTARGET//_/-} == *-hardfloat-* ]] \
+ && confgcc+=" --with-float=hard"
+ ;;
+ esac
# Native Language Support
if use nls ; then