summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Dittrich <markusle@gentoo.org>2005-11-16 03:54:35 +0000
committerMarkus Dittrich <markusle@gentoo.org>2005-11-16 03:54:35 +0000
commita3c3031da194a99bebf13193d8da020500f33e8f (patch)
treeca2ff020811e8e7fbdcdb2fed2b03ae129f4816a /sci-libs
parentNew version (diff)
downloadhistorical-a3c3031da194a99bebf13193d8da020500f33e8f.tar.gz
historical-a3c3031da194a99bebf13193d8da020500f33e8f.tar.bz2
historical-a3c3031da194a99bebf13193d8da020500f33e8f.zip
Use libtool for linking shared libraries when compiling with ifc. This closes bug #112410.
Package-Manager: portage-2.0.51.22-r3
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/lapack-reference/ChangeLog9
-rw-r--r--sci-libs/lapack-reference/files/digest-lapack-reference-3.0-r23
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.0-r2.ebuild123
3 files changed, 134 insertions, 1 deletions
diff --git a/sci-libs/lapack-reference/ChangeLog b/sci-libs/lapack-reference/ChangeLog
index 92a08d61608e..8da49e0de277 100644
--- a/sci-libs/lapack-reference/ChangeLog
+++ b/sci-libs/lapack-reference/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-libs/lapack-reference
# Copyright 2004-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-reference/ChangeLog,v 1.4 2005/11/13 05:40:26 ribosome Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-reference/ChangeLog,v 1.5 2005/11/16 03:54:35 markusle Exp $
+
+*lapack-reference-3.0-r2 (16 Nov 2005)
+
+ 16 Nov 2005; Markus Dittrich <markusle@gentoo.org>
+ +lapack-reference-3.0-r2.ebuild:
+ Use libtool for linking shared libraries when compiling with ifc.
+ This closes bug #112410
*lapack-reference-3.0-r1 (13 Nov 2005)
diff --git a/sci-libs/lapack-reference/files/digest-lapack-reference-3.0-r2 b/sci-libs/lapack-reference/files/digest-lapack-reference-3.0-r2
new file mode 100644
index 000000000000..8579dfaa3215
--- /dev/null
+++ b/sci-libs/lapack-reference/files/digest-lapack-reference-3.0-r2
@@ -0,0 +1,3 @@
+MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992
+MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736
+MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272
diff --git a/sci-libs/lapack-reference/lapack-reference-3.0-r2.ebuild b/sci-libs/lapack-reference/lapack-reference-3.0-r2.ebuild
new file mode 100644
index 000000000000..c5fcba57345d
--- /dev/null
+++ b/sci-libs/lapack-reference/lapack-reference-3.0-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-reference/lapack-reference-3.0-r2.ebuild,v 1.1 2005/11/16 03:54:35 markusle Exp $
+
+inherit eutils fortran
+
+MyPN="${PN/-reference/}"
+
+DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage"
+LICENSE="lapack"
+HOMEPAGE="http://www.netlib.org/lapack/index.html"
+SRC_URI="http://www.netlib.org/lapack/${MyPN}.tgz
+ mirror://gentoo/${MyPN}-20020531-20021004.patch.bz2
+ mirror://gentoo/${MyPN}-gentoo.patch"
+
+SLOT="0"
+IUSE="ifc"
+KEYWORDS="~x86 ~amd64"
+
+DEPEND="sys-devel/libtool
+ sci-libs/lapack-config
+ ifc? ( dev-lang/ifc )"
+
+RDEPEND="virtual/blas
+ ifc? ( dev-lang/ifc )" # Need ifc runtime libraries
+
+PROVIDE="virtual/lapack"
+
+FORTRAN="g77 ifc"
+
+S="${WORKDIR}/LAPACK"
+
+ifc_info() {
+ if [ -z "${IFCFLAGS}" ]
+ then
+ einfo
+ einfo "You may want to set some ifc optimization flags by running this"
+ einfo "ebuild as, for example, \`IFCFLAGS=\"-O3 -tpp7 -xW\" emerge blas\`"
+ einfo "(Pentium 4 exclusive optimizations)."
+ einfo
+ einfo "ifc defaults to -O2, with code tuned for Pentium 4, but that"
+ einfo "will run on any processor."
+ einfo
+ einfo "Beware that ifc's -O3 is very aggressive, sometimes resulting in"
+ einfo "significantly worse performance."
+ einfo
+ epause 5
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ epatch "${DISTDIR}"/lapack-20020531-20021004.patch.bz2
+ epatch "${DISTDIR}"/lapack-gentoo.patch
+}
+
+src_compile() {
+ TOP_PATH="${DESTTREE}"/lib/lapack
+ # Library will be installed in RPATH:
+ RPATH="${TOP_PATH}"/reference
+
+ if use ifc; then
+ FC="ifc"
+ FFLAGS="${IFCFLAGS}"
+ NOOPT="-O0" # Do NOT change this. It is applied to two files with
+ # routines to determine machine constants.
+ ifc_info
+ else
+ FC="g77"
+ FFLAGS="${CFLAGS}"
+ NOOPT=""
+ # libg2c is required to link with liblapack.so using ifc:
+ DEP_LIBS="-lg2c"
+ fi
+
+ DEP_LIBS="${DEP_LIBS} -lblas"
+
+ cd "${S}"/SRC
+ make all FORTRAN="libtool --mode=compile --tag=F77 ${FC}" OPTS="${FFLAGS}"\
+ NOOPT="${NOOPT}" || die
+
+ if use ifc; then
+ # Intel portability library that provides the etime function
+ libtool --tag=F77 --mode=link ${FC} -shared ${FFLAGS} *.lo \
+ ${DEP_LIBS} -Wl,-soname -Wl,liblapack.so.0 \
+ -o liblapack.so.0.0.0 -Vaxlib || die
+ ar cru liblapack.a *.o || die
+ ranlib liblapack.a || die
+ else
+ libtool --mode=link --tag=CC ${FC} ${FFLAGS} -o liblapack.la *.lo \
+ -rpath ${RPATH} ${DEP_LIBS} || die
+ fi
+}
+
+src_install() {
+ dodir "${RPATH}" || die
+
+ cd "${S}"/SRC
+
+ if use ifc; then
+ strip --strip-unneeded liblapack.so.0.0.0 || die
+ strip --strip-debug liblapack.a || die
+
+ exeinto "${RPATH}"
+ doexe liblapack.so.0.0.0 || die
+ dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so.0 || die
+ dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so || die
+
+ insinto "${RPATH}"
+ doins liblapack.a || die
+ else
+ libtool --mode=install install -s liblapack.la "${D}/${RPATH}" || die
+ fi
+
+ insinto ${TOP_PATH}
+ doins "${FILESDIR}"/f77-reference || die
+
+ dodoc "${S}"/README
+}
+
+pkg_postinst() {
+ "${DESTTREE}"/bin/lapack-config reference
+}