summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2006-05-11 09:59:33 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2006-05-11 09:59:33 +0000
commit01ce52f25c5c838e57204e10ba78a16eb3e7d412 (patch)
tree57593b65cbb9b847286378dc2b58df9c1d440296 /sci-libs
parentStable on ppc64; bug #132887 (diff)
downloadgentoo-2-01ce52f25c5c838e57204e10ba78a16eb3e7d412.tar.gz
gentoo-2-01ce52f25c5c838e57204e10ba78a16eb3e7d412.tar.bz2
gentoo-2-01ce52f25c5c838e57204e10ba78a16eb3e7d412.zip
Bug #131320 - Use altivec only for single precision - it doesn't work with double or higher precision. Add long double variant and factor out common bits of econf. Might want to lock it down to arches that it makes a difference on in future.
(Portage version: 2.1_pre10-r5)
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/fftw/ChangeLog8
-rw-r--r--sci-libs/fftw/fftw-3.1.1.ebuild31
2 files changed, 30 insertions, 9 deletions
diff --git a/sci-libs/fftw/ChangeLog b/sci-libs/fftw/ChangeLog
index a4c036edb904..f2635994c391 100644
--- a/sci-libs/fftw/ChangeLog
+++ b/sci-libs/fftw/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-libs/fftw
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.32 2006/04/27 22:27:57 antarus Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.33 2006/05/11 09:59:33 robbat2 Exp $
+
+ 11 May 2006; Robin H. Johnson <robbat2@gentoo.org> fftw-3.1.1.ebuild:
+ Bug #131320 - Use altivec only for single precision - it doesn't work with
+ double or higher precision. Add long double variant and factor out common
+ bits of econf. Might want to lock it down to arches that it makes a
+ difference on in future.
27 Apr 2006; Alec Warner <antarus@gentoo.org> files/digest-fftw-2.1.5-r1,
files/digest-fftw-3.0.1-r1, files/digest-fftw-3.0.1-r2, Manifest:
diff --git a/sci-libs/fftw/fftw-3.1.1.ebuild b/sci-libs/fftw/fftw-3.1.1.ebuild
index d0078360caba..06a0d5e449d4 100644
--- a/sci-libs/fftw/fftw-3.1.1.ebuild
+++ b/sci-libs/fftw/fftw-3.1.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.1.1.ebuild,v 1.3 2006/04/11 06:07:07 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.1.1.ebuild,v 1.4 2006/05/11 09:59:33 robbat2 Exp $
inherit flag-o-matic eutils toolchain-funcs autotools
@@ -30,14 +30,17 @@ src_unpack() {
cd "${WORKDIR}"
mv ${P} ${P}-single
cp -pPR ${P}-single ${P}-double
+ cp -pPR ${P}-single ${P}-longdouble
}
src_compile() {
# filter -Os according to docs
replace-flags -Os -O2
+ local myconfcommon="--enable-shared --enable-threads"
local myconfsingle=""
local myconfdouble=""
+ local myconflongdouble=""
if use sse2; then
myconfsingle="$myconfsingle --enable-sse"
@@ -45,13 +48,15 @@ src_compile() {
elif use sse; then
myconfsingle="$myconfsingle --enable-sse"
fi
+ # altivec only helps floats, not doubles
+ if use altivec; then
+ myconfsingle="$myconfsingle --enable-altivec"
+ fi
cd "${S}-single"
econf \
- --enable-shared \
- --enable-threads \
+ ${myconfcommon} \
--enable-float \
- $(use_enable altivec) \
${myconfsingle} || \
die "./configure in single failed"
emake || die
@@ -59,16 +64,23 @@ src_compile() {
#the only difference here is no --enable-float
cd "${S}-double"
econf \
- --enable-shared \
- --enable-threads \
- $(use_enable altivec) \
+ ${myconfcommon} \
${myconfdouble} || \
die "./configure in double failed"
emake || die
+
+ #the only difference here is --enable-long-double
+ cd "${S}-longdouble"
+ econf \
+ ${myconfcommon} \
+ --enable-long-double \
+ ${myconflongdouble} || \
+ die "./configure in long double failed"
+ emake || die
}
src_install () {
- #both builds are installed in the same place
+ #all builds are installed in the same place
#libs have distinuguished names; include files, docs etc. identical.
cd "${S}-single"
make DESTDIR=${D} install || die
@@ -76,6 +88,9 @@ src_install () {
cd "${S}-double"
make DESTDIR=${D} install || die
+ cd "${S}-longdouble"
+ make DESTDIR=${D} install || die
+
# Install documentation.
cd "${S}-single"