diff options
author | Markus Dittrich <markusle@gentoo.org> | 2005-11-16 03:54:35 +0000 |
---|---|---|
committer | Markus Dittrich <markusle@gentoo.org> | 2005-11-16 03:54:35 +0000 |
commit | a3c3031da194a99bebf13193d8da020500f33e8f (patch) | |
tree | ca2ff020811e8e7fbdcdb2fed2b03ae129f4816a /sci-libs | |
parent | New version (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | sci-libs/lapack-reference/files/digest-lapack-reference-3.0-r2 | 3 | ||||
-rw-r--r-- | sci-libs/lapack-reference/lapack-reference-3.0-r2.ebuild | 123 |
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 +} |