diff options
author | bicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb> | 2007-08-16 16:00:47 +0000 |
---|---|---|
committer | bicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb> | 2007-08-16 16:00:47 +0000 |
commit | c399feead1b8d9ea84e3940a60a02f6b056d5df5 (patch) | |
tree | 9c6487ff15eb20e050bd3959e766f0daa43f010f /sci-libs | |
parent | added new virtual blas, cblas and lapack (diff) | |
download | sci-c399feead1b8d9ea84e3940a60a02f6b056d5df5.tar.gz sci-c399feead1b8d9ea84e3940a60a02f6b056d5df5.tar.bz2 sci-c399feead1b8d9ea84e3940a60a02f6b056d5df5.zip |
added many updates to blas/lapack packages
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@691 32389bae-6d03-0410-99cf-db05cde120eb
Diffstat (limited to 'sci-libs')
66 files changed, 3458 insertions, 0 deletions
diff --git a/sci-libs/acml/Manifest b/sci-libs/acml/Manifest new file mode 100644 index 000000000..f17d88c7f --- /dev/null +++ b/sci-libs/acml/Manifest @@ -0,0 +1,29 @@ +AUX blas.pc.in 318 RMD160 100136e9411ebdb6dc20c7d7034577176bac0e54 SHA1 7c3b9b718c9484bb36db5653ef137c0c3f7aca89 SHA256 08a708be96e90a601286d31f0c3b15e4d1f163a040cbb29f685a6c4b166407bf +MD5 96cff33ac323d11dbbe2d55e9d5da4b1 files/blas.pc.in 318 +RMD160 100136e9411ebdb6dc20c7d7034577176bac0e54 files/blas.pc.in 318 +SHA256 08a708be96e90a601286d31f0c3b15e4d1f163a040cbb29f685a6c4b166407bf files/blas.pc.in 318 +AUX lapack.pc.in 314 RMD160 fa39d726a113cbfae773430b53c2621e9611bf70 SHA1 ca0d4fc03b9c43c282fd4da13694905e73a1c58d SHA256 7007cc3b3e663b1bf25df1198e7b44d55d05c400bc77c009ef229f9a5d3a06b9 +MD5 35e9a51de8c4d4c908feb5a90aa924e7 files/lapack.pc.in 314 +RMD160 fa39d726a113cbfae773430b53c2621e9611bf70 files/lapack.pc.in 314 +SHA256 7007cc3b3e663b1bf25df1198e7b44d55d05c400bc77c009ef229f9a5d3a06b9 files/lapack.pc.in 314 +DIST acml-3-6-0-gnu-32bit.tgz 9879145 RMD160 bafa6acd1d8a319fb385245559779450c7bdcd66 SHA1 7dad2ce9fb99572da79e127c711aabe29a888298 SHA256 81ee83babf134bc021e5e64983200abf815531ee20ecc5ecc97a30bbdb5cf6dd +DIST acml-3-6-0-gnu-64bit.tgz 11101900 RMD160 f6d674a4fbf99e79109bb379d1ba5dbaf88ce010 SHA1 6f5aab32f396ac9cf99a9c142d89f0b835cb54f0 SHA256 240cd40c9f9c993c15ec113278faf8689713b45b7626da2d0c369024bec97c03 +DIST acml-3-6-0-ifort-32bit.tgz 17399749 RMD160 c41ebe1b62470858d176c5815e05893ba4caf4ad SHA1 87254fc12032ea9ea49822e00300774d8cda73b8 SHA256 1585df79ced4ecd6fdcbb59b36e2686b61d6faf7b755d5ac5a267eddeff36340 +DIST acml-3-6-0-ifort-64bit.tgz 21966276 RMD160 a6031f5cdacdc70d11c06cf6d8e8ae3149eff55f SHA1 094eb839d6a84ac5483588e965000862ae7ce40c SHA256 bdfb47a5f018d1bcca257b9223f176726663596ae0e8337dc295a312f8382950 +DIST acml-3-6-1-gfortran-32bit.tgz 17682562 RMD160 abdb8ea2f66f08f478a951b37c5ce5945854a357 SHA1 7606b690061319c50f30af11766694205b03922f SHA256 adec95c65d1042c65fa1490978b76042c3bf9670df7c226cd28431473985898c +DIST acml-3-6-1-gfortran-64bit-int64.tgz 19802195 RMD160 3cb2317d6a5ec62797c4a11ab1336aabb50e16fa SHA1 a9be2f4ecbfdb6e0f849f545b66e78f752367f00 SHA256 56cbbb6deac2a93d21f3954511ad95ccc2a8ce893fdbf9a8605a2d81deb1fc41 +DIST acml-3-6-1-gfortran-64bit.tgz 20452058 RMD160 8df00704e7ac037dcd55a9207f45d6f0b2214ff8 SHA1 f0d2a10e5db83dc264d6f937189ce10a1f461a4d SHA256 efec543a8185ffb6e6e68db94ef0cbd92c1b9ee1580affe6cd0a73c580ad8bdc +EBUILD acml-3.6.0-r1.ebuild 3942 RMD160 b029485d7230d4995b65e86bdca29508f96ec934 SHA1 1000c66d0a7e07d560708176481d3d504d78abae SHA256 0d68037cc5c0be70e1fb1a9a700e71e1fa29673a0a25cf6f6a9c210333ae04f9 +MD5 a91c81516a71325e5752bce83f30b693 acml-3.6.0-r1.ebuild 3942 +RMD160 b029485d7230d4995b65e86bdca29508f96ec934 acml-3.6.0-r1.ebuild 3942 +SHA256 0d68037cc5c0be70e1fb1a9a700e71e1fa29673a0a25cf6f6a9c210333ae04f9 acml-3.6.0-r1.ebuild 3942 +EBUILD acml-3.6.1-r1.ebuild 4800 RMD160 5a1ecbbd23e6e35050c05b45c1c4f3e3f760ae92 SHA1 45b3590c0130a6b05662feb52d74abab3d7bfb29 SHA256 248310b9b53178cc54c977ccf3a0e3c3b753b5fbc758f49ea5778ee5240fcf99 +MD5 32143a27766bc1b0174eb6996b2751bd acml-3.6.1-r1.ebuild 4800 +RMD160 5a1ecbbd23e6e35050c05b45c1c4f3e3f760ae92 acml-3.6.1-r1.ebuild 4800 +SHA256 248310b9b53178cc54c977ccf3a0e3c3b753b5fbc758f49ea5778ee5240fcf99 acml-3.6.1-r1.ebuild 4800 +MD5 0825c9a4d803ec3e005d86b883c72998 files/digest-acml-3.6.0-r1 1045 +RMD160 574657f2c6a1f3697428f9522c5d67fa18ce5193 files/digest-acml-3.6.0-r1 1045 +SHA256 47bd4eee1e3dfc0f1b508ce5a41054c23089bb9b9d7add427abcdc24942a1887 files/digest-acml-3.6.0-r1 1045 +MD5 f822ee466ea41e1f6900d64b52a495c6 files/digest-acml-3.6.1-r1 840 +RMD160 47a3138d09b475dcfe429b1ac3fc9c8a31bee749 files/digest-acml-3.6.1-r1 840 +SHA256 b1ab60561ac029d5f444f7c4b5c7c7dc1793f89ae5ec1b20baa7d4bfdb10a025 files/digest-acml-3.6.1-r1 840 diff --git a/sci-libs/acml/acml-3.6.0-r1.ebuild b/sci-libs/acml/acml-3.6.0-r1.ebuild new file mode 100644 index 000000000..cf96e69d7 --- /dev/null +++ b/sci-libs/acml/acml-3.6.0-r1.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils toolchain-funcs fortran + +DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs" +HOMEPAGE="http://developer.amd.com/acml.jsp" + +MY_PV=${PV//\./\-} +S=${WORKDIR} + +IUSE="openmp ifc doc examples" +KEYWORDS="~amd64 ~x86" + +SRC_URI="amd64? ( ifc? ( acml-${MY_PV}-ifort-64bit.tgz ) + !ifc? ( openmp? ( acml-${MY_PV}-ifort-64bit.tgz ) + !openmp? ( acml-${MY_PV}-gnu-64bit.tgz ) ) + openmp? ( acml-${MY_PV}-ifort-64bit.tgz ) ) + x86? ( ifc? ( acml-${MY_PV}-ifort-32bit.tgz ) + !ifc? ( openmp? ( acml-${MY_PV}-ifort-32bit.tgz ) + !openmp? ( acml-${MY_PV}-gnu-32bit.tgz ) ) + openmp? ( acml-${MY_PV}-ifort-32bit.tgz ) )" + +RESTRICT="strip fetch" +LICENSE="ACML" +SLOT="0" + +DEPEND="app-admin/eselect-blas + app-admin/eselect-lapack" + +RDEPEND="${DEPEND} + openmp? ( >=dev-lang/ifc-9 ) + doc? ( app-doc/blas-docs app-doc/lapack-docs )" + +pkg_nofetch() { + einfo "Please download the ACML from:" + einfo "${HOMEPAGE}" + einfo "and place it in ${DISTDIR}." + einfo "The previous versions could be found at" + einfo "http://developer.amd.com/acmlarchive.jsp" + einfo "SRC=${A} $SRC_URI" +} + +pkg_setup() { + elog "From version 3.5.0 on, ACML no longer supports" + elog "hardware without SSE/SSE2 instructions. " + elog "For older 32-bit hardware that does not support SSE/SSE2," + elog "you must continue to use an older version (ACML 3.1.0 and ealier)." + epause + FORTRAN=ifc + FORT=ifort + ! use ifc && ! use openmp && FORTRAN=g77 && FORT=gnu + fortran_pkg_setup +} + +src_unpack() { + unpack ${A} + (DISTDIR="${S}" unpack contents-acml-*.tgz) + use openmp || rm -rf ${FORT}*_mp* + FORTDIRS="$(ls -d ${FORT}*)" +} + +src_compile() { + einfo "Nothing to compile" + return +} + +src_test() { + for fort in ${FORTDIRS}; do + einfo "Testing acml for $(basename ${fort})" + cd "${S}/${fort}/examples" + for d in . acml_mv; do + cd "${S}/${fort}/examples/${d}" + emake \ + ACMLDIR="${S}/${fort}" \ + F77="${FORTRANC}" \ + CC="$(tc-getCC)" \ + CPLUSPLUS="$(tc-getCXX)" \ + || die "emake test in ${fort}/examples/${d} failed" + emake clean + done + done +} + +src_install() { + # respect acml default install dir (and FHS) + local instdir="/opt/${PN}${PV}" + dodir ${instdir} + + for fort in ${FORTDIRS}; do + # install acml + use examples || rm -rf "${S}/${fort}"/examples + cp -pPR "${S}/${fort}" "${D}${instdir}" + + # install profiles + local acmldir=${instdir}/${fort} + local libname=${acmldir}/lib/libacml + local prof=acml-${FORTRANC} + local extlibs + local extflags + if [[ "${fort}" =~ "_mp" ]]; then + prof="${prof}-openmp" + extlibs="-lpthread" + libname="${libname}_mp" + extflags="${extflags} -openmp" + fi + for l in blas lapack; do + # pkgconfig files + sed -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@ACMLDIR@:${acmldir}:g" \ + -e "s:@EXTLIBS@:${extlibs}:g" \ + -e "s:@EXTFLAGS@:${extflags}:g" \ + "${FILESDIR}"/${l}.pc.in > ${l}.pc \ + || die "sed ${l}.pc failed" + insinto ${acmldir}/lib + doins ${l}.pc + + # eselect files + cat > eselect.${l} << EOF +${libname}.so /usr/@LIBDIR@/lib${l}.so.0 +${libname}.so /usr/@LIBDIR@/lib${l}.so +${libname}.a /usr/@LIBDIR@/lib${l}.a +${acmldir}/lib/${l}.pc /usr/@LIBDIR@/pkgconfig/${l}.pc +EOF + eselect ${l} add $(get_libdir) eselect.${l} ${prof} + done + echo "LDPATH=${instdir}/${fort}/lib" > 35acml + echo "INCLUDE=${instdir}/${fort}/include" >> 35acml + done + + # paths + doenvd 35acml + + use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html + cp -pPR "${S}"/Doc "${D}${instdir}" +} + +pkg_postinst() { + # set acml if none are set yet + for l in blas lapack; do + if [[ -z "$(eselect ${l} show)" ]]; then + local prof=acml-${FORTRANC} + use openmp && prof="${prof}-openmp" + eselect ${l} set ${prof} + fi + done + elog "Use 'eselect blas' and 'eselect lapack' to select" + elog "one of the multiple acml blas and lapack profiles" +} diff --git a/sci-libs/acml/acml-3.6.1-r1.ebuild b/sci-libs/acml/acml-3.6.1-r1.ebuild new file mode 100644 index 000000000..48e226d9f --- /dev/null +++ b/sci-libs/acml/acml-3.6.1-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils toolchain-funcs fortran + +DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs" +HOMEPAGE="http://developer.amd.com/acml.jsp" + +MY_PV=${PV//\./\-} +S=${WORKDIR} +SRC_URI="x86? ( acml-${MY_PV}-gfortran-32bit.tgz ) + amd64? ( ( acml-${MY_PV}-gfortran-64bit.tgz ) + int64? ( acml-${MY_PV}-gfortran-64bit-int64.tgz ) )" + + +RESTRICT="strip fetch" +IUSE="openmp int64 test doc examples" +LICENSE="ACML" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +# proper gcc needed for tests +DEPEND="app-admin/eselect-blas + openmp? ( test? ( >=sys-devel/gcc-4.2 ) ) + !openmp? ( test? ( =sys-devel/gcc-4.1* ) ) + app-admin/eselect-lapack" + +RDEPEND="${DEPEND} + openmp? ( >=sys-devel/gcc-4.2 ) + !openmp? ( =sys-devel/gcc-4.1* ) + doc? ( app-doc/blas-docs app-doc/lapack-docs )" + +pkg_nofetch() { + einfo "Please download the ACML from:" + einfo "${HOMEPAGE}" + einfo "and place it in ${DISTDIR}" + einfo "The previous versions could be found at" + einfo "http://developer.amd.com/acmlarchive.jsp" +} + +pkg_setup() { + elog "From version 3.5.0 on, ACML no longer supports" + elog "hardware without SSE/SSE2 instructions. " + elog "For older 32-bit hardware that does not support SSE/SSE2," + elog "you must continue to use an older version (ACML 3.1.0 and ealier)." + epause + FORTRAN="gfortran" + fortran_pkg_setup + if use test; then + if ! use openmp && [[ $(gcc-version) != "4.1" ]]; then + eerror "You need gcc-4.1.x to test acml." + eerror "Please use gcc-config to swicth gcc version 4.1.x" + die "setup gcc failed" + elif use openmp && [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]]; then + eerror "You need gfortran >= 4.2 to use openmp features." + eerror "Please use gcc-config to switch gcc version >= 4.2" + die "setup gcc failed" + fi + fi +} + +src_unpack() { + unpack ${A} + (DISTDIR="${S}" unpack contents-acml-*.tgz) + case ${FORTRANC} in + g77) FORT=gnu ;; + gfortran) FORT=gfortran ;; + ifc|ifort) FORT=ifort ;; + *) eerror "Unsupported fortran compiler: ${FORTRANC}" + die ;; + esac + use openmp || rm -rf ${FORT}*_mp* + FORTDIRS="$(ls -d ${FORT}*)" +} + +src_compile() { + einfo "Nothing to compile" + return +} + +src_test() { + local forts=${FORTDIRS} + # only testing with current compiler + use openmp && forts="$(ls -d ${FORT}*_mp*)" + for fort in ${forts}; do + einfo "Testing acml for ${fort}" + cd "${S}/${fort}/examples" + for d in . acml_mv; do + cd "${S}/${fort}/examples/${d}" + emake \ + ACMLDIR="${S}/${fort}" \ + F77="${FORTRANC}" \ + CC="$(tc-getCC)" \ + CPLUSPLUS="$(tc-getCXX)" \ + || die "emake test in ${fort}/examples/${d} failed" + emake clean + done + done +} + +src_install() { + # respect acml default install dir (and FHS) + local instdir="/opt/${PN}${PV}" + dodir ${instdir} + + for fort in ${FORTDIRS}; do + # install acml + use examples || rm -rf "${S}/${fort}"/examples + cp -pPR "${S}/${fort}" "${D}${instdir}" + + # install profiles + local acmldir=${instdir}/${fort} + local libname=${acmldir}/lib/libacml + local prof=acml-${FORTRANC} + local extlibs + local extflags + if [[ "${fort}" =~ "int64" ]]; then + prof="${prof}-int64" + extflags="${extflags} -fdefault-integer-8" + fi + if [[ "${fort}" =~ "_mp" ]]; then + prof="${prof}-openmp" + extlibs="-lpthread" + libname="${libname}_mp" + extflags="${extflags} -fopenmp" + fi + for l in blas lapack; do + # pkgconfig files + sed -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@ACMLDIR@:${acmldir}:g" \ + -e "s:@EXTLIBS@:${extlibs}:g" \ + -e "s:@EXTFLAGS@:${extflags}:g" \ + "${FILESDIR}"/${l}.pc.in > ${l}.pc \ + || die "sed ${l}.pc failed" + insinto ${acmldir}/lib + doins ${l}.pc + + # eselect files + cat > eselect.${l} << EOF +${libname}.so /usr/@LIBDIR@/lib${l}.so.0 +${libname}.so /usr/@LIBDIR@/lib${l}.so +${libname}.a /usr/@LIBDIR@/lib${l}.a +${acmldir}/lib/${l}.pc /usr/@LIBDIR@/pkgconfig/${l}.pc +EOF + + eselect ${l} add $(get_libdir) eselect.${l} ${prof} + done + echo "LDPATH=${acmldir}/lib" > ${S}/35acml + echo "INCLUDE=${acmldir}/include" >> ${S}/35acml + done + doenvd "${S}"/35acml + use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html + cp -pPR "${S}"/Doc "${D}${instdir}" +} + +pkg_postinst() { + # set acml if none are set yet + for l in blas lapack; do + if [[ -z "$(eselect ${l} show)" ]]; then + local prof=${FORTRANC} + use int64 && ext="${prof}-int64" + use openmp && ext="${prof}-openmp" + eselect ${l} set ${prof} + fi + done + elog "Use 'eselect blas' and 'eselect lapack' to select" + elog "one of the multiple acml blas and lapack profiles" + echo + if use openmp; then + elog "Remember that if you want to use openmp" + elog "You need to switch to gcc >= 4.2 with gcc-config" + elog "When using ACML without openmp, stick with gcc-4.1.x" + fi +} diff --git a/sci-libs/acml/files/blas.pc.in b/sci-libs/acml/files/blas.pc.in new file mode 100644 index 000000000..127deeecb --- /dev/null +++ b/sci-libs/acml/files/blas.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=@ACMLDIR@/include + +Name: blas +Description: ACML implementations of the Basic Linear Algebra Subroutines +Version: @PV@ +URL: http://developer.amd.com/acml.jsp +Libs: -L${libdir} -lblas -L@ACMLDIR@/lib -lacml_mv +Libs.private: @EXTLIBS@ +Cflags: @EXTFLAGS@ diff --git a/sci-libs/acml/files/digest-acml-3.6.0-r1 b/sci-libs/acml/files/digest-acml-3.6.0-r1 new file mode 100644 index 000000000..78ad50e56 --- /dev/null +++ b/sci-libs/acml/files/digest-acml-3.6.0-r1 @@ -0,0 +1,12 @@ +MD5 544b271fac69f3a5de4859c42962d257 acml-3-6-0-gnu-32bit.tgz 9879145 +RMD160 bafa6acd1d8a319fb385245559779450c7bdcd66 acml-3-6-0-gnu-32bit.tgz 9879145 +SHA256 81ee83babf134bc021e5e64983200abf815531ee20ecc5ecc97a30bbdb5cf6dd acml-3-6-0-gnu-32bit.tgz 9879145 +MD5 cd29b05621cc8af7094bc30e3d8288e3 acml-3-6-0-gnu-64bit.tgz 11101900 +RMD160 f6d674a4fbf99e79109bb379d1ba5dbaf88ce010 acml-3-6-0-gnu-64bit.tgz 11101900 +SHA256 240cd40c9f9c993c15ec113278faf8689713b45b7626da2d0c369024bec97c03 acml-3-6-0-gnu-64bit.tgz 11101900 +MD5 b142edc1cd30cee76262c7df3d6e491c acml-3-6-0-ifort-32bit.tgz 17399749 +RMD160 c41ebe1b62470858d176c5815e05893ba4caf4ad acml-3-6-0-ifort-32bit.tgz 17399749 +SHA256 1585df79ced4ecd6fdcbb59b36e2686b61d6faf7b755d5ac5a267eddeff36340 acml-3-6-0-ifort-32bit.tgz 17399749 +MD5 e887b75ceec837ba9778b3fe18913faa acml-3-6-0-ifort-64bit.tgz 21966276 +RMD160 a6031f5cdacdc70d11c06cf6d8e8ae3149eff55f acml-3-6-0-ifort-64bit.tgz 21966276 +SHA256 bdfb47a5f018d1bcca257b9223f176726663596ae0e8337dc295a312f8382950 acml-3-6-0-ifort-64bit.tgz 21966276 diff --git a/sci-libs/acml/files/digest-acml-3.6.1-r1 b/sci-libs/acml/files/digest-acml-3.6.1-r1 new file mode 100644 index 000000000..31c6126b2 --- /dev/null +++ b/sci-libs/acml/files/digest-acml-3.6.1-r1 @@ -0,0 +1,9 @@ +MD5 3aa80dc1a5fed2ccedceacffcbf22501 acml-3-6-1-gfortran-32bit.tgz 17682562 +RMD160 abdb8ea2f66f08f478a951b37c5ce5945854a357 acml-3-6-1-gfortran-32bit.tgz 17682562 +SHA256 adec95c65d1042c65fa1490978b76042c3bf9670df7c226cd28431473985898c acml-3-6-1-gfortran-32bit.tgz 17682562 +MD5 1eb1958766688332a83e4b9807031495 acml-3-6-1-gfortran-64bit-int64.tgz 19802195 +RMD160 3cb2317d6a5ec62797c4a11ab1336aabb50e16fa acml-3-6-1-gfortran-64bit-int64.tgz 19802195 +SHA256 56cbbb6deac2a93d21f3954511ad95ccc2a8ce893fdbf9a8605a2d81deb1fc41 acml-3-6-1-gfortran-64bit-int64.tgz 19802195 +MD5 f1df8d99221337e5644e85ca790e19c2 acml-3-6-1-gfortran-64bit.tgz 20452058 +RMD160 8df00704e7ac037dcd55a9207f45d6f0b2214ff8 acml-3-6-1-gfortran-64bit.tgz 20452058 +SHA256 efec543a8185ffb6e6e68db94ef0cbd92c1b9ee1580affe6cd0a73c580ad8bdc acml-3-6-1-gfortran-64bit.tgz 20452058 diff --git a/sci-libs/acml/files/lapack.pc.in b/sci-libs/acml/files/lapack.pc.in new file mode 100644 index 000000000..326c75705 --- /dev/null +++ b/sci-libs/acml/files/lapack.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=@ACMLDIR@/include + +Name: lapack +Description: ACML implementation of the F77 Linear Algebra PACKage +Version: @PV@ +URL: http://developer.amd.com/acml.jsp +Libs: -L${libdir} -llapack -L@ACMLDIR@/lib -lacml_mv +Libs.private: @EXTLIBS@ +Cflags: @EXTFLAGS@ diff --git a/sci-libs/blas-atlas/Manifest b/sci-libs/blas-atlas/Manifest new file mode 100644 index 000000000..3fa4b3f4e --- /dev/null +++ b/sci-libs/blas-atlas/Manifest @@ -0,0 +1,45 @@ +AUX atlas-asm-gentoo.patch 408 RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da SHA1 493d066be68c66cca1f0c906d588da8983ec7afa SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b +MD5 fb9ca923b595b67967a744339e7a32a6 files/atlas-asm-gentoo.patch 408 +RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da files/atlas-asm-gentoo.patch 408 +SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b files/atlas-asm-gentoo.patch 408 +AUX blas.pc.in 301 RMD160 e82627c38aa09c8eb2581a4dd8a38c1670ed6098 SHA1 e8c80353ba72bee2848767b70f7575b723b84f15 SHA256 cb993e61b03514c4c69fac43540e45e759cf57635e2a8d6900118543d06ff433 +MD5 b3e049b36e34287f6482a9122dccd604 files/blas.pc.in 301 +RMD160 e82627c38aa09c8eb2581a4dd8a38c1670ed6098 files/blas.pc.in 301 +SHA256 cb993e61b03514c4c69fac43540e45e759cf57635e2a8d6900118543d06ff433 files/blas.pc.in 301 +AUX cblas.pc.in 312 RMD160 a4a66d41736ba1c5fb669c8a96c48f952fb7fcf5 SHA1 85b24f0257e79e8adc8abea3e1117809cc6cf253 SHA256 df3a0733085883397c37fa273d239b0e8c9d875521383f581fdf473013c3b5c3 +MD5 eef01fd3138262258bae911fd6921837 files/cblas.pc.in 312 +RMD160 a4a66d41736ba1c5fb669c8a96c48f952fb7fcf5 files/cblas.pc.in 312 +SHA256 df3a0733085883397c37fa273d239b0e8c9d875521383f581fdf473013c3b5c3 files/cblas.pc.in 312 +AUX eselect.blas.atlas 197 RMD160 fc69bacf24979485653a2d61298fdbf21464c089 SHA1 68de5da171fdd3e0ff5a7773b36cee86bce5b76c SHA256 72e659f90bb5734b50a5ea02d92348dfcf99868ecbabdcf4cb64bf3bded4e3bb +MD5 a21c4702fce8fdfea0541c2e47f5e348 files/eselect.blas.atlas 197 +RMD160 fc69bacf24979485653a2d61298fdbf21464c089 files/eselect.blas.atlas 197 +SHA256 72e659f90bb5734b50a5ea02d92348dfcf99868ecbabdcf4cb64bf3bded4e3bb files/eselect.blas.atlas 197 +AUX eselect.blas.threaded-atlas 233 RMD160 eb70808c9a2e6a27b4f10f991b5c59a693e75914 SHA1 93c8a25e4e0b1e8168bafcd8fb62109e656f56ad SHA256 85d98b8a4b8eb75927eac32623dc3c6a7ee55a259176196d075f6b112ae35726 +MD5 8a1f2685e5080a6d02239e4cf0f74f75 files/eselect.blas.threaded-atlas 233 +RMD160 eb70808c9a2e6a27b4f10f991b5c59a693e75914 files/eselect.blas.threaded-atlas 233 +SHA256 85d98b8a4b8eb75927eac32623dc3c6a7ee55a259176196d075f6b112ae35726 files/eselect.blas.threaded-atlas 233 +AUX eselect.cblas.atlas 240 RMD160 08dd3aba18a1c0c5a6a9e925a506cd8a6118c906 SHA1 92184db3b149e0225b3f09b02cc29f9eea0d6869 SHA256 44234a398340b79873cf40548c0b67179d42235ddae7ef7c9b8caf7cf2f20ac9 +MD5 adbbbf334d670c397d79db05eae7a5a3 files/eselect.cblas.atlas 240 +RMD160 08dd3aba18a1c0c5a6a9e925a506cd8a6118c906 files/eselect.cblas.atlas 240 +SHA256 44234a398340b79873cf40548c0b67179d42235ddae7ef7c9b8caf7cf2f20ac9 files/eselect.cblas.atlas 240 +AUX eselect.cblas.threaded-atlas 279 RMD160 86b5feb044f2abc3760aa93abc9dcf5d5120d36f SHA1 d5d36f5d475585ef1ef556fc7de20e3688e9bcee SHA256 abb808af099e7ff410186e69ce7e8ada90f6482bc7ebe306bc8b98a00298d82c +MD5 419b3217f2446bbebef90cce8ff3f8e8 files/eselect.cblas.threaded-atlas 279 +RMD160 86b5feb044f2abc3760aa93abc9dcf5d5120d36f files/eselect.cblas.threaded-atlas 279 +SHA256 abb808af099e7ff410186e69ce7e8ada90f6482bc7ebe306bc8b98a00298d82c files/eselect.cblas.threaded-atlas 279 +AUX war 545 RMD160 6f44c25e739703f988180959608094aa633db7bf SHA1 d90a66e57395e01b94bac9b444590de8fef77aca SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b +MD5 13d26350d75e6993f1b3ec48ca97f14e files/war 545 +RMD160 6f44c25e739703f988180959608094aa633db7bf files/war 545 +SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b files/war 545 +DIST atlas-3.7.37-shared-libs.patch.bz2 6373 RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a SHA1 c8ca108f50a7968ad98be64a70ea1b0b5e87ad5d SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec +DIST atlas3.7.37.tar.bz2 2282682 RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 SHA1 32ea739fc4682fb2a9b6625d1a912baaf8f31e1a SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65 +EBUILD blas-atlas-3.7.37.ebuild 6419 RMD160 bb79fdc24607130731c86a97a7d569a81a1e32f9 SHA1 fda65a08d1915a70d2a6be736a513897ebbc23c9 SHA256 2af670e81baa74ddee2dc59b0cea62d8dc85efd50fc8731a0a091e2d0bb424e4 +MD5 4fdcc54130d4e0b5853a9ace559ebdaa blas-atlas-3.7.37.ebuild 6419 +RMD160 bb79fdc24607130731c86a97a7d569a81a1e32f9 blas-atlas-3.7.37.ebuild 6419 +SHA256 2af670e81baa74ddee2dc59b0cea62d8dc85efd50fc8731a0a091e2d0bb424e4 blas-atlas-3.7.37.ebuild 6419 +MISC metadata.xml 580 RMD160 7ce0902e03a760caed898006d33e2b7a02889a4a SHA1 79f4b164312be4ef4997f45bc565245d7e38cf23 SHA256 cdf15df04609b262f0bb8f6b8dad7a5b4c60851d943b4b5112b3e890bc18772c +MD5 10420bb4a733d750626ceda5880997ad metadata.xml 580 +RMD160 7ce0902e03a760caed898006d33e2b7a02889a4a metadata.xml 580 +SHA256 cdf15df04609b262f0bb8f6b8dad7a5b4c60851d943b4b5112b3e890bc18772c metadata.xml 580 +MD5 9dd949834c39796593d9379b1440f42b files/digest-blas-atlas-3.7.37 518 +RMD160 8fa70a56e5f74fd5eb968c2ba9c0b117e7390e09 files/digest-blas-atlas-3.7.37 518 +SHA256 c757a062137352420e0219f5f9787c73a73fc617d3a1e78b3a4410e3fbaf5e3a files/digest-blas-atlas-3.7.37 518 diff --git a/sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild b/sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild new file mode 100644 index 000000000..0a2305d63 --- /dev/null +++ b/sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils toolchain-funcs fortran + +DESCRIPTION="Automatically Tuned Linear Algebra Software BLAS implementation" +HOMEPAGE="http://math-atlas.sourceforge.net/" +MY_PN=${PN/blas-/} +SRC_URI="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2 + http://dev.gentoo.org/~bicatali/${MY_PN}-${PV}-shared-libs.patch.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="doc" + +RDEPEND="app-admin/eselect-blas + app-admin/eselect-cblas + dev-util/pkgconfig + doc? ( app-doc/blas-docs )" + +DEPEND="app-admin/eselect-blas + app-admin/eselect-cblas + >=sys-devel/libtool-1.5" + +S="${WORKDIR}/ATLAS" +BLD_DIR="${S}/gentoo-build" +RPATH="${DESTTREE}/$(get_libdir)/blas" + +pkg_setup() { + # icc won't compile (as of icc-10.0.025) + # and will blow out $PORTAGE_TMPDIR + if [[ $(tc-getCC) = icc* ]]; then + eerror "icc compiler is not supported with sci-libs/blas-atlas" + die "blas-atlas won't compile with icc" + fi + + FORTRAN="g77 gfortran ifc" + fortran_pkg_setup + echo + ewarn "Please make sure to disable CPU throttling completely" + ewarn "during the compile of blas-atlas. Otherwise, all atlas" + ewarn "generated timings will be completely random and the" + ewarn "performance of the resulting libraries will be degraded" + ewarn "considerably." + echo + ewarn "For users of <=gcc-4.1.1 only:" + ewarn "If you experience failing SANITY tests during" + ewarn "atlas' compile please try passing -mfpmath=387; this" + ewarn "option might also result in much better performance" + ewarn "than using then sse instruction set depending on your" + ewarn "CPU." + echo + epause 10 +} + +src_unpack() { + unpack ${A} + cd ${S} + + epatch "${DISTDIR}"/${MY_PN}-${PV}-shared-libs.patch.bz2 + epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch + + # increase amount of workspace to improve threaded performance + sed -e "s:16777216:167772160:" -i include/atlas_lvl3.h || \ + die "Failed to fix ATL_MaxMalloc" + + sed -e "s:= gcc:= $(tc-getCC) ${CFLAGS}:" \ + -i CONFIG/src/SpewMakeInc.c || die "Failed to fix Spewmake" + + mkdir ${BLD_DIR} || die "failed to generate build directory" + cd ${BLD_DIR} + cp "${FILESDIR}"/war . && chmod a+x war || \ + die "failed to install war" + + local archselect + if [[ "${ARCH}" == "amd64" || "${ARCH}" == "ppc64" ]]; then + archselect="-b 64" + elif [ "${ARCH}" == "alpha" ]; then + archselect="" + else + archselect="-b 32" + fi + + ../configure \ + --cc="$(tc-getCC)" \ + --cflags="${CFLAGS}" \ + --prefix="${D}/${DESTTREE}" \ + --libdir="${D}/${DESTTREE}/$(get_libdir)/atlas" \ + --incdir="${D}/${DESTTREE}/include" \ + -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \ + -C if "${FORTRANC}" -F if "${FFLAGS}" \ + -Ss pmake "\$(MAKE) ${MAKEOPTS}" \ + -Si cputhrchk 0 ${archselect} \ + || die "configure failed" +} + +src_compile() { + cd ${BLD_DIR} + emake -j1 || die "emake failed" + + make shared LIBDIR="$(get_libdir)" RPATH="${RPATH}/atlas" || \ + die "failed to build shared libraries" + + # build shared libraries of threaded libraries if applicable + if [ -d gentoo/libptcblas.a ]; then + make ptshared LIBDIR="$(get_libdir)" RPATH="${RPATH}/threaded-atlas" || \ + die "failed to build threaded shared libraries" + fi +} + +src_test() { + # make check does not work because + # we don't build lapack libs + for i in F77 C; do + einfo "Testing ${i} interface" + cd ${BLD_DIR}/interfaces/blas/${i}/testing + make sanity_test || die "make tests for ${i} failed" + if [ -d ${BLD_DIR}/gentoo/libptf77blas.a ]; then + make ptsanity_test || die "make tests threaded for ${i}failed" + fi + done + echo "Timing ATLAS" + cd ${BLD_DIR} + make time || die "make time failed" +} + +src_install () { + dodir "${RPATH}"/atlas + cd ${BLD_DIR}/gentoo/libs + cp -P libatlas* "${D}/${DESTTREE}/$(get_libdir)" || \ + die "Failed to install libatlas" + + # pkgconfig files + local extlibs="-lm" + local threadlibs + [[ ${FORTRANC} == "gfortran" ]] && extlibs="${extlibs} -lgfortran" + [[ ${FORTRANC} == "g77" ]] && extlibs="${extlibs} -lg2c" + cp "${FILESDIR}"/blas.pc.in blas.pc + cp "${FILESDIR}"/cblas.pc.in cblas.pc + sed -i \ + -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@EXTLIBS@:${extlibs}:g" \ + -e "s:@THREADLIBS@:${threadlibs}:g" \ + *blas.pc || die "sed *blas.pc failed" + + cp -P *blas* "${D}/${RPATH}"/atlas || \ + die "Failed to install blas/cblas" + eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.atlas atlas + eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.atlas atlas + + if [ -d ${BLD_DIR}/gentoo/threaded-libs ] + then + dodir "${RPATH}"/threaded-atlas + cd ${BLD_DIR}/gentoo/threaded-libs + + # pkgconfig files + cp ${FILESDIR}/blas.pc.in blas.pc + cp ${FILESDIR}/cblas.pc.in cblas.pc + threadlibs="-lpthread" + sed -i \ + -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@EXTLIBS@:${extlibs}:g" \ + -e "s:@THREADLIBS@:${threadlibs}:g" \ + *blas.pc || die "sed *blas.pc failed" + + cp -P * "${D}/${RPATH}"/threaded-atlas || \ + die "Failed to install threaded atlas" + eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.threaded-atlas threaded-atlas + eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.threaded-atlas threaded-atlas + fi + + insinto "${DESTTREE}"/include/atlas + doins "${S}"/include/cblas.h "${S}"/include/atlas_misc.h \ + "${S}"/include/atlas_enum.h || \ + die "failed to install headers" + + # These headers contain the architecture-specific + # optimizations determined by ATLAS. The atlas-lapack build + # is much shorter if they are available, so save them: + doins ${BLD_DIR}/include/*.h || \ + die "failed to install timing headers" + + # some docs + cd "${S}"/doc + dodoc INDEX.txt AtlasCredits.txt ChangeLog || die "dodoc failed" + # atlas specific doc (blas generic docs installed by blas-docs) + if use doc; then + insinto /usr/share/doc/${PF} + doins atlas*pdf cblasqref.pdf || die "doins docs failed" + fi +} + +pkg_postinst() { + local THREADED + [ -f "${RPATH}"/threaded-atlas/libcblas.a ] && THREADED="threaded-" + [[ -z "$(eselect blas show)" ]] && eselect blas set ${THREADED}atlas + [[ -z "$(eselect cblas show)" ]] && eselect cblas set ${THREADED}atlas + + elog "Use 'eselect blas' and 'eselect cblas' (as root) to select" + elog "one of the ATLAS blas and cblas profiles." + elog "Use 'pkg-config --libs blas' to link with ATLAS blas." + elog "Use 'pkg-config --cflags cblas' and 'pkg-config --libs cblas'" + elog "to compile and link with ATLAS cblas" +} diff --git a/sci-libs/blas-atlas/files/atlas-asm-gentoo.patch b/sci-libs/blas-atlas/files/atlas-asm-gentoo.patch new file mode 100644 index 000000000..ca5a7a8ee --- /dev/null +++ b/sci-libs/blas-atlas/files/atlas-asm-gentoo.patch @@ -0,0 +1,12 @@ +diff -Naur ATLAS/include/contrib/camm_dpa.h ATLAS-new/include/contrib/camm_dpa.h +--- ATLAS/include/contrib/camm_dpa.h 2006-09-09 15:33:15.000000000 -0400 ++++ ATLAS-new/include/contrib/camm_dpa.h 2006-09-26 10:18:24.000000000 -0400 +@@ -1619,7 +1619,7 @@ + #if defined(SCPLX) || (defined(DCPLX) && defined(ATL_SSE2)) + ,"m" (w) + #endif +- :"ax","bx","cx","dx","si","di"); ++ :"ax","cx","dx","si","di"); + + + } diff --git a/sci-libs/blas-atlas/files/blas.pc.in b/sci-libs/blas-atlas/files/blas.pc.in new file mode 100644 index 000000000..8c0eefe28 --- /dev/null +++ b/sci-libs/blas-atlas/files/blas.pc.in @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: blas +Description: Automatically Tuned Linear Algebra Software F77 BLAS implementation +Version: @PV@ +URL: http://math-atlas.sourceforge.net/ +Libs: -L${libdir} -lblas -latlas @THREADLIBS@ +Libs.private: @EXTLIBS@ diff --git a/sci-libs/blas-atlas/files/cblas.pc.in b/sci-libs/blas-atlas/files/cblas.pc.in new file mode 100644 index 000000000..d40314043 --- /dev/null +++ b/sci-libs/blas-atlas/files/cblas.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: cblas +Description: Automatically Tuned Linear Algebra Software C BLAS implementation +Version: @PV@ +URL: http://math-atlas.sourceforge.net/ +Libs: -L${libdir} -lcblas -latlas +Libs.private: @EXTLIBS@ +Cflags: -I${includedir} diff --git a/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.37 b/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.37 new file mode 100644 index 000000000..2df04aa01 --- /dev/null +++ b/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.37 @@ -0,0 +1,6 @@ +MD5 88fe3d5e7eb9cda6f87be1264d5995b4 atlas-3.7.37-shared-libs.patch.bz2 6373 +RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a atlas-3.7.37-shared-libs.patch.bz2 6373 +SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec atlas-3.7.37-shared-libs.patch.bz2 6373 +MD5 5c3fb9a4c74e8426105558a23b2215ff atlas3.7.37.tar.bz2 2282682 +RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 atlas3.7.37.tar.bz2 2282682 +SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65 atlas3.7.37.tar.bz2 2282682 diff --git a/sci-libs/blas-atlas/files/eselect.blas.atlas b/sci-libs/blas-atlas/files/eselect.blas.atlas new file mode 100644 index 000000000..a6f69f03d --- /dev/null +++ b/sci-libs/blas-atlas/files/eselect.blas.atlas @@ -0,0 +1,4 @@ +blas/atlas/libblas.so /usr/@LIBDIR@/libblas.so +blas/atlas/libblas.so.0 /usr/@LIBDIR@/libblas.so.0 +blas/atlas/libblas.a /usr/@LIBDIR@/libblas.a +../blas/atlas/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc diff --git a/sci-libs/blas-atlas/files/eselect.blas.threaded-atlas b/sci-libs/blas-atlas/files/eselect.blas.threaded-atlas new file mode 100644 index 000000000..501e89e07 --- /dev/null +++ b/sci-libs/blas-atlas/files/eselect.blas.threaded-atlas @@ -0,0 +1,4 @@ +blas/threaded-atlas/libblas.so /usr/@LIBDIR@/libblas.so +blas/threaded-atlas/libblas.so.0 /usr/@LIBDIR@/libblas.so.0 +blas/threaded-atlas/libblas.a /usr/@LIBDIR@/libblas.a +../blas/threaded-atlas/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc diff --git a/sci-libs/blas-atlas/files/eselect.cblas.atlas b/sci-libs/blas-atlas/files/eselect.cblas.atlas new file mode 100644 index 000000000..a8e0b74fb --- /dev/null +++ b/sci-libs/blas-atlas/files/eselect.cblas.atlas @@ -0,0 +1,5 @@ +blas/atlas/libcblas.so /usr/@LIBDIR@/libcblas.so +blas/atlas/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0 +blas/atlas/libcblas.a /usr/@LIBDIR@/libcblas.a +../blas/atlas/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc +atlas/cblas.h /usr/include/cblas.h diff --git a/sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas b/sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas new file mode 100644 index 000000000..1af2a211e --- /dev/null +++ b/sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas @@ -0,0 +1,5 @@ +blas/threaded-atlas/libcblas.so /usr/@LIBDIR@/libcblas.so +blas/threaded-atlas/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0 +blas/threaded-atlas/libcblas.so.0 /usr/@LIBDIR@/libcblas.a +../blas/threaded-atlas/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc +cblas/cblas.h /usr/include/cblas.h diff --git a/sci-libs/blas-atlas/files/war b/sci-libs/blas-atlas/files/war new file mode 100644 index 000000000..2093f033a --- /dev/null +++ b/sci-libs/blas-atlas/files/war @@ -0,0 +1,26 @@ +#! /bin/bash +# +# war -- wrapper for the archiver +# +# Executed by ATLAS build as: +# full_path/war ARCHIVER ARFLAGS LIBNAME.a OBJS.lo + +TOPDIR=$(echo $0 | sed 's/\(.*\)\/.*/\1/') +PWD=$(pwd) + +ARCHIVER=$1 +LIBRARY=$(echo $3 | sed 's/.*\/\(.*\)/\1/') +OBJ_DIR=${TOPDIR}/gentoo/$LIBRARY + +if [ ! -x $OBJ_DIR ]; then mkdir -p ${OBJ_DIR}/.libs; fi + +$ARCHIVER $@ + +shift 3 +for obj in $@ ; do + lobj=$(echo $obj | sed 's/\.o/\.lo/') + ln -sf ${PWD}/$obj ${OBJ_DIR}/$obj + ln -sf ${PWD}/$lobj ${OBJ_DIR}/$lobj + ln -sf ${PWD}/.libs/$obj ${OBJ_DIR}/.libs/$obj +done + diff --git a/sci-libs/blas-atlas/metadata.xml b/sci-libs/blas-atlas/metadata.xml new file mode 100644 index 000000000..dc7cebf64 --- /dev/null +++ b/sci-libs/blas-atlas/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> +ATLAS is an approach for the automatic generation and optimization of +numerical software. Currently ATLAS supplies optimized versions for +the complete set of linear algebra kernels known as the Basic Linear +Algebra Subroutines (BLAS), and a subset of the linear algebra +routines in the LAPACK library. +The libraries in this package contain BLAS FORTRAN77 and C +implementations +</longdescription> +</pkgmetadata> diff --git a/sci-libs/blas-goto/Manifest b/sci-libs/blas-goto/Manifest new file mode 100644 index 000000000..6fe2bfdc0 --- /dev/null +++ b/sci-libs/blas-goto/Manifest @@ -0,0 +1,16 @@ +AUX blas.pc.in 302 RMD160 4b7585f42152749a034ba17ec30f2c0afdfaa574 SHA1 465de61e8b57f509eb3268e71fe3f7dfc629a394 SHA256 b1135b177d91f06145e3a6d99ebdc53515a6446cc4d66ff4f6a9cc18a97875f8 +MD5 c937385edb7a826dc325c2a598870cbd files/blas.pc.in 302 +RMD160 4b7585f42152749a034ba17ec30f2c0afdfaa574 files/blas.pc.in 302 +SHA256 b1135b177d91f06145e3a6d99ebdc53515a6446cc4d66ff4f6a9cc18a97875f8 files/blas.pc.in 302 +AUX eselect.blas.goto 193 RMD160 b25ff1d0b37fed194afde473019706e6a9404718 SHA1 e4c78e7cace1d7144f1fc921a29d516b4234703d SHA256 33a9d0be6f400f792f744604afae7239b2d7392cc0e8cac758b53e695acc0802 +MD5 123cb7f07958ee38eebc1bfd038ad840 files/eselect.blas.goto 193 +RMD160 b25ff1d0b37fed194afde473019706e6a9404718 files/eselect.blas.goto 193 +SHA256 33a9d0be6f400f792f744604afae7239b2d7392cc0e8cac758b53e695acc0802 files/eselect.blas.goto 193 +DIST GotoBLAS-1.16.tar.gz 1783818 RMD160 416f905cb07a3eaf03c85f4660865393403fe398 SHA1 24e0bec6e06f400754ba4d6fc1950a1beb83c95b SHA256 4a490f86648aa26fa1e5bfe4569224c8146d0086db90280eeff279f92cb8cbe5 +EBUILD blas-goto-1.16.ebuild 3823 RMD160 eed05cba3b194f1ad0df291f9375ce1bb2be7d41 SHA1 c3db18d0782834f3cc87dc37b5e55501a02b5b07 SHA256 268dae63ed9f4c39a1993b6e002a345b28a594fea0e4f3c0623f3046316adefa +MD5 d5904c6c1ae622bb9951f02c1e373792 blas-goto-1.16.ebuild 3823 +RMD160 eed05cba3b194f1ad0df291f9375ce1bb2be7d41 blas-goto-1.16.ebuild 3823 +SHA256 268dae63ed9f4c39a1993b6e002a345b28a594fea0e4f3c0623f3046316adefa blas-goto-1.16.ebuild 3823 +MD5 9a962a71f195f4c7e47eb6500e359bf7 files/digest-blas-goto-1.16 244 +RMD160 f746aa18c4fb25074c3bb812f2b6d9af23f207c8 files/digest-blas-goto-1.16 244 +SHA256 94fcc0a46d8b6bdc34b86b0262776addca8d14bc3b7a324f9e80d6445d166734 files/digest-blas-goto-1.16 244 diff --git a/sci-libs/blas-goto/blas-goto-1.16.ebuild b/sci-libs/blas-goto/blas-goto-1.16.ebuild new file mode 100644 index 000000000..a15ba1b07 --- /dev/null +++ b/sci-libs/blas-goto/blas-goto-1.16.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils fortran flag-o-matic toolchain-funcs + +MY_PN="GotoBLAS" +MY_P="${MY_PN}-${PV}" +DESCRIPTION="The fastest implementations of the Basic Linear Algebra Subroutines" +HOMEPAGE="http://www.tacc.utexas.edu/resources/software/software.php" +SRC_URI="http://www.tacc.utexas.edu/resources/software/login/gotoblas/${MY_P}.tar.gz" +LICENSE="tacc" +SLOT="0" +# See http://www.tacc.utexas.edu/resources/software/gotoblasfaq.php +# for supported architectures +KEYWORDS="~x86 ~amd64" +IUSE="threads doc" +RESTRICT="mirror" +RDEPEND="app-admin/eselect-blas + dev-util/pkgconfig + doc? ( app-doc/blas-docs )" + +DEPEND="app-admin/eselect-blas + >=sys-devel/binutils-2.17" + +S="${WORKDIR}/${MY_PN}" +FORTRAN="g77 gfortran ifc" + +src_unpack() { + unpack ${A} + cd "${S}" + + # Set up C compiler + if [[ $(tc-getCC) = *gcc ]]; then + C_COMPILER="GNU" + elif [[ $(tc-getCC) = icc ]]; then + C_COMPILER="INTEL" + else + die "tc-getCC() returned an invalid C compiler; valid are gcc or icc." + fi + + # Set up FORTRAN 77 compiler + case ${FORTRANC} in + g77) + F_COMPILER="G77" + ;; + gfortran) + F_COMPILER="GFORTRAN" + F_LIB="-lgfortran" + ;; + ifc|ifort) + F_COMPILER="INTEL" + ;; + *) + die "fortran.eclass returned an invalid Fortran compiler \'${FORTRANC}\'; valid are ${FORTRAN}." + esac + + # Fix shared lib build + sed -i \ + -e "s:\(&& echo OK\):${F_LIB} \1:g" \ + "${S}"/exports/Makefile \ + || die "sed for shared libs failed" + + # Set up compilers + sed -i \ + -e "s:^# \(C_COMPILER =\) GNU:\1 ${C_COMPILER}:g" \ + -e "s:^# \(F_COMPILER =\) G77:\1 ${F_COMPILER}:g" \ + -e "s:^# \(SMP = 1\):\1:g" \ + -e "s:\$(COMPILER_PREFIX)ar:$(tc-getAR):" \ + -e "s:\$(COMPILER_PREFIX)as:$(tc-getAS):" \ + -e "s:\$(COMPILER_PREFIX)ld:$(tc-getLD):" \ + -e "s:\$(COMPILER_PREFIX)ranlib:$(tc-getRANLIB):" \ + "${S}"/Makefile.rule \ + || die "sed for setting up compilers failed" + + # Threaded? + if use threads; then + sed -i \ + -e "s:^# \(SMP = 1\):\1:g" \ + "${S}"/Makefile.rule \ + || die "sed for threads failed" + fi + + # If you need a 64-bit integer interface, also do this for "INTERFACE64 = 1" + if use amd64; then + sed -i \ + -e "s:^# \(BINARY64 = 1\):\1:g" \ + "${S}"/Makefile.rule \ + || die "sed for 64 binary failed" + fi + + # Respect CFLAGS/FFLAGS + sed -i \ + -e "/^COMMON_OPT += -O2$/d" \ + -e "s:^\(CFLAGS[[:space:]]*=\):\1 ${CFLAGS}:" \ + -e "s:^\(FFLAGS[[:space:]]*+=\):\1 ${FFLAGS}:" \ + "${S}"/Makefile.rule \ + || die "sed for flags failed" +} + +src_compile() { + + # Make static library + emake LDFLAGS=$(raw-ldflags) || die "emake failed" + + # Make shared library + cd exports + emake so -j1 || die "emake failed" +} + +src_test() { + cd test + emake || die "emake test failed" + make clean +} + +src_install() { + local MAIN_DIR="/usr/$(get_libdir)/blas" + local DIR="${MAIN_DIR}/goto" + + # dolib.so doesn't support our alternate locations + exeinto ${DIR} + doexe libgoto_*.so + dosym libgoto_*.so ${DIR}/libgoto.so + dosym libgoto_*.so ${DIR}/libgoto.so.0 + dosym libgoto_*.so ${DIR}/libgoto.so.0.0.0 + + # dolib.a doesn't support our alternate locations + insinto ${DIR} + doins libgoto_*.a + dosym libgoto_*.a ${DIR}/libgoto.a + + dodoc 01Readme.txt 03History.txt 04FAQ.txt + + cp "${FILESDIR}"/blas.pc.in blas.pc + local extlibs="" + use threads && extlibs="${extlibs} -lpthread" + extlibs="${extlibs}" + sed -i \ + -e "s/@LIBDIR@/$(get_libdir)/" \ + -e "s/@PV@/${PV}/" \ + -e "s/@EXTLIBS@/${extlibs}/" \ + blas.pc || die "sed blas.pc failed" + insinto /usr/$(get_libdir)/blas/goto + doins blas.pc + eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.goto goto +} + +pkg_postinst() { + [[ -z "$(eselect blas show)" ]] && eselect blas set goto + elog "To use BLAS GOTO implementation, you have to issue (as root):" + elog "\n\teselect blas set goto\n" +} diff --git a/sci-libs/blas-goto/files/blas.pc.in b/sci-libs/blas-goto/files/blas.pc.in new file mode 100644 index 000000000..fb802cfb0 --- /dev/null +++ b/sci-libs/blas-goto/files/blas.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: blas +Description: GOTO implementations of the F77 Basic Linear Algebra Subroutines +Version: @PV@ +URL: http://www.tacc.utexas.edu/resources/software/software.php +Libs: -L${libdir} -lblas +Libs.private: @EXTLIBS@ + diff --git a/sci-libs/blas-goto/files/digest-blas-goto-1.16 b/sci-libs/blas-goto/files/digest-blas-goto-1.16 new file mode 100644 index 000000000..4bcd0425d --- /dev/null +++ b/sci-libs/blas-goto/files/digest-blas-goto-1.16 @@ -0,0 +1,3 @@ +MD5 fe1489037a3c2d69e7d5b9a05f14bfa9 GotoBLAS-1.16.tar.gz 1783818 +RMD160 416f905cb07a3eaf03c85f4660865393403fe398 GotoBLAS-1.16.tar.gz 1783818 +SHA256 4a490f86648aa26fa1e5bfe4569224c8146d0086db90280eeff279f92cb8cbe5 GotoBLAS-1.16.tar.gz 1783818 diff --git a/sci-libs/blas-goto/files/eselect.blas.goto b/sci-libs/blas-goto/files/eselect.blas.goto new file mode 100644 index 000000000..0097969eb --- /dev/null +++ b/sci-libs/blas-goto/files/eselect.blas.goto @@ -0,0 +1,4 @@ +blas/goto/libgoto.so /usr/@LIBDIR@/libblas.so +blas/goto/libgoto.so.0 /usr/@LIBDIR@/libblas.so.0 +blas/goto/libgoto.a /usr/@LIBDIR@/libblas.a +../blas/goto/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc diff --git a/sci-libs/blas-reference/Manifest b/sci-libs/blas-reference/Manifest new file mode 100644 index 000000000..0abed0abd --- /dev/null +++ b/sci-libs/blas-reference/Manifest @@ -0,0 +1,20 @@ +AUX blas-reference-20070226-autotool.patch 4202 RMD160 32c1c29e6463264bd094314b83d77ede9f6de4de SHA1 5c8b024694b02eccdfd725a64b66692e69ff8194 SHA256 8a9bc1c471071a1e8585c69294c2739c69e7484256479fb20a22c6e4434623d3 +MD5 496a24929ea2184a593a894894c9ef88 files/blas-reference-20070226-autotool.patch 4202 +RMD160 32c1c29e6463264bd094314b83d77ede9f6de4de files/blas-reference-20070226-autotool.patch 4202 +SHA256 8a9bc1c471071a1e8585c69294c2739c69e7484256479fb20a22c6e4434623d3 files/blas-reference-20070226-autotool.patch 4202 +AUX eselect.blas.reference 213 RMD160 24e11e3d44459864070eced2f660d170ca3daca0 SHA1 d3b664ab4177a7f7d95ef90e9603694889be45f1 SHA256 c11b1a8dcd34951d9b1126149f8a51ca0eb0aa5e081abc63f65c392f4839b0aa +MD5 194a5d7b1e124c961e92b13f4e60bd74 files/eselect.blas.reference 213 +RMD160 24e11e3d44459864070eced2f660d170ca3daca0 files/eselect.blas.reference 213 +SHA256 c11b1a8dcd34951d9b1126149f8a51ca0eb0aa5e081abc63f65c392f4839b0aa files/eselect.blas.reference 213 +DIST lapack-lite-3.1.1.tgz 5332509 RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b SHA1 1ec4ef90b544cf82bc7b4f770cee6fb46da457c5 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 +EBUILD blas-reference-20070226.ebuild 1450 RMD160 354ac3e028a580e2b6f286387e0e19155ba81019 SHA1 d838d27ba05d09ef4425302c1402bc0ef09b046d SHA256 691c86b71fe95cc019df694371f2d9f6583f6846c24f2ff4dcf2b328abcda522 +MD5 cc4690cbbc5eb1768ef27376c25a3b26 blas-reference-20070226.ebuild 1450 +RMD160 354ac3e028a580e2b6f286387e0e19155ba81019 blas-reference-20070226.ebuild 1450 +SHA256 691c86b71fe95cc019df694371f2d9f6583f6846c24f2ff4dcf2b328abcda522 blas-reference-20070226.ebuild 1450 +MISC metadata.xml 696 RMD160 89c66792b23057b940a8eb8ea4c05ac8c7d561f0 SHA1 c18e9985fe07bbff5f56ef239ca2a16caa8a6240 SHA256 750713f970e77bfd513933fd3ec27162d41a56d20c4122878618fc78d72f76ab +MD5 a78fa87c0e44cd202e74a98241acc2fa metadata.xml 696 +RMD160 89c66792b23057b940a8eb8ea4c05ac8c7d561f0 metadata.xml 696 +SHA256 750713f970e77bfd513933fd3ec27162d41a56d20c4122878618fc78d72f76ab metadata.xml 696 +MD5 e47577ce12b87f148b170b2226a7cc32 files/digest-blas-reference-20070226 247 +RMD160 f06434c9558a0df45cddbf187e624850b6a4d073 files/digest-blas-reference-20070226 247 +SHA256 34e0e977049b900a8d9c1a0f8a1a9065a6147dc38b4c0850d13f0b75a9be101a files/digest-blas-reference-20070226 247 diff --git a/sci-libs/blas-reference/blas-reference-20070226.ebuild b/sci-libs/blas-reference/blas-reference-20070226.ebuild new file mode 100644 index 000000000..080d129f5 --- /dev/null +++ b/sci-libs/blas-reference/blas-reference-20070226.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils autotools fortran multilib flag-o-matic + +LAPACKPV="3.1.1" +LAPACKPN="lapack-lite" + +DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations" +LICENSE="public-domain" +HOMEPAGE="http://www.netlib.org/blas/" +SRC_URI="http://www.netlib.org/lapack/${LAPACKPN}-${LAPACKPV}.tgz" + +SLOT="0" +IUSE="doc" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" + +DEPEND="app-admin/eselect-blas + doc? ( app-doc/blas-docs )" + +RDEPEND="${DEPEND} + dev-util/pkgconfig" + + +S="${WORKDIR}/${LAPACKPN}-${LAPACKPV}" + +pkg_setup() { + FORTRAN="g77 gfortran f2c ifc" + fortran_pkg_setup + if [[ ${FORTRANC:0:2} == "if" ]]; then + ewarn "Using Intel Fortran at your own risk" + LDFLAGS="$(raw-ldflags)" + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-autotool.patch + eautoreconf +} + +src_compile() { + econf \ + --libdir=/usr/$(get_libdir)/blas/reference \ + || die "econf failed" + emake LDFLAGS="${LDFLAGS}" || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.reference reference +} + +pkg_postinst() { + [[ -z "$(eselect blas show)" ]] && eselect blas set reference + elog "To use BLAS reference implementation, you have to issue (as root):" + elog "\n\teselect blas set reference\n" +} diff --git a/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch new file mode 100644 index 000000000..9fd5f555e --- /dev/null +++ b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch @@ -0,0 +1,243 @@ +--- configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ configure.ac 2007-07-16 10:14:29.000000000 +0100 +@@ -0,0 +1,14 @@ ++AC_PREREQ(2.61) ++AC_INIT(blas, 20070226, lapack@cs.utk.edu) ++AM_INIT_AUTOMAKE([foreign]) ++ ++AC_LANG(Fortran 77) ++AC_PROG_F77 ++AC_PROG_LIBTOOL ++ ++AC_CONFIG_FILES([Makefile ++ BLAS/Makefile ++ BLAS/SRC/Makefile ++ BLAS/TESTING/Makefile ++ BLAS/blas.pc]) ++AC_OUTPUT +--- Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ Makefile.am 2007-07-16 01:51:11.000000000 +0100 +@@ -0,0 +1 @@ ++SUBDIRS = BLAS +--- BLAS/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ BLAS/Makefile.am 2007-08-14 11:38:42.000000000 +0100 +@@ -0,0 +1,7 @@ ++SUBDIRS = SRC TESTING ++ ++pkgconfigdir = $(libdir) ++pkgconfig_DATA = blas.pc ++ ++EXTRA = blas.pc ++ +--- BLAS/blas.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ BLAS/blas.pc.in 2007-08-14 17:15:43.000000000 +0100 +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: Basic Linear Algebra Subprograms F77 reference implementations ++Version: @PACKAGE_VERSION@ ++URL: http://www.netlib.org/blas ++Libs: -lblas ++Libs.private: -lm @FLIBS@ +--- BLAS/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ BLAS/SRC/Makefile.am 2007-07-16 01:50:12.000000000 +0100 +@@ -0,0 +1,153 @@ ++lib_LTLIBRARIES = libblas.la ++ ++libblas_la_SOURCES = \ ++ caxpy.f \ ++ ccopy.f \ ++ cdotc.f \ ++ cdotu.f \ ++ cgbmv.f \ ++ cgemm.f \ ++ cgemv.f \ ++ cgerc.f \ ++ cgeru.f \ ++ chbmv.f \ ++ chemm.f \ ++ chemv.f \ ++ cher2.f \ ++ cher2k.f \ ++ cher.f \ ++ cherk.f \ ++ chpmv.f \ ++ chpr2.f \ ++ chpr.f \ ++ crotg.f \ ++ cscal.f \ ++ csrot.f \ ++ csscal.f \ ++ cswap.f \ ++ csymm.f \ ++ csyr2k.f \ ++ csyrk.f \ ++ ctbmv.f \ ++ ctbsv.f \ ++ ctpmv.f \ ++ ctpsv.f \ ++ ctrmm.f \ ++ ctrmv.f \ ++ ctrsm.f \ ++ ctrsv.f \ ++ dasum.f \ ++ daxpy.f \ ++ dcabs1.f \ ++ dcopy.f \ ++ ddot.f \ ++ dgbmv.f \ ++ dgemm.f \ ++ dgemv.f \ ++ dger.f \ ++ dnrm2.f \ ++ drot.f \ ++ drotg.f \ ++ drotm.f \ ++ drotmg.f \ ++ dsbmv.f \ ++ dscal.f \ ++ dsdot.f \ ++ dspmv.f \ ++ dspr2.f \ ++ dspr.f \ ++ dswap.f \ ++ dsymm.f \ ++ dsymv.f \ ++ dsyr2.f \ ++ dsyr2k.f \ ++ dsyr.f \ ++ dsyrk.f \ ++ dtbmv.f \ ++ dtbsv.f \ ++ dtpmv.f \ ++ dtpsv.f \ ++ dtrmm.f \ ++ dtrmv.f \ ++ dtrsm.f \ ++ dtrsv.f \ ++ dzasum.f \ ++ dznrm2.f \ ++ icamax.f \ ++ idamax.f \ ++ isamax.f \ ++ izamax.f \ ++ lsame.f \ ++ scabs1.f \ ++ sasum.f \ ++ saxpy.f \ ++ scasum.f \ ++ scnrm2.f \ ++ scopy.f \ ++ sdot.f \ ++ sdsdot.f \ ++ sgbmv.f \ ++ sgemm.f \ ++ sgemv.f \ ++ sger.f \ ++ snrm2.f \ ++ srot.f \ ++ srotg.f \ ++ srotm.f \ ++ srotmg.f \ ++ ssbmv.f \ ++ sscal.f \ ++ sspmv.f \ ++ sspr2.f \ ++ sspr.f \ ++ sswap.f \ ++ ssymm.f \ ++ ssymv.f \ ++ ssyr2.f \ ++ ssyr2k.f \ ++ ssyr.f \ ++ ssyrk.f \ ++ stbmv.f \ ++ stbsv.f \ ++ stpmv.f \ ++ stpsv.f \ ++ strmm.f \ ++ strmv.f \ ++ strsm.f \ ++ strsv.f \ ++ xerbla.f \ ++ zaxpy.f \ ++ zcopy.f \ ++ zdotc.f \ ++ zdotu.f \ ++ zdrot.f \ ++ zdscal.f \ ++ zgbmv.f \ ++ zgemm.f \ ++ zgemv.f \ ++ zgerc.f \ ++ zgeru.f \ ++ zhbmv.f \ ++ zhemm.f \ ++ zhemv.f \ ++ zher2.f \ ++ zher2k.f \ ++ zher.f \ ++ zherk.f \ ++ zhpmv.f \ ++ zhpr2.f \ ++ zhpr.f \ ++ zrotg.f \ ++ zscal.f \ ++ zswap.f \ ++ zsymm.f \ ++ zsyr2k.f \ ++ zsyrk.f \ ++ ztbmv.f \ ++ ztbsv.f \ ++ ztpmv.f \ ++ ztpsv.f \ ++ ztrmm.f \ ++ ztrmv.f \ ++ ztrsm.f \ ++ ztrsv.f +--- BLAS/TESTING/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ BLAS/TESTING/Makefile.am 2007-07-16 01:50:12.000000000 +0100 +@@ -0,0 +1,27 @@ ++TESTS = blas_tests ++ ++blas_tests: ++ @install -m0755 blas_tests.sh blas_tests ++ ++check_PROGRAMS = \ ++ xsblat1 xdblat1 xcblat1 xzblat1 \ ++ xsblat2 xdblat2 xcblat2 xzblat2 \ ++ xsblat3 xdblat3 xcblat3 xzblat3 ++ ++LDADD = $(top_builddir)/BLAS/SRC/libblas.la ++ ++xsblat1_SOURCES = sblat1.f ++xdblat1_SOURCES = dblat1.f ++xcblat1_SOURCES = cblat1.f ++xzblat1_SOURCES = zblat1.f ++ ++xsblat2_SOURCES = sblat2.f ++xdblat2_SOURCES = dblat2.f ++xcblat2_SOURCES = cblat2.f ++xzblat2_SOURCES = zblat2.f ++ ++xsblat3_SOURCES = sblat3.f ++xdblat3_SOURCES = dblat3.f ++xcblat3_SOURCES = cblat3.f ++xzblat3_SOURCES = zblat3.f ++ +--- BLAS/TESTING/blas_tests.sh 1970-01-01 01:00:00.000000000 +0100 ++++ BLAS/TESTING/blas_tests.sh 2007-07-16 01:50:12.000000000 +0100 +@@ -0,0 +1,9 @@ ++#!/bin/sh ++ ++for t in {c,s,d,z}blat1; do ++ ./x${t} ++done ++ ++for t in {c,s,d,z}blat{2,3}; do ++ ./x${t} < ../${t}.in ++done diff --git a/sci-libs/blas-reference/files/digest-blas-reference-20070226 b/sci-libs/blas-reference/files/digest-blas-reference-20070226 new file mode 100644 index 000000000..2081b7b68 --- /dev/null +++ b/sci-libs/blas-reference/files/digest-blas-reference-20070226 @@ -0,0 +1,3 @@ +MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509 +RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509 +SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509 diff --git a/sci-libs/blas-reference/files/eselect.blas.reference b/sci-libs/blas-reference/files/eselect.blas.reference new file mode 100644 index 000000000..edb10ddd1 --- /dev/null +++ b/sci-libs/blas-reference/files/eselect.blas.reference @@ -0,0 +1,4 @@ +blas/reference/libblas.so /usr/@LIBDIR@/libblas.so +blas/reference/libblas.so.0 /usr/@LIBDIR@/libblas.so.0 +blas/reference/libblas.a /usr/@LIBDIR@/libblas.a +../blas/reference/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc diff --git a/sci-libs/blas-reference/metadata.xml b/sci-libs/blas-reference/metadata.xml new file mode 100644 index 000000000..c9e6e2943 --- /dev/null +++ b/sci-libs/blas-reference/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> +The BLAS (Basic Linear Algebra Subprograms) are high quality "building +block" routines for performing basic vector and matrix operations. Level 1 +BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, +and Level 3 BLAS do matrix-matrix operations. Because the BLAS are +efficient, portable, and widely available, they're commonly used in the +development of high quality linear algebra software, LAPACK for +example. This packages implements the reference FORTRAN 77 library. +</longdescription> +</pkgmetadata> diff --git a/sci-libs/cblas-reference/Manifest b/sci-libs/cblas-reference/Manifest new file mode 100644 index 000000000..e101e919a --- /dev/null +++ b/sci-libs/cblas-reference/Manifest @@ -0,0 +1,20 @@ +AUX cblas-reference-20030223-autotool.patch 7057 RMD160 69e8eaf313d559d1eb4ddd0d399320d1700e8ae0 SHA1 57b2e550d93a179a42d4b450a8ab29ae07f87c3d SHA256 9d7e274858e63f37a8a031fbb3c4b0455a32c0d26678f0c881da9a6d7e2b4f51 +MD5 b5811e36a9fe7074a040733c641fba11 files/cblas-reference-20030223-autotool.patch 7057 +RMD160 69e8eaf313d559d1eb4ddd0d399320d1700e8ae0 files/cblas-reference-20030223-autotool.patch 7057 +SHA256 9d7e274858e63f37a8a031fbb3c4b0455a32c0d26678f0c881da9a6d7e2b4f51 files/cblas-reference-20030223-autotool.patch 7057 +AUX eselect.cblas.reference 256 RMD160 aebf8c88ef804d921d987909a6ef93b330404a47 SHA1 5f9460a59266e0f3f127cb73a4edcd733c10d88d SHA256 8562e2dd7abd83ca4d5ce2f20e5f2669a1ce26931e27836d4348897d4535d237 +MD5 444f544734e4e2b3d0ae8aa9d800111a files/eselect.cblas.reference 256 +RMD160 aebf8c88ef804d921d987909a6ef93b330404a47 files/eselect.cblas.reference 256 +SHA256 8562e2dd7abd83ca4d5ce2f20e5f2669a1ce26931e27836d4348897d4535d237 files/eselect.cblas.reference 256 +DIST cblas.tgz 197694 RMD160 77bd5111659f55540c72f9fcd9277d97bd1ea33b SHA1 a8a765ebb8d753c7ad161ccd9191be42d3dc8bd9 SHA256 9b49d7177fda62b6141bf2ca29e475e86f0b12d8f72e0b944058d02b439dd52a +EBUILD cblas-reference-20030223-r4.ebuild 1298 RMD160 1181ce5c0418e56040c6f5c1992333e4ce5e5b87 SHA1 7b2c5aa439df3cf357495df18a47bde666fd9bbc SHA256 87077cecbafb9b26960cc1dfba47398f41b96924271455a8d185f6cf1e18c984 +MD5 3ba1b7a96505797f611b38b067d0f14b cblas-reference-20030223-r4.ebuild 1298 +RMD160 1181ce5c0418e56040c6f5c1992333e4ce5e5b87 cblas-reference-20030223-r4.ebuild 1298 +SHA256 87077cecbafb9b26960cc1dfba47398f41b96924271455a8d185f6cf1e18c984 cblas-reference-20030223-r4.ebuild 1298 +MISC metadata.xml 731 RMD160 07c8c58dfb1a135057db518679858a24909d8923 SHA1 2acb2c7c7b24a3dc453d515c1d4f048dfbe2f6b6 SHA256 2aab092cf71a2ba09ebb6fe6809cf5303a49f400f9a5bf07ba2711bf53a8b65f +MD5 207d8ff853e356e41b5a943d5592e49a metadata.xml 731 +RMD160 07c8c58dfb1a135057db518679858a24909d8923 metadata.xml 731 +SHA256 2aab092cf71a2ba09ebb6fe6809cf5303a49f400f9a5bf07ba2711bf53a8b65f metadata.xml 731 +MD5 961baa7d756d594d303cb43c47e0aee2 files/digest-cblas-reference-20030223-r4 208 +RMD160 5e8239ac5c04544a04f8ec6b1a15e2d5f2d630e6 files/digest-cblas-reference-20030223-r4 208 +SHA256 f0caa7a78f2290eb3c627ec8fa5ea9c6cb5eb5b0b5db9e982ff1dfcb66f0a204 files/digest-cblas-reference-20030223-r4 208 diff --git a/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild b/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild new file mode 100644 index 000000000..471a82991 --- /dev/null +++ b/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils fortran multilib flag-o-matic toolchain-funcs + +MyPN="${PN/-reference/}" + +DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation" +LICENSE="public-domain" +HOMEPAGE="http://www.netlib.org/blas/" +SRC_URI="http://www.netlib.org/blas/blast-forum/${MyPN}.tgz" + +SLOT="0" +IUSE="" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" + +DEPEND="virtual/blas + dev-util/pkgconfig + app-admin/eselect-cblas" + +FORTRAN="gfortran g77 ifc" + +S="${WORKDIR}/CBLAS" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-autotool.patch + eautoreconf +} + +src_compile() { + econf \ + --libdir=/usr/$(get_libdir)/blas/reference \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc README || die "failed to install docs" + insinto /usr/share/doc/${PF} + doins cblas_example*c + eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.reference reference +} + +pkg_postinst() { + [[ -z "$(eselect cblas show)" ]] && eselect cblas set reference + elog "To use CBLAS reference implementation, you have to issue (as root):" + elog "\teselect cblas set reference\n" +} diff --git a/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch b/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch new file mode 100644 index 000000000..d451bf9b8 --- /dev/null +++ b/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch @@ -0,0 +1,380 @@ +--- configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ configure.ac 2007-08-16 11:32:24.000000000 +0100 +@@ -0,0 +1,30 @@ ++AC_PREREQ(2.61) ++AC_INIT(cblas, 20030223, lapack@cs.utk.edu) ++AC_CONFIG_SRCDIR([cblas_example2.c]) ++AC_CONFIG_HEADER([config.h]) ++AM_INIT_AUTOMAKE([foreign]) ++ ++AC_LANG(C) ++AC_PROG_CC ++AC_PROG_F77 ++AC_F77_LIBRARY_LDFLAGS ++dnl ACX_F77_CMAIN_FFLAGS ++dnl FFLAGS=$FFLAGS $F77_CMAIN_FFLAGS ++AC_PROG_LIBTOOL ++ ++AC_F77_FUNC(sgemm) ++ ++PKG_PROG_PKG_CONFIG ++if test -n "$PKG_CONFIG"; then ++ PKG_CHECK_MODULES([BLAS], [blas]) ++else ++ AC_CHECK_LIB(blas, $sgemm) ++ BLAS_LIBS=-lblas ++ AC_SUBST(BLAS_LIBS) ++fi ++ ++AC_CONFIG_FILES([Makefile ++ src/Makefile ++ testing/Makefile ++ cblas.pc]) ++AC_OUTPUT +--- Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ Makefile.am 2007-08-14 11:39:12.000000000 +0100 +@@ -0,0 +1,8 @@ ++SUBDIRS = src testing ++ ++pkgconfigdir = $(libdir) ++pkgconfig_DATA = cblas.pc ++ ++EXTRA = cblas.pc ++ ++ +--- cblas.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ cblas.pc.in 2007-08-14 17:17:22.000000000 +0100 +@@ -0,0 +1,13 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: Basic Linear Algebra Subprograms C reference wrapper ++Version: @PACKAGE_VERSION@ ++Requires: blas ++URL: http://www.netlib.org/blas/ ++Libs: -lcblas ++Libs.private: -lm @FLIBS@ ++Cflags: -I${includedir} +--- src/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ src/Makefile.am 2007-08-16 12:21:02.000000000 +0100 +@@ -0,0 +1,232 @@ ++lib_LTLIBRARIES = libcblas.la ++ ++pkgincludedir = $(includedir)/cblas ++pkginclude_HEADERS = cblas.h ++ ++AM_CPPFLAGS = -DADD_ ++ ++ERRHAND_SOURCES = \ ++ cblas_globals.c \ ++ cblas_xerbla.c \ ++ xerbla.c ++ ++SINGLE_SOURCES = \ ++ cblas_scasum.c \ ++ cblas_scnrm2.c \ ++ scasumsub.f \ ++ scnrm2sub.f ++ ++SLEV_SOURCES = \ ++ isamaxsub.f \ ++ sdotsub.f \ ++ sdsdotsub.f \ ++ snrm2sub.f \ ++ sasumsub.f ++ ++SLEV1_SOURCES = \ ++ cblas_srotg.c \ ++ cblas_srotmg.c \ ++ cblas_srot.c \ ++ cblas_srotm.c \ ++ cblas_sswap.c \ ++ cblas_sscal.c \ ++ cblas_scopy.c \ ++ cblas_saxpy.c \ ++ cblas_sdot.c \ ++ cblas_sdsdot.c \ ++ cblas_snrm2.c \ ++ cblas_sasum.c \ ++ cblas_isamax.c ++ ++SLEV2_SOURCES = \ ++ cblas_sgemv.c \ ++ cblas_sgbmv.c \ ++ cblas_sger.c \ ++ cblas_ssbmv.c \ ++ cblas_sspmv.c \ ++ cblas_sspr.c \ ++ cblas_sspr2.c \ ++ cblas_ssymv.c \ ++ cblas_ssyr.c \ ++ cblas_ssyr2.c \ ++ cblas_stbmv.c \ ++ cblas_stbsv.c \ ++ cblas_stpmv.c \ ++ cblas_stpsv.c \ ++ cblas_strmv.c \ ++ cblas_strsv.c ++ ++SLEV3_SOURCES = \ ++ cblas_sgemm.c \ ++ cblas_ssymm.c \ ++ cblas_ssyrk.c \ ++ cblas_ssyr2k.c \ ++ cblas_strmm.c \ ++ cblas_strsm.c ++ ++DLEV_SOURCES = \ ++ ddotsub.f \ ++ dsdotsub.f \ ++ dnrm2sub.f \ ++ dasumsub.f \ ++ idamaxsub.f ++ ++DLEV1_SOURCES = \ ++ cblas_drotg.c \ ++ cblas_drotmg.c \ ++ cblas_drot.c \ ++ cblas_drotm.c \ ++ cblas_dswap.c \ ++ cblas_dscal.c \ ++ cblas_dcopy.c \ ++ cblas_daxpy.c \ ++ cblas_ddot.c \ ++ cblas_dsdot.c \ ++ cblas_dnrm2.c \ ++ cblas_dasum.c \ ++ cblas_idamax.c ++ ++DLEV2_SOURCES = \ ++ cblas_dgemv.c \ ++ cblas_dgbmv.c \ ++ cblas_dger.c \ ++ cblas_dsbmv.c \ ++ cblas_dspmv.c \ ++ cblas_dspr.c \ ++ cblas_dspr2.c \ ++ cblas_dsymv.c \ ++ cblas_dsyr.c \ ++ cblas_dsyr2.c \ ++ cblas_dtbmv.c \ ++ cblas_dtbsv.c \ ++ cblas_dtpmv.c \ ++ cblas_dtpsv.c \ ++ cblas_dtrmv.c \ ++ cblas_dtrsv.c ++ ++DLEV3_SOURCES = \ ++ cblas_dgemm.c \ ++ cblas_dsymm.c \ ++ cblas_dsyrk.c \ ++ cblas_dsyr2k.c \ ++ cblas_dtrmm.c \ ++ cblas_dtrsm.c ++ ++CLEV_SOURCES = \ ++ cdotcsub.f \ ++ cdotusub.f \ ++ icamaxsub.f ++ ++CLEV1_SOURCES = \ ++ cblas_cswap.c \ ++ cblas_cscal.c \ ++ cblas_csscal.c \ ++ cblas_ccopy.c \ ++ cblas_caxpy.c \ ++ cblas_cdotu_sub.c \ ++ cblas_cdotc_sub.c \ ++ cblas_icamax.c ++ ++CLEV2_SOURCES = \ ++ cblas_cgemv.c \ ++ cblas_cgbmv.c \ ++ cblas_chemv.c \ ++ cblas_chbmv.c \ ++ cblas_chpmv.c \ ++ cblas_ctrmv.c \ ++ cblas_ctbmv.c \ ++ cblas_ctpmv.c \ ++ cblas_ctrsv.c \ ++ cblas_ctbsv.c \ ++ cblas_ctpsv.c \ ++ cblas_cgeru.c \ ++ cblas_cgerc.c \ ++ cblas_cher.c \ ++ cblas_cher2.c \ ++ cblas_chpr.c \ ++ cblas_chpr2.c ++ ++CLEV3_SOURCES = \ ++ cblas_cgemm.c \ ++ cblas_csymm.c \ ++ cblas_chemm.c \ ++ cblas_cherk.c \ ++ cblas_cher2k.c \ ++ cblas_ctrmm.c \ ++ cblas_ctrsm.c \ ++ cblas_csyrk.c \ ++ cblas_csyr2k.c ++ ++ZLEV_SOURCES = \ ++ zdotcsub.f \ ++ zdotusub.f \ ++ dzasumsub.f \ ++ dznrm2sub.f \ ++ izamaxsub.f ++ ++ZLEV1_SOURCES = \ ++ cblas_zswap.c \ ++ cblas_zscal.c \ ++ cblas_zdscal.c \ ++ cblas_zcopy.c \ ++ cblas_zaxpy.c \ ++ cblas_zdotu_sub.c \ ++ cblas_zdotc_sub.c \ ++ cblas_dznrm2.c \ ++ cblas_dzasum.c \ ++ cblas_izamax.c ++ ++ZLEV2_SOURCES = \ ++ cblas_zgemv.c \ ++ cblas_zgbmv.c \ ++ cblas_zhemv.c \ ++ cblas_zhbmv.c \ ++ cblas_zhpmv.c \ ++ cblas_ztrmv.c \ ++ cblas_ztbmv.c \ ++ cblas_ztpmv.c \ ++ cblas_ztrsv.c \ ++ cblas_ztbsv.c \ ++ cblas_ztpsv.c \ ++ cblas_zgeru.c \ ++ cblas_zgerc.c \ ++ cblas_zher.c \ ++ cblas_zher2.c \ ++ cblas_zhpr.c \ ++ cblas_zhpr2.c ++ ++ZLEV3_SOURCES = \ ++ cblas_zgemm.c \ ++ cblas_zsymm.c \ ++ cblas_zhemm.c \ ++ cblas_zherk.c \ ++ cblas_zher2k.c \ ++ cblas_ztrmm.c \ ++ cblas_ztrsm.c \ ++ cblas_zsyrk.c \ ++ cblas_zsyr2k.c ++ ++libcblas_la_SOURCES = \ ++ cblas_f77.h \ ++ cblas.h \ ++ $(ERRHAND_SOURCES) \ ++ $(SINGLE_SOURCES) \ ++ $(SLEV_SOURCES) \ ++ $(DLEV_SOURCES) \ ++ $(CLEV_SOURCES) \ ++ $(ZLEV_SOURCES) \ ++ $(SLEV1_SOURCES) \ ++ $(DLEV1_SOURCES) \ ++ $(CLEV1_SOURCES) \ ++ $(ZLEV1_SOURCES) \ ++ $(SLEV2_SOURCES) \ ++ $(DLEV2_SOURCES) \ ++ $(CLEV2_SOURCES) \ ++ $(ZLEV2_SOURCES) \ ++ $(SLEV3_SOURCES) \ ++ $(DLEV3_SOURCES) \ ++ $(CLEV3_SOURCES) \ ++ $(ZLEV3_SOURCES) ++ ++libcblas_la_LIBADD = @BLAS_LIBS@ ++ +--- testing/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ testing/Makefile.am 2007-08-16 12:16:57.000000000 +0100 +@@ -0,0 +1,71 @@ ++TESTS = cblas_tests ++ ++cblas_tests: ++ @install -m0755 cblas_tests.sh cblas_tests ++ ++check_PROGRAMS = \ ++ xscblat1 xdcblat1 xccblat1 xzcblat1 \ ++ xscblat2 xdcblat2 xccblat2 xzcblat2 \ ++ xscblat3 xdcblat3 xccblat3 xzcblat3 ++ ++LDADD = $(top_builddir)/src/libcblas.la @BLAS_LIBS@ ++ ++AM_CPPFLAGS = -I$(top_srcdir)/src -DADD_ ++AM_FFLAGS = @BLAS_CFLAGS@ ++ ++AUX_SOURCES = \ ++ auxiliary.c \ ++ c_xerbla.c ++ ++xscblat1_SOURCES = \ ++ c_sblas1.c \ ++ c_sblat1.f ++xscblat2_SOURCES = \ ++ c_sblas2.c \ ++ c_s2chke.c \ ++ c_sblat2.f \ ++ $(AUX_SOURCES) ++xscblat3_SOURCES = \ ++ c_sblas3.c \ ++ c_s3chke.c \ ++ c_sblat3.f \ ++ $(AUX_SOURCES) ++xdcblat1_SOURCES = \ ++ c_dblas1.c \ ++ c_dblat1.f ++xdcblat2_SOURCES = \ ++ c_dblas2.c \ ++ c_d2chke.c \ ++ c_dblat2.f \ ++ $(AUX_SOURCES) ++xdcblat3_SOURCES = \ ++ c_dblas3.c \ ++ c_d3chke.c \ ++ c_dblat3.f \ ++ $(AUX_SOURCES) ++xccblat1_SOURCES = \ ++ c_cblas1.c \ ++ c_cblat1.f ++xccblat2_SOURCES = \ ++ c_cblas2.c \ ++ c_c2chke.c \ ++ c_cblat2.f \ ++ $(AUX_SOURCES) ++xccblat3_SOURCES = \ ++ c_cblas3.c \ ++ c_c3chke.c \ ++ c_cblat3.f \ ++ $(AUX_SOURCES) ++xzcblat1_SOURCES = \ ++ c_zblas1.c \ ++ c_zblat1.f ++xzcblat2_SOURCES = \ ++ c_zblas2.c \ ++ c_z2chke.c \ ++ c_zblat2.f \ ++ $(AUX_SOURCES) ++xzcblat3_SOURCES = \ ++ c_zblas3.c \ ++ c_z3chke.c \ ++ c_zblat3.f \ ++ $(AUX_SOURCES) +--- testing/cblas_tests.sh 1970-01-01 01:00:00.000000000 +0100 ++++ testing/cblas_tests.sh 2007-07-16 01:50:16.000000000 +0100 +@@ -0,0 +1,8 @@ ++#!/bin/sh ++ ++for t in x*blat1; do ++ ./${t} ++done ++for t in x*blat{2,3}; do ++ ./${t} < ${t:1:1}in${t:7:1} ++done diff --git a/sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r4 b/sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r4 new file mode 100644 index 000000000..823a069b1 --- /dev/null +++ b/sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r4 @@ -0,0 +1,3 @@ +MD5 716329646ac933592a7cbdbeae9d3d06 cblas.tgz 197694 +RMD160 77bd5111659f55540c72f9fcd9277d97bd1ea33b cblas.tgz 197694 +SHA256 9b49d7177fda62b6141bf2ca29e475e86f0b12d8f72e0b944058d02b439dd52a cblas.tgz 197694 diff --git a/sci-libs/cblas-reference/files/eselect.cblas.reference b/sci-libs/cblas-reference/files/eselect.cblas.reference new file mode 100644 index 000000000..62b581860 --- /dev/null +++ b/sci-libs/cblas-reference/files/eselect.cblas.reference @@ -0,0 +1,5 @@ +blas/reference/libcblas.so /usr/@LIBDIR@/libcblas.so +blas/reference/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0 +blas/reference/libcblas.a /usr/@LIBDIR@/libcblas.a +../blas/reference/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc +cblas/cblas.h /usr/include/cblas.h diff --git a/sci-libs/cblas-reference/metadata.xml b/sci-libs/cblas-reference/metadata.xml new file mode 100644 index 000000000..b3739e268 --- /dev/null +++ b/sci-libs/cblas-reference/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> +The BLAS (Basic Linear Algebra Subprograms) are high quality "building +block" routines for performing basic vector and matrix operations. Level 1 +BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, +and Level 3 BLAS do matrix-matrix operations. Because the BLAS are +efficient, portable, and widely available, they're commonly used in the +development of high quality linear algebra software, LAPACK for +example. This packages implements the reference C library as a wrapper +to the FORTRAN 77 BLAS library. +</longdescription> +</pkgmetadata> diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest new file mode 100644 index 000000000..c814c0f93 --- /dev/null +++ b/sci-libs/gsl/Manifest @@ -0,0 +1,24 @@ +AUX cblas.pc.in 290 RMD160 4fc855a67383ac17b68c29d8f10307178919e217 SHA1 ec23b2092a5498beb602c9b558af8abcf5dd6358 SHA256 f47133de2f49a5ff53c8e295d03fbe8923c79cd0978cedb903cfdf7e57a873a1 +MD5 a3aa0d987b3770c85cb8b79f215583c1 files/cblas.pc.in 290 +RMD160 4fc855a67383ac17b68c29d8f10307178919e217 files/cblas.pc.in 290 +SHA256 f47133de2f49a5ff53c8e295d03fbe8923c79cd0978cedb903cfdf7e57a873a1 files/cblas.pc.in 290 +AUX eselect.cblas.gsl 211 RMD160 612f187899186667d39f4285983a6d2e33e8d8e5 SHA1 18f13508efdcb0b408ac5a1c3bf2ef21c5adcd85 SHA256 9946e2e6082c58b2d0415d27f572897da76a96d259652e305783875643fb6554 +MD5 446feaa977fae60dd7f62d7dbe27dfd1 files/eselect.cblas.gsl 211 +RMD160 612f187899186667d39f4285983a6d2e33e8d8e5 files/eselect.cblas.gsl 211 +SHA256 9946e2e6082c58b2d0415d27f572897da76a96d259652e305783875643fb6554 files/eselect.cblas.gsl 211 +AUX gsl-1.6-deps.diff 418 RMD160 1c6aef845c115fce98c38857948b38a1b5e425b1 SHA1 b03629fad9b09c918ccea6bc328c9b8eb256d351 SHA256 0ca9e6e5431d608c282ce890971b23c2fdba5701f0cac0d70938f14df46e701f +MD5 5ca2842635739ffb675ba3eff4d460d9 files/gsl-1.6-deps.diff 418 +RMD160 1c6aef845c115fce98c38857948b38a1b5e425b1 files/gsl-1.6-deps.diff 418 +SHA256 0ca9e6e5431d608c282ce890971b23c2fdba5701f0cac0d70938f14df46e701f files/gsl-1.6-deps.diff 418 +DIST gsl-1.9.tar.gz 2574939 RMD160 faca66d02876135c31c2f3585baa1931488e1593 SHA1 7541504ed9864b1a278f9392830ecac9e0146258 SHA256 fcd1c6784997c2312d922d107fcb30462f5be4335ebdfa8e1e0e07568c962250 +EBUILD gsl-1.9-r1.ebuild 1594 RMD160 5d550c8655498e798939b9fa40bfa18cac45c145 SHA1 fd18f7b54f43eac74fe28eb4db16a011bbaaeb59 SHA256 f36c4b3f35dd5e75379ff600b62e1b7cccb0c71d83b5345fee3fe4ca30664ed1 +MD5 7ed2f188fe06879573e95977814c0cbd gsl-1.9-r1.ebuild 1594 +RMD160 5d550c8655498e798939b9fa40bfa18cac45c145 gsl-1.9-r1.ebuild 1594 +SHA256 f36c4b3f35dd5e75379ff600b62e1b7cccb0c71d83b5345fee3fe4ca30664ed1 gsl-1.9-r1.ebuild 1594 +MISC metadata.xml 517 RMD160 0888c8c9502c1859d002938769c72cc25e34720a SHA1 a686442fb5085ba24f1a89259438418b2d6bd28d SHA256 2c4f98ec581f4292aad994f07f5c692207e611513864bb4b7da0b6a7ce1709cd +MD5 52dd827735e089a37cb2bfba3c11e903 metadata.xml 517 +RMD160 0888c8c9502c1859d002938769c72cc25e34720a metadata.xml 517 +SHA256 2c4f98ec581f4292aad994f07f5c692207e611513864bb4b7da0b6a7ce1709cd metadata.xml 517 +MD5 3d4c2af07681f88ed37e23e04518648c files/digest-gsl-1.9-r1 226 +RMD160 8ccab5953dbccc8d3cf5fd5dc7eec254f04b434a files/digest-gsl-1.9-r1 226 +SHA256 a9b9438404a6877f83254607c14e41809f06a9143105b00d2fa2f1c92698f279 files/digest-gsl-1.9-r1 226 diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in new file mode 100644 index 000000000..a2580f85e --- /dev/null +++ b/sci-libs/gsl/files/cblas.pc.in @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: cblas +Description: GSL C Implementation of the Basic Linear Algebra Subprograms +Version: @PV@ +URL: http://www.gnu.org/software/gsl +Libs: -L${libdir} -lcblas +Libs.private: -lm +Cflags: -I${includedir} diff --git a/sci-libs/gsl/files/digest-gsl-1.9-r1 b/sci-libs/gsl/files/digest-gsl-1.9-r1 new file mode 100644 index 000000000..7c9903354 --- /dev/null +++ b/sci-libs/gsl/files/digest-gsl-1.9-r1 @@ -0,0 +1,3 @@ +MD5 81dca4362ae8d2aa1547b7d010881e43 gsl-1.9.tar.gz 2574939 +RMD160 faca66d02876135c31c2f3585baa1931488e1593 gsl-1.9.tar.gz 2574939 +SHA256 fcd1c6784997c2312d922d107fcb30462f5be4335ebdfa8e1e0e07568c962250 gsl-1.9.tar.gz 2574939 diff --git a/sci-libs/gsl/files/eselect.cblas.gsl b/sci-libs/gsl/files/eselect.cblas.gsl new file mode 100644 index 000000000..5524ef29d --- /dev/null +++ b/sci-libs/gsl/files/eselect.cblas.gsl @@ -0,0 +1,5 @@ +libgslcblas.so /usr/@LIBDIR@/libcblas.so +libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0 +libgslcblas.a /usr/@LIBDIR@/libcblas.a +../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc +gslcblas.h /usr/include/cblas.h diff --git a/sci-libs/gsl/files/gsl-1.6-deps.diff b/sci-libs/gsl/files/gsl-1.6-deps.diff new file mode 100644 index 000000000..f6460e0b5 --- /dev/null +++ b/sci-libs/gsl/files/gsl-1.6-deps.diff @@ -0,0 +1,13 @@ +--- Makefile.am ++++ Makefile.am 2005/04/25 13:12:35 +@@ -17,8 +17,8 @@ + + lib_LTLIBRARIES = libgsl.la + libgsl_la_SOURCES = version.c +-libgsl_la_LIBADD = $(SUBLIBS) +-libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION) ++libgsl_la_LIBADD = $(SUBLIBS) cblas/libgslcblas.la ++libgsl_la_LDFLAGS = -no-undefined -version-info $(GSL_LT_VERSION) + noinst_HEADERS = templates_on.h templates_off.h + + m4datadir = $(datadir)/aclocal diff --git a/sci-libs/gsl/gsl-1.9-r1.ebuild b/sci-libs/gsl/gsl-1.9-r1.ebuild new file mode 100644 index 000000000..8febbfb49 --- /dev/null +++ b/sci-libs/gsl/gsl-1.9-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils flag-o-matic toolchain-funcs autotools + +DESCRIPTION="The GNU Scientific Library" +HOMEPAGE="http://www.gnu.org/software/gsl/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd" +IUSE="" + +RDEPEND="app-admin/eselect-cblas" +DEPEND="${RDEPEND}" + +pkg_setup() { + # icc-10.0.025 did not pass some tests + if [[ $(tc-getCC) == icc ]]; then + eerror "icc known to fail tests. Revert to safer gcc and re-emerge." + die "gsl does not work when compiled with icc" + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + # fix for as-needed + epatch "${FILESDIR}"/gsl-1.6-deps.diff + eautoreconf +} + +src_compile() { + replace-cpu-flags k6 k6-2 k6-3 i586 + filter-flags -ffast-math + + econf || die "econf failed" + emake || die 'emake failed.' +} + +src_install() { + emake install DESTDIR="${D}" || die "emake install failed." + dodoc AUTHORS BUGS ChangeLog NEWS README SUPPORT THANKS TODO + + # take care of pkgconfig file for cblas implementation. + cp "${FILESDIR}"/cblas.pc.in cblas.pc + sed -i \ + -e "s/@LIBDIR@/$(get_libdir)/" \ + -e "s/@PV@/${PV}/" \ + cblas.pc || die "sed cblas.pc failed" + insinto /usr/$(get_libdir)/blas/gsl + doins cblas.pc + eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.gsl gsl +} + +pkg_postinst() { + [[ -z "$(eselect cblas show)" ]] && eselect cblas set gsl + elog "To use CBLAS gsl implementation, you have to issue (as root):" + elog "\t eselect cblas set gsl" +} diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml new file mode 100644 index 000000000..af4c157fd --- /dev/null +++ b/sci-libs/gsl/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> +The GNU Scientific Library (GSL) is a collection of routines for numerical +computing. The routines are written from scratch by the GSL team in ANSI C, +and are meant to present a modern Applications Programming Interface (API) +for C programmers, while allowing wrappers to be written for very high level +languages. +</longdescription> +</pkgmetadata> diff --git a/sci-libs/lapack-atlas/Manifest b/sci-libs/lapack-atlas/Manifest new file mode 100644 index 000000000..7f2f49553 --- /dev/null +++ b/sci-libs/lapack-atlas/Manifest @@ -0,0 +1,38 @@ +AUX atlas-asm-gentoo.patch 408 RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da SHA1 493d066be68c66cca1f0c906d588da8983ec7afa SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b +MD5 fb9ca923b595b67967a744339e7a32a6 files/atlas-asm-gentoo.patch 408 +RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da files/atlas-asm-gentoo.patch 408 +SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b files/atlas-asm-gentoo.patch 408 +AUX eselect.lapack.atlas 221 RMD160 10a38380469d069b7562b1c8f5a11d0ca94c806d SHA1 381462731ef8f618e8c3cd115c3da812b6f7c2ba SHA256 41b00b000df42c14cc483b468b19d586995b4f528544e24e7aba25feab966a64 +MD5 17542dc2fda336886d50104d48e95487 files/eselect.lapack.atlas 221 +RMD160 10a38380469d069b7562b1c8f5a11d0ca94c806d files/eselect.lapack.atlas 221 +SHA256 41b00b000df42c14cc483b468b19d586995b4f528544e24e7aba25feab966a64 files/eselect.lapack.atlas 221 +AUX lapack-reference-3.1.1-autotool.patch 16994 RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 SHA1 a1eda6146c1cd32f972b0f1703610c85b58b7c74 SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec +MD5 0750e86c04390617206f5170f2c07652 files/lapack-reference-3.1.1-autotool.patch 16994 +RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 files/lapack-reference-3.1.1-autotool.patch 16994 +SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec files/lapack-reference-3.1.1-autotool.patch 16994 +AUX lapack-reference-3.1.1-test-fix.patch 2120 RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc SHA1 bf73066396b08def6bcd81d0ce09aab682224cb1 SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8 +MD5 d9f7c5dbfc41c255eab86b32702f5650 files/lapack-reference-3.1.1-test-fix.patch 2120 +RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc files/lapack-reference-3.1.1-test-fix.patch 2120 +SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8 files/lapack-reference-3.1.1-test-fix.patch 2120 +AUX lapack.pc.in 346 RMD160 37e53e81a13ae0745bb4f70b960cf55ed7e091d2 SHA1 72158ced78039be6e35d2a48ac19c8126945566d SHA256 75cf6520921f344b83a8c0c085cbaefd12debc371ae1ef9dbcd6edd9b829ade2 +MD5 e9c548422f243390920d81d59e57e1a2 files/lapack.pc.in 346 +RMD160 37e53e81a13ae0745bb4f70b960cf55ed7e091d2 files/lapack.pc.in 346 +SHA256 75cf6520921f344b83a8c0c085cbaefd12debc371ae1ef9dbcd6edd9b829ade2 files/lapack.pc.in 346 +AUX war 545 RMD160 6f44c25e739703f988180959608094aa633db7bf SHA1 d90a66e57395e01b94bac9b444590de8fef77aca SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b +MD5 13d26350d75e6993f1b3ec48ca97f14e files/war 545 +RMD160 6f44c25e739703f988180959608094aa633db7bf files/war 545 +SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b files/war 545 +DIST atlas-3.7.37-shared-libs.patch.bz2 6373 RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a SHA1 c8ca108f50a7968ad98be64a70ea1b0b5e87ad5d SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec +DIST atlas3.7.37.tar.bz2 2282682 RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 SHA1 32ea739fc4682fb2a9b6625d1a912baaf8f31e1a SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65 +DIST lapack-lite-3.1.1.tgz 5332509 RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b SHA1 1ec4ef90b544cf82bc7b4f770cee6fb46da457c5 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 +EBUILD lapack-atlas-3.7.37.ebuild 5100 RMD160 cc652537f4e13831d055571dd2c21951291841c3 SHA1 d4aa0d0ae5a42fd76117a7da4d9b7109aea23433 SHA256 085bdc0db44fb524e9aa2d691d616353670a0f0cbb54aaee51a9f24a7c3fe1b6 +MD5 7799498dda7d4e0d4e6215f402d9bf97 lapack-atlas-3.7.37.ebuild 5100 +RMD160 cc652537f4e13831d055571dd2c21951291841c3 lapack-atlas-3.7.37.ebuild 5100 +SHA256 085bdc0db44fb524e9aa2d691d616353670a0f0cbb54aaee51a9f24a7c3fe1b6 lapack-atlas-3.7.37.ebuild 5100 +MISC metadata.xml 654 RMD160 06f9ca1f9b2c2c3452dd71c61dba3a55b0c5e4e6 SHA1 0462e763a17b33d2ff889eb4d25751ea9a117840 SHA256 dc1ac3c41329b360274e3a2c393e390467a8d72cb64e10de2dddab060617bf1e +MD5 382af87e1a8465db41ae327e9cf042cf metadata.xml 654 +RMD160 06f9ca1f9b2c2c3452dd71c61dba3a55b0c5e4e6 metadata.xml 654 +SHA256 dc1ac3c41329b360274e3a2c393e390467a8d72cb64e10de2dddab060617bf1e metadata.xml 654 +MD5 a16a900e97473c5c2ab966ef092137e8 files/digest-lapack-atlas-3.7.37 765 +RMD160 73290ce934eb794d71460e024269741717439de8 files/digest-lapack-atlas-3.7.37 765 +SHA256 579d452aaadb1d7db023309c983a2a4bfe063ce893ead5003baf84d9fc32fa0e files/digest-lapack-atlas-3.7.37 765 diff --git a/sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch b/sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch new file mode 100644 index 000000000..ca5a7a8ee --- /dev/null +++ b/sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch @@ -0,0 +1,12 @@ +diff -Naur ATLAS/include/contrib/camm_dpa.h ATLAS-new/include/contrib/camm_dpa.h +--- ATLAS/include/contrib/camm_dpa.h 2006-09-09 15:33:15.000000000 -0400 ++++ ATLAS-new/include/contrib/camm_dpa.h 2006-09-26 10:18:24.000000000 -0400 +@@ -1619,7 +1619,7 @@ + #if defined(SCPLX) || (defined(DCPLX) && defined(ATL_SSE2)) + ,"m" (w) + #endif +- :"ax","bx","cx","dx","si","di"); ++ :"ax","cx","dx","si","di"); + + + } diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.37 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.37 new file mode 100644 index 000000000..62b35b085 --- /dev/null +++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.37 @@ -0,0 +1,9 @@ +MD5 88fe3d5e7eb9cda6f87be1264d5995b4 atlas-3.7.37-shared-libs.patch.bz2 6373 +RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a atlas-3.7.37-shared-libs.patch.bz2 6373 +SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec atlas-3.7.37-shared-libs.patch.bz2 6373 +MD5 5c3fb9a4c74e8426105558a23b2215ff atlas3.7.37.tar.bz2 2282682 +RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 atlas3.7.37.tar.bz2 2282682 +SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65 atlas3.7.37.tar.bz2 2282682 +MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509 +RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509 +SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509 diff --git a/sci-libs/lapack-atlas/files/eselect.lapack.atlas b/sci-libs/lapack-atlas/files/eselect.lapack.atlas new file mode 100644 index 000000000..7478b5154 --- /dev/null +++ b/sci-libs/lapack-atlas/files/eselect.lapack.atlas @@ -0,0 +1,4 @@ +lapack/atlas/liblapack.so /usr/@LIBDIR@/liblapack.so +lapack/atlas/liblapack.so.0 /usr/@LIBDIR@/liblapack.so.0 +lapack/atlas/liblapack.a /usr/@LIBDIR@/liblapack.a +../lapack/atlas/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc diff --git a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch new file mode 100644 index 000000000..72a00618c --- /dev/null +++ b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch @@ -0,0 +1,374 @@ +--- configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ configure.ac 2007-08-14 10:28:36.000000000 +0100 +@@ -0,0 +1,26 @@ ++AC_PREREQ(2.61) ++AC_INIT(lapack, 3.1.1, lapack@cs.utk.edu) ++AM_INIT_AUTOMAKE([foreign]) ++ ++AC_LANG(Fortran 77) ++AC_PROG_F77 ++AC_PROG_LIBTOOL ++ ++AC_F77_FUNC(sgemm) ++ ++PKG_PROG_PKG_CONFIG ++if test -n "$PKG_CONFIG"; then ++ PKG_CHECK_MODULES([BLAS], [blas]) ++else ++ AC_CHECK_LIB(blas, $sgemm) ++ BLAS_LIBS=-lblas ++ AC_SUBST(BLAS_LIBS) ++fi ++ ++AC_ARG_VAR(NOOPT_FFLAGS, Fortran 77 compiler flags to use for unoptimized files) ++ ++AC_CONFIG_FILES([Makefile ++ SRC/Makefile ++ INSTALL/Makefile ++ lapack.pc]) ++AC_OUTPUT +--- Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ Makefile.am 2007-08-14 11:39:34.000000000 +0100 +@@ -0,0 +1,6 @@ ++SUBDIRS = INSTALL SRC ++ ++pkgconfigdir = $(libdir) ++pkgconfig_DATA = lapack.pc ++ ++EXTRA_DIST = README lapack.pc +--- lapack.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ lapack.pc.in 2007-08-14 17:16:49.000000000 +0100 +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: Linear Algebra PACKage FORTRAN 77 reference implementation ++Version: @PACKAGE_VERSION@ ++Requires: blas ++URL: http://www.netlib.org/lapack/ ++Libs: -llapack ++Libs.private: -lm +--- SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ SRC/Makefile.am 2007-08-02 15:15:59.000000000 +0100 +@@ -0,0 +1,292 @@ ++lib_LTLIBRARIES = \ ++ liblapack.la ++ ++noinst_LTLIBRARIES = \ ++ liblapack-noopt.la ++ ++ALLAUX_SOURCES = ilaenv.f ieeeck.f lsamen.f xerbla.f iparmq.f \ ++ ../INSTALL/ilaver.f ../INSTALL/lsame.f ++ ++SINGLE_NOOPT_SOURCES = \ ++ slaruv.f ../INSTALL/slamch.f ++ ++SINGLE_SOURCES = \ ++ sbdsdc.f \ ++ sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f \ ++ slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f \ ++ slaed7.f slaed8.f slaed9.f slaeda.f slaev2.f slagtf.f \ ++ slagts.f slamrg.f slanst.f \ ++ slapy2.f slapy3.f slarnv.f \ ++ slarra.f slarrb.f slarrc.f slarrd.f slarre.f slarrf.f slarrj.f \ ++ slarrk.f slarrr.f slaneg.f \ ++ slartg.f slas2.f slascl.f \ ++ slasd0.f slasd1.f slasd2.f slasd3.f slasd4.f slasd5.f slasd6.f \ ++ slasd7.f slasd8.f slasda.f slasdq.f slasdt.f \ ++ slaset.f slasq1.f slasq2.f slasq3.f slazq3.f slasq4.f slazq4.f slasq5.f slasq6.f \ ++ slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f \ ++ ssteqr.f ssterf.f slaisnan.f sisnan.f \ ++ ../INSTALL/second_INT_CPU_TIME.f ++ ++DOUBLE_NOOPT_SOURCES = \ ++ dlaruv.f ../INSTALL/dlamch.f ++ ++DOUBLE_SOURCES = \ ++ dbdsdc.f \ ++ dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f \ ++ dlaed0.f dlaed1.f dlaed2.f dlaed3.f dlaed4.f dlaed5.f dlaed6.f \ ++ dlaed7.f dlaed8.f dlaed9.f dlaeda.f dlaev2.f dlagtf.f \ ++ dlagts.f dlamrg.f dlanst.f \ ++ dlapy2.f dlapy3.f dlarnv.f \ ++ dlarra.f dlarrb.f dlarrc.f dlarrd.f dlarre.f dlarrf.f dlarrj.f \ ++ dlarrk.f dlarrr.f dlaneg.f \ ++ dlartg.f dlas2.f dlascl.f \ ++ dlasd0.f dlasd1.f dlasd2.f dlasd3.f dlasd4.f dlasd5.f dlasd6.f \ ++ dlasd7.f dlasd8.f dlasda.f dlasdq.f dlasdt.f \ ++ dlaset.f dlasq1.f dlasq2.f dlasq3.f dlazq3.f dlasq4.f dlazq4.f dlasq5.f dlasq6.f \ ++ dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f \ ++ dsteqr.f dsterf.f dlaisnan.f disnan.f \ ++ ../INSTALL/dsecnd_INT_CPU_TIME.f ++ ++S_SOURCES = \ ++ sgbbrd.f sgbcon.f sgbequ.f sgbrfs.f sgbsv.f \ ++ sgbsvx.f sgbtf2.f sgbtrf.f sgbtrs.f sgebak.f sgebal.f sgebd2.f \ ++ sgebrd.f sgecon.f sgeequ.f sgees.f sgeesx.f sgeev.f sgeevx.f \ ++ sgegs.f sgegv.f sgehd2.f sgehrd.f sgelq2.f sgelqf.f \ ++ sgels.f sgelsd.f sgelss.f sgelsx.f sgelsy.f sgeql2.f sgeqlf.f \ ++ sgeqp3.f sgeqpf.f sgeqr2.f sgeqrf.f sgerfs.f sgerq2.f sgerqf.f \ ++ sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvx.f sgetc2.f sgetf2.f \ ++ sgetrf.f sgetri.f \ ++ sgetrs.f sggbak.f sggbal.f sgges.f sggesx.f sggev.f sggevx.f \ ++ sggglm.f sgghrd.f sgglse.f sggqrf.f \ ++ sggrqf.f sggsvd.f sggsvp.f sgtcon.f sgtrfs.f sgtsv.f \ ++ sgtsvx.f sgttrf.f sgttrs.f sgtts2.f shgeqz.f \ ++ shsein.f shseqr.f slabrd.f slacon.f slacn2.f \ ++ slaein.f slaexc.f slag2.f slags2.f slagtm.f slagv2.f slahqr.f \ ++ slahrd.f slahr2.f slaic1.f slaln2.f slals0.f slalsa.f slalsd.f \ ++ slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f \ ++ slansy.f slantb.f slantp.f slantr.f slanv2.f \ ++ slapll.f slapmt.f \ ++ slaqgb.f slaqge.f slaqp2.f slaqps.f slaqsb.f slaqsp.f slaqsy.f \ ++ slaqr0.f slaqr1.f slaqr2.f slaqr3.f slaqr4.f slaqr5.f \ ++ slaqtr.f slar1v.f slar2v.f \ ++ slarf.f slarfb.f slarfg.f slarft.f slarfx.f slargv.f \ ++ slarrv.f slartv.f \ ++ slarz.f slarzb.f slarzt.f slaswp.f slasy2.f slasyf.f \ ++ slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f slatzm.f \ ++ slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f \ ++ sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f \ ++ sorgrq.f sorgtr.f sorm2l.f sorm2r.f \ ++ sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f \ ++ sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f \ ++ spbstf.f spbsv.f spbsvx.f \ ++ spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f \ ++ sposvx.f spotf2.f spotrf.f spotri.f spotrs.f sppcon.f sppequ.f \ ++ spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f \ ++ spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f sptts2.f srscl.f \ ++ ssbev.f ssbevd.f ssbevx.f ssbgst.f ssbgv.f ssbgvd.f ssbgvx.f \ ++ ssbtrd.f sspcon.f sspev.f sspevd.f sspevx.f sspgst.f \ ++ sspgv.f sspgvd.f sspgvx.f ssprfs.f sspsv.f sspsvx.f ssptrd.f \ ++ ssptrf.f ssptri.f ssptrs.f sstegr.f sstein.f sstev.f sstevd.f sstevr.f \ ++ sstevx.f ssycon.f ssyev.f ssyevd.f ssyevr.f ssyevx.f ssygs2.f \ ++ ssygst.f ssygv.f ssygvd.f ssygvx.f ssyrfs.f ssysv.f ssysvx.f \ ++ ssytd2.f ssytf2.f ssytrd.f ssytrf.f ssytri.f ssytrs.f stbcon.f \ ++ stbrfs.f stbtrs.f stgevc.f stgex2.f stgexc.f stgsen.f \ ++ stgsja.f stgsna.f stgsy2.f stgsyl.f stpcon.f stprfs.f stptri.f \ ++ stptrs.f \ ++ strcon.f strevc.f strexc.f strrfs.f strsen.f strsna.f strsyl.f \ ++ strti2.f strtri.f strtrs.f stzrqf.f stzrzf.f sstemr.f ++ ++C_SOURCES = \ ++ cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f \ ++ cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f \ ++ cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f \ ++ cgegs.f cgegv.f cgehd2.f cgehrd.f cgelq2.f cgelqf.f \ ++ cgels.f cgelsd.f cgelss.f cgelsx.f cgelsy.f cgeql2.f cgeqlf.f cgeqp3.f \ ++ cgeqpf.f cgeqr2.f cgeqrf.f cgerfs.f cgerq2.f cgerqf.f \ ++ cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvx.f cgetc2.f cgetf2.f cgetrf.f \ ++ cgetri.f cgetrs.f \ ++ cggbak.f cggbal.f cgges.f cggesx.f cggev.f cggevx.f cggglm.f \ ++ cgghrd.f cgglse.f cggqrf.f cggrqf.f \ ++ cggsvd.f cggsvp.f \ ++ cgtcon.f cgtrfs.f cgtsv.f cgtsvx.f cgttrf.f cgttrs.f cgtts2.f chbev.f \ ++ chbevd.f chbevx.f chbgst.f chbgv.f chbgvd.f chbgvx.f chbtrd.f \ ++ checon.f cheev.f cheevd.f cheevr.f cheevx.f chegs2.f chegst.f \ ++ chegv.f chegvd.f chegvx.f cherfs.f chesv.f chesvx.f chetd2.f \ ++ chetf2.f chetrd.f \ ++ chetrf.f chetri.f chetrs.f chgeqz.f chpcon.f chpev.f chpevd.f \ ++ chpevx.f chpgst.f chpgv.f chpgvd.f chpgvx.f chprfs.f chpsv.f \ ++ chpsvx.f \ ++ chptrd.f chptrf.f chptri.f chptrs.f chsein.f chseqr.f clabrd.f \ ++ clacgv.f clacon.f clacn2.f clacp2.f clacpy.f clacrm.f clacrt.f cladiv.f \ ++ claed0.f claed7.f claed8.f \ ++ claein.f claesy.f claev2.f clags2.f clagtm.f \ ++ clahef.f clahqr.f \ ++ clahrd.f clahr2.f claic1.f clals0.f clalsa.f clalsd.f clangb.f clange.f clangt.f \ ++ clanhb.f clanhe.f \ ++ clanhp.f clanhs.f clanht.f clansb.f clansp.f clansy.f clantb.f \ ++ clantp.f clantr.f clapll.f clapmt.f clarcm.f claqgb.f claqge.f \ ++ claqhb.f claqhe.f claqhp.f claqp2.f claqps.f claqsb.f \ ++ claqr0.f claqr1.f claqr2.f claqr3.f claqr4.f claqr5.f \ ++ claqsp.f claqsy.f clar1v.f clar2v.f clarf.f clarfb.f clarfg.f clarft.f \ ++ clarfx.f clargv.f clarnv.f clarrv.f clartg.f clartv.f \ ++ clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f \ ++ claswp.f clasyf.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f \ ++ clatzm.f clauu2.f clauum.f cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f \ ++ cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f \ ++ cposv.f cposvx.f cpotf2.f cpotrf.f cpotri.f cpotrs.f cppcon.f \ ++ cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f \ ++ cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f cptts2.f \ ++ crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f \ ++ cspsvx.f csptrf.f csptri.f csptrs.f csrscl.f cstedc.f \ ++ cstegr.f cstein.f csteqr.f csycon.f csymv.f \ ++ csyr.f csyrfs.f csysv.f csysvx.f csytf2.f csytrf.f csytri.f \ ++ csytrs.f ctbcon.f ctbrfs.f ctbtrs.f ctgevc.f ctgex2.f \ ++ ctgexc.f ctgsen.f ctgsja.f ctgsna.f ctgsy2.f ctgsyl.f ctpcon.f \ ++ ctprfs.f ctptri.f \ ++ ctptrs.f ctrcon.f ctrevc.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f \ ++ ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrqf.f ctzrzf.f cung2l.f cung2r.f \ ++ cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f \ ++ cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f \ ++ cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f \ ++ cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f ++ ++D_SOURCES = \ ++ dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f \ ++ dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f \ ++ dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f \ ++ dgegs.f dgegv.f dgehd2.f dgehrd.f dgelq2.f dgelqf.f \ ++ dgels.f dgelsd.f dgelss.f dgelsx.f dgelsy.f dgeql2.f dgeqlf.f \ ++ dgeqp3.f dgeqpf.f dgeqr2.f dgeqrf.f dgerfs.f dgerq2.f dgerqf.f \ ++ dgesc2.f dgesdd.f dgesv.f dgesvd.f dgesvx.f dgetc2.f dgetf2.f \ ++ dgetrf.f dgetri.f \ ++ dgetrs.f dggbak.f dggbal.f dgges.f dggesx.f dggev.f dggevx.f \ ++ dggglm.f dgghrd.f dgglse.f dggqrf.f \ ++ dggrqf.f dggsvd.f dggsvp.f dgtcon.f dgtrfs.f dgtsv.f \ ++ dgtsvx.f dgttrf.f dgttrs.f dgtts2.f dhgeqz.f \ ++ dhsein.f dhseqr.f dlabrd.f dlacon.f dlacn2.f \ ++ dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlagv2.f dlahqr.f \ ++ dlahrd.f dlahr2.f dlaic1.f dlaln2.f dlals0.f dlalsa.f dlalsd.f \ ++ dlangb.f dlange.f dlangt.f dlanhs.f dlansb.f dlansp.f \ ++ dlansy.f dlantb.f dlantp.f dlantr.f dlanv2.f \ ++ dlapll.f dlapmt.f \ ++ dlaqgb.f dlaqge.f dlaqp2.f dlaqps.f dlaqsb.f dlaqsp.f dlaqsy.f \ ++ dlaqr0.f dlaqr1.f dlaqr2.f dlaqr3.f dlaqr4.f dlaqr5.f \ ++ dlaqtr.f dlar1v.f dlar2v.f \ ++ dlarf.f dlarfb.f dlarfg.f dlarft.f dlarfx.f dlargv.f \ ++ dlarrv.f dlartv.f \ ++ dlarz.f dlarzb.f dlarzt.f dlaswp.f dlasy2.f dlasyf.f \ ++ dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlatzm.f dlauu2.f \ ++ dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f \ ++ dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f \ ++ dorgrq.f dorgtr.f dorm2l.f dorm2r.f \ ++ dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f \ ++ dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f \ ++ dpbstf.f dpbsv.f dpbsvx.f \ ++ dpbtf2.f dpbtrf.f dpbtrs.f dpocon.f dpoequ.f dporfs.f dposv.f \ ++ dposvx.f dpotf2.f dpotrf.f dpotri.f dpotrs.f dppcon.f dppequ.f \ ++ dpprfs.f dppsv.f dppsvx.f dpptrf.f dpptri.f dpptrs.f dptcon.f \ ++ dpteqr.f dptrfs.f dptsv.f dptsvx.f dpttrs.f dptts2.f drscl.f \ ++ dsbev.f dsbevd.f dsbevx.f dsbgst.f dsbgv.f dsbgvd.f dsbgvx.f \ ++ dsbtrd.f dspcon.f dspev.f dspevd.f dspevx.f dspgst.f \ ++ dspgv.f dspgvd.f dspgvx.f dsprfs.f dspsv.f dspsvx.f dsptrd.f \ ++ dsptrf.f dsptri.f dsptrs.f dstegr.f dstein.f dstev.f dstevd.f dstevr.f \ ++ dstevx.f dsycon.f dsyev.f dsyevd.f dsyevr.f \ ++ dsyevx.f dsygs2.f dsygst.f dsygv.f dsygvd.f dsygvx.f dsyrfs.f \ ++ dsysv.f dsysvx.f \ ++ dsytd2.f dsytf2.f dsytrd.f dsytrf.f dsytri.f dsytrs.f dtbcon.f \ ++ dtbrfs.f dtbtrs.f dtgevc.f dtgex2.f dtgexc.f dtgsen.f \ ++ dtgsja.f dtgsna.f dtgsy2.f dtgsyl.f dtpcon.f dtprfs.f dtptri.f \ ++ dtptrs.f \ ++ dtrcon.f dtrevc.f dtrexc.f dtrrfs.f dtrsen.f dtrsna.f dtrsyl.f \ ++ dtrti2.f dtrtri.f dtrtrs.f dtzrqf.f dtzrzf.f dstemr.f \ ++ dsgesv.f dlag2s.f slag2d.f ++ ++Z_SOURCES = \ ++ zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f \ ++ zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f \ ++ zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f \ ++ zgegs.f zgegv.f zgehd2.f zgehrd.f zgelq2.f zgelqf.f \ ++ zgels.f zgelsd.f zgelss.f zgelsx.f zgelsy.f zgeql2.f zgeqlf.f zgeqp3.f \ ++ zgeqpf.f zgeqr2.f zgeqrf.f zgerfs.f zgerq2.f zgerqf.f \ ++ zgesc2.f zgesdd.f zgesv.f zgesvd.f zgesvx.f zgetc2.f zgetf2.f zgetrf.f \ ++ zgetri.f zgetrs.f \ ++ zggbak.f zggbal.f zgges.f zggesx.f zggev.f zggevx.f zggglm.f \ ++ zgghrd.f zgglse.f zggqrf.f zggrqf.f \ ++ zggsvd.f zggsvp.f \ ++ zgtcon.f zgtrfs.f zgtsv.f zgtsvx.f zgttrf.f zgttrs.f zgtts2.f zhbev.f \ ++ zhbevd.f zhbevx.f zhbgst.f zhbgv.f zhbgvd.f zhbgvx.f zhbtrd.f \ ++ zhecon.f zheev.f zheevd.f zheevr.f zheevx.f zhegs2.f zhegst.f \ ++ zhegv.f zhegvd.f zhegvx.f zherfs.f zhesv.f zhesvx.f zhetd2.f \ ++ zhetf2.f zhetrd.f \ ++ zhetrf.f zhetri.f zhetrs.f zhgeqz.f zhpcon.f zhpev.f zhpevd.f \ ++ zhpevx.f zhpgst.f zhpgv.f zhpgvd.f zhpgvx.f zhprfs.f zhpsv.f \ ++ zhpsvx.f \ ++ zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f \ ++ zlacgv.f zlacon.f zlacn2.f zlacp2.f zlacpy.f zlacrm.f zlacrt.f zladiv.f \ ++ zlaed0.f zlaed7.f zlaed8.f \ ++ zlaein.f zlaesy.f zlaev2.f zlags2.f zlagtm.f \ ++ zlahef.f zlahqr.f \ ++ zlahrd.f zlahr2.f zlaic1.f zlals0.f zlalsa.f zlalsd.f zlangb.f zlange.f \ ++ zlangt.f zlanhb.f \ ++ zlanhe.f \ ++ zlanhp.f zlanhs.f zlanht.f zlansb.f zlansp.f zlansy.f zlantb.f \ ++ zlantp.f zlantr.f zlapll.f zlapmt.f zlaqgb.f zlaqge.f \ ++ zlaqhb.f zlaqhe.f zlaqhp.f zlaqp2.f zlaqps.f zlaqsb.f \ ++ zlaqr0.f zlaqr1.f zlaqr2.f zlaqr3.f zlaqr4.f zlaqr5.f \ ++ zlaqsp.f zlaqsy.f zlar1v.f zlar2v.f zlarcm.f zlarf.f zlarfb.f \ ++ zlarfg.f zlarft.f \ ++ zlarfx.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f \ ++ zlarz.f zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f \ ++ zlassq.f zlaswp.f zlasyf.f \ ++ zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f zlatzm.f zlauu2.f \ ++ zlauum.f zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f \ ++ zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f \ ++ zposv.f zposvx.f zpotf2.f zpotrf.f zpotri.f zpotrs.f zppcon.f \ ++ zppequ.f zpprfs.f zppsv.f zppsvx.f zpptrf.f zpptri.f zpptrs.f \ ++ zptcon.f zpteqr.f zptrfs.f zptsv.f zptsvx.f zpttrf.f zpttrs.f zptts2.f \ ++ zrot.f zspcon.f zspmv.f zspr.f zsprfs.f zspsv.f \ ++ zspsvx.f zsptrf.f zsptri.f zsptrs.f zdrscl.f zstedc.f \ ++ zstegr.f zstein.f zsteqr.f zsycon.f zsymv.f \ ++ zsyr.f zsyrfs.f zsysv.f zsysvx.f zsytf2.f zsytrf.f zsytri.f \ ++ zsytrs.f ztbcon.f ztbrfs.f ztbtrs.f ztgevc.f ztgex2.f \ ++ ztgexc.f ztgsen.f ztgsja.f ztgsna.f ztgsy2.f ztgsyl.f ztpcon.f \ ++ ztprfs.f ztptri.f \ ++ ztptrs.f ztrcon.f ztrevc.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f \ ++ ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrqf.f ztzrzf.f zung2l.f \ ++ zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f \ ++ zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f \ ++ zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f \ ++ zunmtr.f zupgtr.f \ ++ zupmtr.f izmax1.f dzsum1.f zstemr.f \ ++ zcgesv.f zlag2c.f clag2z.f ++ ++liblapack_noopt_la_FFLAGS = \ ++ $(NOOPT_FFLAGS) ++ ++liblapack_noopt_la_SOURCES = \ ++ $(SINGLE_NOOPT_SOURCES) \ ++ $(DOUBLE_NOOPT_SOURCES) ++ ++liblapack_la_LIBADD = liblapack-noopt.la @BLAS_LIBS@ ++ ++liblapack_la_SOURCES = \ ++ $(ALLAUX_SOURCES) \ ++ $(SINGLE_SOURCES) \ ++ $(DOUBLE_SOURCES) \ ++ $(S_SOURCES) \ ++ $(C_SOURCES) \ ++ $(D_SOURCES) \ ++ $(Z_SOURCES) ++ ++# Automake doesn't have a way to build with no optimization ++# See http://sources.redhat.com/ml/automake/2002-08/msg00082.html ++# This is the automake-produced rule with $(FFLAGS) removed ++liblapack_noopt_la-slaruv.lo: slaruv.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slaruv.lo `test -f 'slaruv.f' || echo '$(srcdir)/'`slaruv.f ++liblapack_noopt_la-dlaruv.lo: dlaruv.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlaruv.lo `test -f 'dlaruv.f' || echo '$(srcdir)/'`dlaruv.f ++ ++liblapack_noopt_la-slamch.lo: ../INSTALL/slamch.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slamch.lo `test -f '../INSTALL/slamch.f' || echo '$(srcdir)/'`../INSTALL/slamch.f ++liblapack_noopt_la-dlamch.lo: ../INSTALL/dlamch.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlamch.lo `test -f '../INSTALL/dlamch.f' || echo '$(srcdir)/'`../INSTALL/dlamch.f +--- INSTALL/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ INSTALL/Makefile.am 2007-08-02 11:43:17.000000000 +0100 +@@ -0,0 +1,23 @@ ++check_PROGRAMS = \ ++ testlsame \ ++ testslamch \ ++ testdlamch \ ++ testsecond \ ++ testdsecnd \ ++ testieee ++ ++TESTS = $(check_PROGRAMS) ++ ++testlsame_SOURCES = lsame.f lsametst.f ++testslamch_SOURCES = slamch.f lsame.f slamchtst.f ++testdlamch_SOURCES = dlamch.f lsame.f dlamchtst.f ++testsecond_SOURCES = second_INT_CPU_TIME.f secondtst.f ++testdsecnd_SOURCES = dsecnd_INT_CPU_TIME.f dsecndtst.f ++testieee_SOURCES = tstiee.f ++ ++EXTRA_DIST = \ ++ lawn81.pdf \ ++ lawn81.ps \ ++ lawn81.tex \ ++ org2.ps \ ++ psfig.tex diff --git a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch new file mode 100644 index 000000000..e9b754403 --- /dev/null +++ b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch @@ -0,0 +1,36 @@ +diff -Naur lapack-lite-3.1.1/TESTING/ctest.in lapack-lite-3.1.1-new/TESTING/ctest.in +--- lapack-lite-3.1.1/TESTING/ctest.in 2007-02-26 13:20:47.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/ctest.in 2007-07-24 10:19:31.000000000 -0400 +@@ -32,5 +32,4 @@ + CQL 8 List types on next line if 0 < NTYPES < 8 + CQP 6 List types on next line if 0 < NTYPES < 6 + CTZ 3 List types on next line if 0 < NTYPES < 3 +-CLS 6 List types on next line if 0 < NTYPES < 6 + CEQ +diff -Naur lapack-lite-3.1.1/TESTING/dtest.in lapack-lite-3.1.1-new/TESTING/dtest.in +--- lapack-lite-3.1.1/TESTING/dtest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/dtest.in 2007-07-24 10:19:36.000000000 -0400 +@@ -30,5 +30,4 @@ + DQL 8 List types on next line if 0 < NTYPES < 8 + DQP 6 List types on next line if 0 < NTYPES < 6 + DTZ 3 List types on next line if 0 < NTYPES < 3 +-DLS 6 List types on next line if 0 < NTYPES < 6 + DEQ +diff -Naur lapack-lite-3.1.1/TESTING/stest.in lapack-lite-3.1.1-new/TESTING/stest.in +--- lapack-lite-3.1.1/TESTING/stest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/stest.in 2007-07-24 10:19:48.000000000 -0400 +@@ -30,5 +30,4 @@ + SQL 8 List types on next line if 0 < NTYPES < 8 + SQP 6 List types on next line if 0 < NTYPES < 6 + STZ 3 List types on next line if 0 < NTYPES < 3 +-SLS 6 List types on next line if 0 < NTYPES < 6 + SEQ +diff -Naur lapack-lite-3.1.1/TESTING/ztest.in lapack-lite-3.1.1-new/TESTING/ztest.in +--- lapack-lite-3.1.1/TESTING/ztest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/ztest.in 2007-07-24 10:19:42.000000000 -0400 +@@ -32,5 +32,4 @@ + ZQL 8 List types on next line if 0 < NTYPES < 8 + ZQP 6 List types on next line if 0 < NTYPES < 6 + ZTZ 3 List types on next line if 0 < NTYPES < 3 +-ZLS 6 List types on next line if 0 < NTYPES < 6 + ZEQ diff --git a/sci-libs/lapack-atlas/files/lapack.pc.in b/sci-libs/lapack-atlas/files/lapack.pc.in new file mode 100644 index 000000000..6dfda1c97 --- /dev/null +++ b/sci-libs/lapack-atlas/files/lapack.pc.in @@ -0,0 +1,13 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=${prefix}/include + +Name: lapack +Description: Automatically Tuned Linear Algebra Software F77 and C LAPACK implementation +Version: @PV@ +URL: http://math-atlas.sourceforge.net/ +Requires: blas cblas +Libs: -L${libdir} -llapack +Libs.private: -latlas @EXTLIBS@ +Include: -I${includedir} diff --git a/sci-libs/lapack-atlas/files/war b/sci-libs/lapack-atlas/files/war new file mode 100644 index 000000000..2093f033a --- /dev/null +++ b/sci-libs/lapack-atlas/files/war @@ -0,0 +1,26 @@ +#! /bin/bash +# +# war -- wrapper for the archiver +# +# Executed by ATLAS build as: +# full_path/war ARCHIVER ARFLAGS LIBNAME.a OBJS.lo + +TOPDIR=$(echo $0 | sed 's/\(.*\)\/.*/\1/') +PWD=$(pwd) + +ARCHIVER=$1 +LIBRARY=$(echo $3 | sed 's/.*\/\(.*\)/\1/') +OBJ_DIR=${TOPDIR}/gentoo/$LIBRARY + +if [ ! -x $OBJ_DIR ]; then mkdir -p ${OBJ_DIR}/.libs; fi + +$ARCHIVER $@ + +shift 3 +for obj in $@ ; do + lobj=$(echo $obj | sed 's/\.o/\.lo/') + ln -sf ${PWD}/$obj ${OBJ_DIR}/$obj + ln -sf ${PWD}/$lobj ${OBJ_DIR}/$lobj + ln -sf ${PWD}/.libs/$obj ${OBJ_DIR}/.libs/$obj +done + diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild new file mode 100644 index 000000000..8a8996a4c --- /dev/null +++ b/sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils flag-o-matic toolchain-funcs fortran autotools versionator + +MY_PN="${PN/lapack-/}" +L_PN="lapack" +L_PV="3.1.1" +BlasRelease=$(get_version_component_range 1-3) + +DESCRIPTION="F77 and C LAPACK implementations using available ATLAS routines" +LICENSE="BSD" +HOMEPAGE="http://math-atlas.sourceforge.net/" +SRC_URI1="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2" +SRC_URI2="http://www.netlib.org/${L_PN}/${L_PN}-lite-${L_PV}.tgz" +SRC_URI="${SRC_URI1} ${SRC_URI2} + http://dev.gentoo.org/~bicatali/${MY_PN}-${PV}-shared-libs.patch.bz2" + +SLOT="0" +IUSE="doc" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" + +DEPEND="virtual/blas + virtual/cblas + app-admin/eselect-lapack + ~sci-libs/blas-atlas-${BlasRelease} + >=sys-devel/libtool-1.5" + +RDEPEND="${DEPEND} + dev-util/pkgconfig + doc? ( app-doc/lapack-docs )" + +FORTRAN="g77 gfortran ifc" + +S="${WORKDIR}/ATLAS" +S_LAPACK="${WORKDIR}/${L_PN}-lite-${L_PV}" +BLD_DIR="${S}/gentoo-build" +RPATH="${DESTTREE}/$(get_libdir)/${L_PN}/${MY_PN}" + +src_unpack() { + unpack ${A} + + epatch "${DISTDIR}"/${MY_PN}-${PV}-shared-libs.patch.bz2 + epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch + + cd "${S}" + mkdir ${BLD_DIR} || die "failed to generate build directory" + cp "${FILESDIR}"/war "${BLD_DIR}" && chmod a+x "${BLD_DIR}"/war \ + || die "failed to install war" + + # make sure the compile picks up the proper includes + sed -e "s|INCLUDES =|INCLUDES = -I/usr/include/atlas/|" \ + -e "s:= gcc:= $(tc-getCC) ${CFLAGS}:" \ + -i CONFIG/src/SpewMakeInc.c || \ + die "failed to append proper includes" + + # force proper 32/64bit libs + local archselect + if [[ "${ARCH}" == "amd64" || "${ARCH}" == "ppc64" ]]; then + archselect="-b 64" + elif [ "${ARCH}" == "alpha" ]; then + archselect="" + else + archselect="-b 32" + fi + + cd ${BLD_DIR} && ../configure \ + --cc=$(tc-getCC) \ + --cflags="${CFLAGS}" \ + --prefix=${D}/${DESTTREE} \ + --libdir=${D}/${DESTTREE}/$(get_libdir)/atlas \ + --incdir=${D}/${DESTTREE}/include \ + -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \ + -C if "${FORTRANC}" -F if "${FFLAGS}" \ + -Ss pmake "\$(MAKE) ${MAKEOPTS}" \ + -Si cputhrchk 0 ${archselect} \ + || die "configure failed" + + cd "${S_LAPACK}" + epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-autotool.patch + epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-test-fix.patch + eautoreconf + + # set up the testing routines + sed -e "s:g77:${FORTRANC}:" \ + -e "s:-funroll-all-loops -O3:${FFLAGS} $(pkg-config --cflags blas cblas):" \ + -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas cblas):" \ + -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas cblas):" \ + -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.so:" \ + -e "s:EXT_ETIME$:INT_CPU_TIME:" \ + make.inc.example > make.inc \ + || die "Failed to set up make.inc" +} + +src_compile() { + # build atlas' part of lapack + cd "${BLD_DIR}" + for d in src/lapack interfaces/lapack/C/src interfaces/lapack/F77/src; do + cd "${BLD_DIR}/{d}" + make lib || die "Failed to make lib in ${d}" + done + + # build rest of lapack + cd "${S_LAPACK}" + econf || die "Failed to configure reference lapack lib" + emake || die "Failed to make reference lapack lib" + + cd "${S_LAPACK}"/SRC + einfo "Copying liblapack.a/*.o to ${S_LAPACK}/SRC" + cp -sf "${BLD_DIR}"/gentoo/liblapack.a/*.o . + einfo "Copying liblapack.a/*.lo to ${S_LAPACK}/SRC" + cp -sf "${BLD_DIR}"/gentoo/liblapack.a/*.lo . + einfo "Copying liblapack.a/.libs/*.o to ${S_LAPACK}/SRC" + cp -sf "${BLD_DIR}"/gentoo/liblapack.a/.libs/*.o .libs/ + + local flibs + [[ ${FORTRANC} == "gfortran" ]] && flibs="-lgfortran" + [[ ${FORTRANC} == "g77" ]] && flibs="-lg2c" + ../libtool --mode=link --tag=F77 ${FORTRANC} \ + $(pkg-config --libs blas) \ + $(pkg-config --libs cblas) \ + ${flibs} \ + -o liblapack.la *.lo -rpath "${RPATH}" \ + || die "Failed to create liblapack.la" + + # making pkg-config file + sed -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@EXTLIBS@:-lm ${flibs}:g" \ + "${FILESDIR}/lapack.pc.in" > "${S}"/lapack.pc \ + || die "sed lapack.pc failed" +} + +src_install () { + dodir "${RPATH}" + + cd "${S_LAPACK}"/SRC + ../libtool --mode=install cp liblapack.la "${D}/${RPATH}" \ + || die "Failed to install lapack-atlas library" + + eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.atlas atlas + + insinto /usr/include/atlas + doins "${S}"/include/clapack.h || die "Failed to install clapack.h" + + cd "${S}" + dodoc README doc/AtlasCredits.txt doc/ChangeLog || \ + die "Failed to install docs" + + insinto /usr/$(get_libdir)/lapack/atlas + doins "${S}"/lapack.pc || die "Failed to install lapack.pc" +} + +src_test() { + cd "${S_LAPACK}"/TESTING/MATGEN && emake || \ + die "Failed to create tmglib.a" + cd ../ && emake || die "lapack-reference tests failed." +} + +pkg_postinst() { + [[ -z "$(eselect lapack show)" ]] && eselect lapack set atlas + + elog "Use 'eselect lapack' (as root) to select" + elog "one of the ATLAS lapack profiles." + elog "Once selected, use 'pkg-config --libs lapack' to link with ATLAS lapack." + elog "With C, add 'pkg-config --cflags lapack' to compile." +} diff --git a/sci-libs/lapack-atlas/metadata.xml b/sci-libs/lapack-atlas/metadata.xml new file mode 100644 index 000000000..27e517d1d --- /dev/null +++ b/sci-libs/lapack-atlas/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> +ATLAS is an approach for the automatic generation and optimization of +numerical software. Currently ATLAS supplies optimized versions for +the complete set of linear algebra kernels known as the Basic Linear +Algebra Subroutines (BLAS), and a subset of the linear algebra +routines in the LAPACK library. +The libraries in this package contain full LAPACK FORTRAN 77 and C +implementations, using routines from both ATLAS and the reference Netlib package. +</longdescription> +</pkgmetadata> diff --git a/sci-libs/lapack-reference/Manifest b/sci-libs/lapack-reference/Manifest new file mode 100644 index 000000000..4b703684e --- /dev/null +++ b/sci-libs/lapack-reference/Manifest @@ -0,0 +1,24 @@ +AUX eselect.lapack.reference 237 RMD160 f87f6c802089ce23b5d53cb40403ed32b9b9f866 SHA1 0ea7ca8961e4d7381618893c155fe582cd68d8c4 SHA256 2a72a6a9b49ec944656e164842907ee76d878a6772a7d71c1cb196d8beb6fa13 +MD5 bd194e115c97d3ef79f2a0d029a97b0f files/eselect.lapack.reference 237 +RMD160 f87f6c802089ce23b5d53cb40403ed32b9b9f866 files/eselect.lapack.reference 237 +SHA256 2a72a6a9b49ec944656e164842907ee76d878a6772a7d71c1cb196d8beb6fa13 files/eselect.lapack.reference 237 +AUX lapack-reference-3.1.1-autotool.patch 16994 RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 SHA1 a1eda6146c1cd32f972b0f1703610c85b58b7c74 SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec +MD5 0750e86c04390617206f5170f2c07652 files/lapack-reference-3.1.1-autotool.patch 16994 +RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 files/lapack-reference-3.1.1-autotool.patch 16994 +SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec files/lapack-reference-3.1.1-autotool.patch 16994 +AUX lapack-reference-3.1.1-test-fix.patch 2120 RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc SHA1 bf73066396b08def6bcd81d0ce09aab682224cb1 SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8 +MD5 d9f7c5dbfc41c255eab86b32702f5650 files/lapack-reference-3.1.1-test-fix.patch 2120 +RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc files/lapack-reference-3.1.1-test-fix.patch 2120 +SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8 files/lapack-reference-3.1.1-test-fix.patch 2120 +DIST lapack-lite-3.1.1.tgz 5332509 RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b SHA1 1ec4ef90b544cf82bc7b4f770cee6fb46da457c5 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 +EBUILD lapack-reference-3.1.1-r1.ebuild 2030 RMD160 e0403817cc5ea336b0cd549ae6bf1875642531cf SHA1 a3abacf8b0d039aa15915f1b35a81f3f4b87261a SHA256 56f35a2977a5bd5078c0c7824b08d2b16bf95be26190d51bd8e705bcc267d147 +MD5 8163476143a06c01e4ef9d1631257943 lapack-reference-3.1.1-r1.ebuild 2030 +RMD160 e0403817cc5ea336b0cd549ae6bf1875642531cf lapack-reference-3.1.1-r1.ebuild 2030 +SHA256 56f35a2977a5bd5078c0c7824b08d2b16bf95be26190d51bd8e705bcc267d147 lapack-reference-3.1.1-r1.ebuild 2030 +MISC metadata.xml 594 RMD160 13588b9b3bfc11c2818d846723bf2f5e376e3650 SHA1 f5ea3820ca5fc7a2973c3d19329b1f7fa3f5e427 SHA256 f08ce9a146655d7bbb3b21a408816e91f86dfcd9f1d1f7868f8edd5e5416c466 +MD5 05709b7c2a07c6f1881fdc25f8056877 metadata.xml 594 +RMD160 13588b9b3bfc11c2818d846723bf2f5e376e3650 metadata.xml 594 +SHA256 f08ce9a146655d7bbb3b21a408816e91f86dfcd9f1d1f7868f8edd5e5416c466 metadata.xml 594 +MD5 e47577ce12b87f148b170b2226a7cc32 files/digest-lapack-reference-3.1.1-r1 247 +RMD160 f06434c9558a0df45cddbf187e624850b6a4d073 files/digest-lapack-reference-3.1.1-r1 247 +SHA256 34e0e977049b900a8d9c1a0f8a1a9065a6147dc38b4c0850d13f0b75a9be101a files/digest-lapack-reference-3.1.1-r1 247 diff --git a/sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r1 b/sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r1 new file mode 100644 index 000000000..2081b7b68 --- /dev/null +++ b/sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r1 @@ -0,0 +1,3 @@ +MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509 +RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509 +SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509 diff --git a/sci-libs/lapack-reference/files/eselect.lapack.reference b/sci-libs/lapack-reference/files/eselect.lapack.reference new file mode 100644 index 000000000..fe1a777b2 --- /dev/null +++ b/sci-libs/lapack-reference/files/eselect.lapack.reference @@ -0,0 +1,4 @@ +lapack/reference/liblapack.so /usr/@LIBDIR@/liblapack.so +lapack/reference/liblapack.so.0 /usr/@LIBDIR@/liblapack.so.0 +lapack/reference/liblapack.a /usr/@LIBDIR@/liblapack.a +../lapack/reference/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch new file mode 100644 index 000000000..72a00618c --- /dev/null +++ b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch @@ -0,0 +1,374 @@ +--- configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ configure.ac 2007-08-14 10:28:36.000000000 +0100 +@@ -0,0 +1,26 @@ ++AC_PREREQ(2.61) ++AC_INIT(lapack, 3.1.1, lapack@cs.utk.edu) ++AM_INIT_AUTOMAKE([foreign]) ++ ++AC_LANG(Fortran 77) ++AC_PROG_F77 ++AC_PROG_LIBTOOL ++ ++AC_F77_FUNC(sgemm) ++ ++PKG_PROG_PKG_CONFIG ++if test -n "$PKG_CONFIG"; then ++ PKG_CHECK_MODULES([BLAS], [blas]) ++else ++ AC_CHECK_LIB(blas, $sgemm) ++ BLAS_LIBS=-lblas ++ AC_SUBST(BLAS_LIBS) ++fi ++ ++AC_ARG_VAR(NOOPT_FFLAGS, Fortran 77 compiler flags to use for unoptimized files) ++ ++AC_CONFIG_FILES([Makefile ++ SRC/Makefile ++ INSTALL/Makefile ++ lapack.pc]) ++AC_OUTPUT +--- Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ Makefile.am 2007-08-14 11:39:34.000000000 +0100 +@@ -0,0 +1,6 @@ ++SUBDIRS = INSTALL SRC ++ ++pkgconfigdir = $(libdir) ++pkgconfig_DATA = lapack.pc ++ ++EXTRA_DIST = README lapack.pc +--- lapack.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ lapack.pc.in 2007-08-14 17:16:49.000000000 +0100 +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: Linear Algebra PACKage FORTRAN 77 reference implementation ++Version: @PACKAGE_VERSION@ ++Requires: blas ++URL: http://www.netlib.org/lapack/ ++Libs: -llapack ++Libs.private: -lm +--- SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ SRC/Makefile.am 2007-08-02 15:15:59.000000000 +0100 +@@ -0,0 +1,292 @@ ++lib_LTLIBRARIES = \ ++ liblapack.la ++ ++noinst_LTLIBRARIES = \ ++ liblapack-noopt.la ++ ++ALLAUX_SOURCES = ilaenv.f ieeeck.f lsamen.f xerbla.f iparmq.f \ ++ ../INSTALL/ilaver.f ../INSTALL/lsame.f ++ ++SINGLE_NOOPT_SOURCES = \ ++ slaruv.f ../INSTALL/slamch.f ++ ++SINGLE_SOURCES = \ ++ sbdsdc.f \ ++ sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f \ ++ slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f \ ++ slaed7.f slaed8.f slaed9.f slaeda.f slaev2.f slagtf.f \ ++ slagts.f slamrg.f slanst.f \ ++ slapy2.f slapy3.f slarnv.f \ ++ slarra.f slarrb.f slarrc.f slarrd.f slarre.f slarrf.f slarrj.f \ ++ slarrk.f slarrr.f slaneg.f \ ++ slartg.f slas2.f slascl.f \ ++ slasd0.f slasd1.f slasd2.f slasd3.f slasd4.f slasd5.f slasd6.f \ ++ slasd7.f slasd8.f slasda.f slasdq.f slasdt.f \ ++ slaset.f slasq1.f slasq2.f slasq3.f slazq3.f slasq4.f slazq4.f slasq5.f slasq6.f \ ++ slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f \ ++ ssteqr.f ssterf.f slaisnan.f sisnan.f \ ++ ../INSTALL/second_INT_CPU_TIME.f ++ ++DOUBLE_NOOPT_SOURCES = \ ++ dlaruv.f ../INSTALL/dlamch.f ++ ++DOUBLE_SOURCES = \ ++ dbdsdc.f \ ++ dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f \ ++ dlaed0.f dlaed1.f dlaed2.f dlaed3.f dlaed4.f dlaed5.f dlaed6.f \ ++ dlaed7.f dlaed8.f dlaed9.f dlaeda.f dlaev2.f dlagtf.f \ ++ dlagts.f dlamrg.f dlanst.f \ ++ dlapy2.f dlapy3.f dlarnv.f \ ++ dlarra.f dlarrb.f dlarrc.f dlarrd.f dlarre.f dlarrf.f dlarrj.f \ ++ dlarrk.f dlarrr.f dlaneg.f \ ++ dlartg.f dlas2.f dlascl.f \ ++ dlasd0.f dlasd1.f dlasd2.f dlasd3.f dlasd4.f dlasd5.f dlasd6.f \ ++ dlasd7.f dlasd8.f dlasda.f dlasdq.f dlasdt.f \ ++ dlaset.f dlasq1.f dlasq2.f dlasq3.f dlazq3.f dlasq4.f dlazq4.f dlasq5.f dlasq6.f \ ++ dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f \ ++ dsteqr.f dsterf.f dlaisnan.f disnan.f \ ++ ../INSTALL/dsecnd_INT_CPU_TIME.f ++ ++S_SOURCES = \ ++ sgbbrd.f sgbcon.f sgbequ.f sgbrfs.f sgbsv.f \ ++ sgbsvx.f sgbtf2.f sgbtrf.f sgbtrs.f sgebak.f sgebal.f sgebd2.f \ ++ sgebrd.f sgecon.f sgeequ.f sgees.f sgeesx.f sgeev.f sgeevx.f \ ++ sgegs.f sgegv.f sgehd2.f sgehrd.f sgelq2.f sgelqf.f \ ++ sgels.f sgelsd.f sgelss.f sgelsx.f sgelsy.f sgeql2.f sgeqlf.f \ ++ sgeqp3.f sgeqpf.f sgeqr2.f sgeqrf.f sgerfs.f sgerq2.f sgerqf.f \ ++ sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvx.f sgetc2.f sgetf2.f \ ++ sgetrf.f sgetri.f \ ++ sgetrs.f sggbak.f sggbal.f sgges.f sggesx.f sggev.f sggevx.f \ ++ sggglm.f sgghrd.f sgglse.f sggqrf.f \ ++ sggrqf.f sggsvd.f sggsvp.f sgtcon.f sgtrfs.f sgtsv.f \ ++ sgtsvx.f sgttrf.f sgttrs.f sgtts2.f shgeqz.f \ ++ shsein.f shseqr.f slabrd.f slacon.f slacn2.f \ ++ slaein.f slaexc.f slag2.f slags2.f slagtm.f slagv2.f slahqr.f \ ++ slahrd.f slahr2.f slaic1.f slaln2.f slals0.f slalsa.f slalsd.f \ ++ slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f \ ++ slansy.f slantb.f slantp.f slantr.f slanv2.f \ ++ slapll.f slapmt.f \ ++ slaqgb.f slaqge.f slaqp2.f slaqps.f slaqsb.f slaqsp.f slaqsy.f \ ++ slaqr0.f slaqr1.f slaqr2.f slaqr3.f slaqr4.f slaqr5.f \ ++ slaqtr.f slar1v.f slar2v.f \ ++ slarf.f slarfb.f slarfg.f slarft.f slarfx.f slargv.f \ ++ slarrv.f slartv.f \ ++ slarz.f slarzb.f slarzt.f slaswp.f slasy2.f slasyf.f \ ++ slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f slatzm.f \ ++ slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f \ ++ sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f \ ++ sorgrq.f sorgtr.f sorm2l.f sorm2r.f \ ++ sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f \ ++ sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f \ ++ spbstf.f spbsv.f spbsvx.f \ ++ spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f \ ++ sposvx.f spotf2.f spotrf.f spotri.f spotrs.f sppcon.f sppequ.f \ ++ spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f \ ++ spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f sptts2.f srscl.f \ ++ ssbev.f ssbevd.f ssbevx.f ssbgst.f ssbgv.f ssbgvd.f ssbgvx.f \ ++ ssbtrd.f sspcon.f sspev.f sspevd.f sspevx.f sspgst.f \ ++ sspgv.f sspgvd.f sspgvx.f ssprfs.f sspsv.f sspsvx.f ssptrd.f \ ++ ssptrf.f ssptri.f ssptrs.f sstegr.f sstein.f sstev.f sstevd.f sstevr.f \ ++ sstevx.f ssycon.f ssyev.f ssyevd.f ssyevr.f ssyevx.f ssygs2.f \ ++ ssygst.f ssygv.f ssygvd.f ssygvx.f ssyrfs.f ssysv.f ssysvx.f \ ++ ssytd2.f ssytf2.f ssytrd.f ssytrf.f ssytri.f ssytrs.f stbcon.f \ ++ stbrfs.f stbtrs.f stgevc.f stgex2.f stgexc.f stgsen.f \ ++ stgsja.f stgsna.f stgsy2.f stgsyl.f stpcon.f stprfs.f stptri.f \ ++ stptrs.f \ ++ strcon.f strevc.f strexc.f strrfs.f strsen.f strsna.f strsyl.f \ ++ strti2.f strtri.f strtrs.f stzrqf.f stzrzf.f sstemr.f ++ ++C_SOURCES = \ ++ cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f \ ++ cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f \ ++ cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f \ ++ cgegs.f cgegv.f cgehd2.f cgehrd.f cgelq2.f cgelqf.f \ ++ cgels.f cgelsd.f cgelss.f cgelsx.f cgelsy.f cgeql2.f cgeqlf.f cgeqp3.f \ ++ cgeqpf.f cgeqr2.f cgeqrf.f cgerfs.f cgerq2.f cgerqf.f \ ++ cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvx.f cgetc2.f cgetf2.f cgetrf.f \ ++ cgetri.f cgetrs.f \ ++ cggbak.f cggbal.f cgges.f cggesx.f cggev.f cggevx.f cggglm.f \ ++ cgghrd.f cgglse.f cggqrf.f cggrqf.f \ ++ cggsvd.f cggsvp.f \ ++ cgtcon.f cgtrfs.f cgtsv.f cgtsvx.f cgttrf.f cgttrs.f cgtts2.f chbev.f \ ++ chbevd.f chbevx.f chbgst.f chbgv.f chbgvd.f chbgvx.f chbtrd.f \ ++ checon.f cheev.f cheevd.f cheevr.f cheevx.f chegs2.f chegst.f \ ++ chegv.f chegvd.f chegvx.f cherfs.f chesv.f chesvx.f chetd2.f \ ++ chetf2.f chetrd.f \ ++ chetrf.f chetri.f chetrs.f chgeqz.f chpcon.f chpev.f chpevd.f \ ++ chpevx.f chpgst.f chpgv.f chpgvd.f chpgvx.f chprfs.f chpsv.f \ ++ chpsvx.f \ ++ chptrd.f chptrf.f chptri.f chptrs.f chsein.f chseqr.f clabrd.f \ ++ clacgv.f clacon.f clacn2.f clacp2.f clacpy.f clacrm.f clacrt.f cladiv.f \ ++ claed0.f claed7.f claed8.f \ ++ claein.f claesy.f claev2.f clags2.f clagtm.f \ ++ clahef.f clahqr.f \ ++ clahrd.f clahr2.f claic1.f clals0.f clalsa.f clalsd.f clangb.f clange.f clangt.f \ ++ clanhb.f clanhe.f \ ++ clanhp.f clanhs.f clanht.f clansb.f clansp.f clansy.f clantb.f \ ++ clantp.f clantr.f clapll.f clapmt.f clarcm.f claqgb.f claqge.f \ ++ claqhb.f claqhe.f claqhp.f claqp2.f claqps.f claqsb.f \ ++ claqr0.f claqr1.f claqr2.f claqr3.f claqr4.f claqr5.f \ ++ claqsp.f claqsy.f clar1v.f clar2v.f clarf.f clarfb.f clarfg.f clarft.f \ ++ clarfx.f clargv.f clarnv.f clarrv.f clartg.f clartv.f \ ++ clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f \ ++ claswp.f clasyf.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f \ ++ clatzm.f clauu2.f clauum.f cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f \ ++ cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f \ ++ cposv.f cposvx.f cpotf2.f cpotrf.f cpotri.f cpotrs.f cppcon.f \ ++ cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f \ ++ cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f cptts2.f \ ++ crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f \ ++ cspsvx.f csptrf.f csptri.f csptrs.f csrscl.f cstedc.f \ ++ cstegr.f cstein.f csteqr.f csycon.f csymv.f \ ++ csyr.f csyrfs.f csysv.f csysvx.f csytf2.f csytrf.f csytri.f \ ++ csytrs.f ctbcon.f ctbrfs.f ctbtrs.f ctgevc.f ctgex2.f \ ++ ctgexc.f ctgsen.f ctgsja.f ctgsna.f ctgsy2.f ctgsyl.f ctpcon.f \ ++ ctprfs.f ctptri.f \ ++ ctptrs.f ctrcon.f ctrevc.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f \ ++ ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrqf.f ctzrzf.f cung2l.f cung2r.f \ ++ cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f \ ++ cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f \ ++ cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f \ ++ cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f ++ ++D_SOURCES = \ ++ dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f \ ++ dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f \ ++ dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f \ ++ dgegs.f dgegv.f dgehd2.f dgehrd.f dgelq2.f dgelqf.f \ ++ dgels.f dgelsd.f dgelss.f dgelsx.f dgelsy.f dgeql2.f dgeqlf.f \ ++ dgeqp3.f dgeqpf.f dgeqr2.f dgeqrf.f dgerfs.f dgerq2.f dgerqf.f \ ++ dgesc2.f dgesdd.f dgesv.f dgesvd.f dgesvx.f dgetc2.f dgetf2.f \ ++ dgetrf.f dgetri.f \ ++ dgetrs.f dggbak.f dggbal.f dgges.f dggesx.f dggev.f dggevx.f \ ++ dggglm.f dgghrd.f dgglse.f dggqrf.f \ ++ dggrqf.f dggsvd.f dggsvp.f dgtcon.f dgtrfs.f dgtsv.f \ ++ dgtsvx.f dgttrf.f dgttrs.f dgtts2.f dhgeqz.f \ ++ dhsein.f dhseqr.f dlabrd.f dlacon.f dlacn2.f \ ++ dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlagv2.f dlahqr.f \ ++ dlahrd.f dlahr2.f dlaic1.f dlaln2.f dlals0.f dlalsa.f dlalsd.f \ ++ dlangb.f dlange.f dlangt.f dlanhs.f dlansb.f dlansp.f \ ++ dlansy.f dlantb.f dlantp.f dlantr.f dlanv2.f \ ++ dlapll.f dlapmt.f \ ++ dlaqgb.f dlaqge.f dlaqp2.f dlaqps.f dlaqsb.f dlaqsp.f dlaqsy.f \ ++ dlaqr0.f dlaqr1.f dlaqr2.f dlaqr3.f dlaqr4.f dlaqr5.f \ ++ dlaqtr.f dlar1v.f dlar2v.f \ ++ dlarf.f dlarfb.f dlarfg.f dlarft.f dlarfx.f dlargv.f \ ++ dlarrv.f dlartv.f \ ++ dlarz.f dlarzb.f dlarzt.f dlaswp.f dlasy2.f dlasyf.f \ ++ dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlatzm.f dlauu2.f \ ++ dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f \ ++ dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f \ ++ dorgrq.f dorgtr.f dorm2l.f dorm2r.f \ ++ dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f \ ++ dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f \ ++ dpbstf.f dpbsv.f dpbsvx.f \ ++ dpbtf2.f dpbtrf.f dpbtrs.f dpocon.f dpoequ.f dporfs.f dposv.f \ ++ dposvx.f dpotf2.f dpotrf.f dpotri.f dpotrs.f dppcon.f dppequ.f \ ++ dpprfs.f dppsv.f dppsvx.f dpptrf.f dpptri.f dpptrs.f dptcon.f \ ++ dpteqr.f dptrfs.f dptsv.f dptsvx.f dpttrs.f dptts2.f drscl.f \ ++ dsbev.f dsbevd.f dsbevx.f dsbgst.f dsbgv.f dsbgvd.f dsbgvx.f \ ++ dsbtrd.f dspcon.f dspev.f dspevd.f dspevx.f dspgst.f \ ++ dspgv.f dspgvd.f dspgvx.f dsprfs.f dspsv.f dspsvx.f dsptrd.f \ ++ dsptrf.f dsptri.f dsptrs.f dstegr.f dstein.f dstev.f dstevd.f dstevr.f \ ++ dstevx.f dsycon.f dsyev.f dsyevd.f dsyevr.f \ ++ dsyevx.f dsygs2.f dsygst.f dsygv.f dsygvd.f dsygvx.f dsyrfs.f \ ++ dsysv.f dsysvx.f \ ++ dsytd2.f dsytf2.f dsytrd.f dsytrf.f dsytri.f dsytrs.f dtbcon.f \ ++ dtbrfs.f dtbtrs.f dtgevc.f dtgex2.f dtgexc.f dtgsen.f \ ++ dtgsja.f dtgsna.f dtgsy2.f dtgsyl.f dtpcon.f dtprfs.f dtptri.f \ ++ dtptrs.f \ ++ dtrcon.f dtrevc.f dtrexc.f dtrrfs.f dtrsen.f dtrsna.f dtrsyl.f \ ++ dtrti2.f dtrtri.f dtrtrs.f dtzrqf.f dtzrzf.f dstemr.f \ ++ dsgesv.f dlag2s.f slag2d.f ++ ++Z_SOURCES = \ ++ zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f \ ++ zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f \ ++ zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f \ ++ zgegs.f zgegv.f zgehd2.f zgehrd.f zgelq2.f zgelqf.f \ ++ zgels.f zgelsd.f zgelss.f zgelsx.f zgelsy.f zgeql2.f zgeqlf.f zgeqp3.f \ ++ zgeqpf.f zgeqr2.f zgeqrf.f zgerfs.f zgerq2.f zgerqf.f \ ++ zgesc2.f zgesdd.f zgesv.f zgesvd.f zgesvx.f zgetc2.f zgetf2.f zgetrf.f \ ++ zgetri.f zgetrs.f \ ++ zggbak.f zggbal.f zgges.f zggesx.f zggev.f zggevx.f zggglm.f \ ++ zgghrd.f zgglse.f zggqrf.f zggrqf.f \ ++ zggsvd.f zggsvp.f \ ++ zgtcon.f zgtrfs.f zgtsv.f zgtsvx.f zgttrf.f zgttrs.f zgtts2.f zhbev.f \ ++ zhbevd.f zhbevx.f zhbgst.f zhbgv.f zhbgvd.f zhbgvx.f zhbtrd.f \ ++ zhecon.f zheev.f zheevd.f zheevr.f zheevx.f zhegs2.f zhegst.f \ ++ zhegv.f zhegvd.f zhegvx.f zherfs.f zhesv.f zhesvx.f zhetd2.f \ ++ zhetf2.f zhetrd.f \ ++ zhetrf.f zhetri.f zhetrs.f zhgeqz.f zhpcon.f zhpev.f zhpevd.f \ ++ zhpevx.f zhpgst.f zhpgv.f zhpgvd.f zhpgvx.f zhprfs.f zhpsv.f \ ++ zhpsvx.f \ ++ zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f \ ++ zlacgv.f zlacon.f zlacn2.f zlacp2.f zlacpy.f zlacrm.f zlacrt.f zladiv.f \ ++ zlaed0.f zlaed7.f zlaed8.f \ ++ zlaein.f zlaesy.f zlaev2.f zlags2.f zlagtm.f \ ++ zlahef.f zlahqr.f \ ++ zlahrd.f zlahr2.f zlaic1.f zlals0.f zlalsa.f zlalsd.f zlangb.f zlange.f \ ++ zlangt.f zlanhb.f \ ++ zlanhe.f \ ++ zlanhp.f zlanhs.f zlanht.f zlansb.f zlansp.f zlansy.f zlantb.f \ ++ zlantp.f zlantr.f zlapll.f zlapmt.f zlaqgb.f zlaqge.f \ ++ zlaqhb.f zlaqhe.f zlaqhp.f zlaqp2.f zlaqps.f zlaqsb.f \ ++ zlaqr0.f zlaqr1.f zlaqr2.f zlaqr3.f zlaqr4.f zlaqr5.f \ ++ zlaqsp.f zlaqsy.f zlar1v.f zlar2v.f zlarcm.f zlarf.f zlarfb.f \ ++ zlarfg.f zlarft.f \ ++ zlarfx.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f \ ++ zlarz.f zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f \ ++ zlassq.f zlaswp.f zlasyf.f \ ++ zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f zlatzm.f zlauu2.f \ ++ zlauum.f zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f \ ++ zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f \ ++ zposv.f zposvx.f zpotf2.f zpotrf.f zpotri.f zpotrs.f zppcon.f \ ++ zppequ.f zpprfs.f zppsv.f zppsvx.f zpptrf.f zpptri.f zpptrs.f \ ++ zptcon.f zpteqr.f zptrfs.f zptsv.f zptsvx.f zpttrf.f zpttrs.f zptts2.f \ ++ zrot.f zspcon.f zspmv.f zspr.f zsprfs.f zspsv.f \ ++ zspsvx.f zsptrf.f zsptri.f zsptrs.f zdrscl.f zstedc.f \ ++ zstegr.f zstein.f zsteqr.f zsycon.f zsymv.f \ ++ zsyr.f zsyrfs.f zsysv.f zsysvx.f zsytf2.f zsytrf.f zsytri.f \ ++ zsytrs.f ztbcon.f ztbrfs.f ztbtrs.f ztgevc.f ztgex2.f \ ++ ztgexc.f ztgsen.f ztgsja.f ztgsna.f ztgsy2.f ztgsyl.f ztpcon.f \ ++ ztprfs.f ztptri.f \ ++ ztptrs.f ztrcon.f ztrevc.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f \ ++ ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrqf.f ztzrzf.f zung2l.f \ ++ zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f \ ++ zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f \ ++ zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f \ ++ zunmtr.f zupgtr.f \ ++ zupmtr.f izmax1.f dzsum1.f zstemr.f \ ++ zcgesv.f zlag2c.f clag2z.f ++ ++liblapack_noopt_la_FFLAGS = \ ++ $(NOOPT_FFLAGS) ++ ++liblapack_noopt_la_SOURCES = \ ++ $(SINGLE_NOOPT_SOURCES) \ ++ $(DOUBLE_NOOPT_SOURCES) ++ ++liblapack_la_LIBADD = liblapack-noopt.la @BLAS_LIBS@ ++ ++liblapack_la_SOURCES = \ ++ $(ALLAUX_SOURCES) \ ++ $(SINGLE_SOURCES) \ ++ $(DOUBLE_SOURCES) \ ++ $(S_SOURCES) \ ++ $(C_SOURCES) \ ++ $(D_SOURCES) \ ++ $(Z_SOURCES) ++ ++# Automake doesn't have a way to build with no optimization ++# See http://sources.redhat.com/ml/automake/2002-08/msg00082.html ++# This is the automake-produced rule with $(FFLAGS) removed ++liblapack_noopt_la-slaruv.lo: slaruv.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slaruv.lo `test -f 'slaruv.f' || echo '$(srcdir)/'`slaruv.f ++liblapack_noopt_la-dlaruv.lo: dlaruv.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlaruv.lo `test -f 'dlaruv.f' || echo '$(srcdir)/'`dlaruv.f ++ ++liblapack_noopt_la-slamch.lo: ../INSTALL/slamch.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slamch.lo `test -f '../INSTALL/slamch.f' || echo '$(srcdir)/'`../INSTALL/slamch.f ++liblapack_noopt_la-dlamch.lo: ../INSTALL/dlamch.f ++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlamch.lo `test -f '../INSTALL/dlamch.f' || echo '$(srcdir)/'`../INSTALL/dlamch.f +--- INSTALL/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ INSTALL/Makefile.am 2007-08-02 11:43:17.000000000 +0100 +@@ -0,0 +1,23 @@ ++check_PROGRAMS = \ ++ testlsame \ ++ testslamch \ ++ testdlamch \ ++ testsecond \ ++ testdsecnd \ ++ testieee ++ ++TESTS = $(check_PROGRAMS) ++ ++testlsame_SOURCES = lsame.f lsametst.f ++testslamch_SOURCES = slamch.f lsame.f slamchtst.f ++testdlamch_SOURCES = dlamch.f lsame.f dlamchtst.f ++testsecond_SOURCES = second_INT_CPU_TIME.f secondtst.f ++testdsecnd_SOURCES = dsecnd_INT_CPU_TIME.f dsecndtst.f ++testieee_SOURCES = tstiee.f ++ ++EXTRA_DIST = \ ++ lawn81.pdf \ ++ lawn81.ps \ ++ lawn81.tex \ ++ org2.ps \ ++ psfig.tex diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch new file mode 100644 index 000000000..e9b754403 --- /dev/null +++ b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch @@ -0,0 +1,36 @@ +diff -Naur lapack-lite-3.1.1/TESTING/ctest.in lapack-lite-3.1.1-new/TESTING/ctest.in +--- lapack-lite-3.1.1/TESTING/ctest.in 2007-02-26 13:20:47.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/ctest.in 2007-07-24 10:19:31.000000000 -0400 +@@ -32,5 +32,4 @@ + CQL 8 List types on next line if 0 < NTYPES < 8 + CQP 6 List types on next line if 0 < NTYPES < 6 + CTZ 3 List types on next line if 0 < NTYPES < 3 +-CLS 6 List types on next line if 0 < NTYPES < 6 + CEQ +diff -Naur lapack-lite-3.1.1/TESTING/dtest.in lapack-lite-3.1.1-new/TESTING/dtest.in +--- lapack-lite-3.1.1/TESTING/dtest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/dtest.in 2007-07-24 10:19:36.000000000 -0400 +@@ -30,5 +30,4 @@ + DQL 8 List types on next line if 0 < NTYPES < 8 + DQP 6 List types on next line if 0 < NTYPES < 6 + DTZ 3 List types on next line if 0 < NTYPES < 3 +-DLS 6 List types on next line if 0 < NTYPES < 6 + DEQ +diff -Naur lapack-lite-3.1.1/TESTING/stest.in lapack-lite-3.1.1-new/TESTING/stest.in +--- lapack-lite-3.1.1/TESTING/stest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/stest.in 2007-07-24 10:19:48.000000000 -0400 +@@ -30,5 +30,4 @@ + SQL 8 List types on next line if 0 < NTYPES < 8 + SQP 6 List types on next line if 0 < NTYPES < 6 + STZ 3 List types on next line if 0 < NTYPES < 3 +-SLS 6 List types on next line if 0 < NTYPES < 6 + SEQ +diff -Naur lapack-lite-3.1.1/TESTING/ztest.in lapack-lite-3.1.1-new/TESTING/ztest.in +--- lapack-lite-3.1.1/TESTING/ztest.in 2007-02-26 13:20:49.000000000 -0500 ++++ lapack-lite-3.1.1-new/TESTING/ztest.in 2007-07-24 10:19:42.000000000 -0400 +@@ -32,5 +32,4 @@ + ZQL 8 List types on next line if 0 < NTYPES < 8 + ZQP 6 List types on next line if 0 < NTYPES < 6 + ZTZ 3 List types on next line if 0 < NTYPES < 3 +-ZLS 6 List types on next line if 0 < NTYPES < 6 + ZEQ diff --git a/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild new file mode 100644 index 000000000..b131b4999 --- /dev/null +++ b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils autotools flag-o-matic fortran multilib + +MyPN="${PN/-reference/}" + +DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage" +LICENSE="BSD" +HOMEPAGE="http://www.netlib.org/lapack/index.html" +SRC_URI="http://www.netlib.org/lapack/${MyPN}-lite-${PV}.tgz" + +SLOT="0" +IUSE="doc" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" + +DEPEND="virtual/blas + app-admin/eselect-lapack" + +RDEPEND="${RDEPEND} + dev-util/pkgconfig + doc? ( app-doc/lapack-docs )" + +S="${WORKDIR}/${MyPN}-lite-${PV}" + +pkg_setup() { + FORTRAN="g77 gfortran ifc" + fortran_pkg_setup + if [[ ${FORTRANC:0:2} == "if" ]]; then + ewarn "Using Intel Fortran at your own risk" + LDFLAGS="$(raw-ldflags)" + export NOOPT_FFLAGS=-O + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-autotool.patch + epatch "${FILESDIR}"/${P}-test-fix.patch + eautoreconf + + # set up the testing routines + sed -e "s:g77:${FORTRANC}:" \ + -e "s:-funroll-all-loops -O3:${FFLAGS} $(pkg-config --cflags blas):" \ + -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \ + -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ + -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \ + make.inc.example > make.inc \ + || die "Failed to set up make.inc" +} + +src_compile() { + econf \ + --libdir=/usr/$(get_libdir)/lapack/reference \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc README + eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.reference reference +} + +src_test() { + cd TESTING/MATGEN && emake || die "Failed to create tmglib.a" + cd ../ && emake || die "lapack-reference tests failed." +} + +pkg_postinst() { + [[ -z "$(eselect lapack show)" ]] && eselect lapack set reference + elog "To use LAPACK reference implementation, you have to issue (as root):" + elog "\n\teselect lapack set reference\n" +} diff --git a/sci-libs/lapack-reference/metadata.xml b/sci-libs/lapack-reference/metadata.xml new file mode 100644 index 000000000..bce24defa --- /dev/null +++ b/sci-libs/lapack-reference/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<longdescription lang="en"> +LAPACK is a comprehensive library that does linear algebra +operations including matrix inversions, least squared solutions to +linear sets of equations, eigenvector analysis, singular value +decomposition, etc. It is a very comprehensive and reputable package +that has found extensive use in the scientific community. +This package installs the reference FORTRAN 77 implementation from Netlib. +</longdescription> +</pkgmetadata> diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest new file mode 100644 index 000000000..2d87527c8 --- /dev/null +++ b/sci-libs/mkl/Manifest @@ -0,0 +1,20 @@ +AUX blas.pc.in 272 RMD160 6cda1e3b357cd20f9d11cace684eb052e7cb20e1 SHA1 5a93a650c3fe32adc8de432d94ea9037d3a97cea SHA256 21ae12b8f1ca4f01b7ce046276a0558ad03b79a6f511cbdd5e20f80530326160 +MD5 f37aa52613f32364296f5adef64029c5 files/blas.pc.in 272 +RMD160 6cda1e3b357cd20f9d11cace684eb052e7cb20e1 files/blas.pc.in 272 +SHA256 21ae12b8f1ca4f01b7ce046276a0558ad03b79a6f511cbdd5e20f80530326160 files/blas.pc.in 272 +AUX cblas.pc.in 296 RMD160 006666d64f4a623c65975a5f9f541588796aff73 SHA1 4930a616d6c6ce4218c95e9b54e7f59671bd585f SHA256 73d5e224fd48c7c7b3a36a2d7ecae2ada6ae1635b9893cfbd7d69e11b1775380 +MD5 57b2d177663b4182e7c4c43001f9fa61 files/cblas.pc.in 296 +RMD160 006666d64f4a623c65975a5f9f541588796aff73 files/cblas.pc.in 296 +SHA256 73d5e224fd48c7c7b3a36a2d7ecae2ada6ae1635b9893cfbd7d69e11b1775380 files/cblas.pc.in 296 +AUX lapack.pc.in 280 RMD160 29c8001a4939e550f29f44ae49c66bcf2faae038 SHA1 bf66106da2b4b017f588ecf916260e52d2c11d64 SHA256 e2201c50675f5e4636e8c5d19ba6a9fba3904789a35369ec8bbed83b8c493a2c +MD5 18e0d606b5e2065c44e06ea054bc7e62 files/lapack.pc.in 280 +RMD160 29c8001a4939e550f29f44ae49c66bcf2faae038 files/lapack.pc.in 280 +SHA256 e2201c50675f5e4636e8c5d19ba6a9fba3904789a35369ec8bbed83b8c493a2c files/lapack.pc.in 280 +DIST l_mkl_enh_p_9.1.021.tgz 315862164 RMD160 fc9f14524cd44e76ac69506141aa8b6e78d4995d SHA1 96eafab1a1619a51b7faeda969939360972b245b SHA256 782ae0a8979c83610ba2dec3c55d932d7203b73a167226066788101f7957865a +EBUILD mkl-9.1.021.ebuild 7447 RMD160 f4fdf0c0e827f1554d50fe713325ef094bb3f3c6 SHA1 75234c43437dfb6c24e618e45f4c1df9a4046eb2 SHA256 e8f248a086d7249ed30e6aa87b24935fc4b54b8c10ea7a818777638bb329459c +MD5 9ad9ced840c4ea935562805a6c30eab5 mkl-9.1.021.ebuild 7447 +RMD160 f4fdf0c0e827f1554d50fe713325ef094bb3f3c6 mkl-9.1.021.ebuild 7447 +SHA256 e8f248a086d7249ed30e6aa87b24935fc4b54b8c10ea7a818777638bb329459c mkl-9.1.021.ebuild 7447 +MD5 5277e1494714b111af3290faca8e9705 files/digest-mkl-9.1.021 259 +RMD160 1faff5072544958e224437f0a7fc50c92b11b7b3 files/digest-mkl-9.1.021 259 +SHA256 c49d4ff5fd3ea1be9b6b08bd87a0d830aba832d24d928eeec02b7642f87ed927 files/digest-mkl-9.1.021 259 diff --git a/sci-libs/mkl/files/blas.pc.in b/sci-libs/mkl/files/blas.pc.in new file mode 100644 index 000000000..b9bd2e3b3 --- /dev/null +++ b/sci-libs/mkl/files/blas.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=/usr/include + +Name: blas +Description: MKL implementations of the F77 Basic Linear Algebra Subroutines +Version: @PV@ +URL: http://developer.intel.com/software/products/mkl/ +Libs: -L${libdir} -lblas @EXTLIBS@ diff --git a/sci-libs/mkl/files/cblas.pc.in b/sci-libs/mkl/files/cblas.pc.in new file mode 100644 index 000000000..eea3d786f --- /dev/null +++ b/sci-libs/mkl/files/cblas.pc.in @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=/usr/include + +Name: cblas +Description: MKL implementations of the C Basic Linear Algebra Subroutines +Version: @PV@ +URL: http://developer.intel.com/software/products/mkl/ +Libs: -L${libdir} -lcblas @EXTLIBS@ +Cflags: -I${includedir} diff --git a/sci-libs/mkl/files/digest-mkl-9.1.021 b/sci-libs/mkl/files/digest-mkl-9.1.021 new file mode 100644 index 000000000..5d4c92a94 --- /dev/null +++ b/sci-libs/mkl/files/digest-mkl-9.1.021 @@ -0,0 +1,3 @@ +MD5 1694ca067d26c624858fcc2595522174 l_mkl_enh_p_9.1.021.tgz 315862164 +RMD160 fc9f14524cd44e76ac69506141aa8b6e78d4995d l_mkl_enh_p_9.1.021.tgz 315862164 +SHA256 782ae0a8979c83610ba2dec3c55d932d7203b73a167226066788101f7957865a l_mkl_enh_p_9.1.021.tgz 315862164 diff --git a/sci-libs/mkl/files/lapack.pc.in b/sci-libs/mkl/files/lapack.pc.in new file mode 100644 index 000000000..5b88c64a0 --- /dev/null +++ b/sci-libs/mkl/files/lapack.pc.in @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/@LIBDIR@ +includedir=/usr/include + +Name: cblas +Description: MKL implementations of the F77 Linear Algebra PACKage +Version: @PV@ +URL: http://developer.intel.com/software/products/mkl/ +Requires: blas +Libs: -L${libdir} -llapack @EXTLIBS@ diff --git a/sci-libs/mkl/mkl-9.1.021.ebuild b/sci-libs/mkl/mkl-9.1.021.ebuild new file mode 100644 index 000000000..ab7d9f202 --- /dev/null +++ b/sci-libs/mkl/mkl-9.1.021.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils toolchain-funcs fortran versionator + +MYPV="$(get_major_version ${PV}).$(get_version_component_range 2 ${PV})" +MYP="${PN}-${MYPV}" + +DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, random number generators." +HOMEPAGE="http://developer.intel.com/software/products/mkl/" +SRC_URI="l_${PN}_enh_p_${PV}.tgz" + +LICENSE="${MYP}" + +# slotting mechanism would need to select proper env-variables +# which could require a mkl-config like pkg. +#SLOT="${MYPV}" +SLOT="0" +RESTRICT="strip fetch" +KEYWORDS="~x86 ~amd64 ~ia64" +IUSE="threads int64 fortran95 fftw doc examples" + +DEPEND="app-admin/eselect-blas + app-admin/eselect-cblas + app-admin/eselect-lapack" + +RDEPEND="${DEPEND} + dev-util/pkgconfig + doc? ( app-doc/blas-docs app-doc/lapack-docs )" + +MKL_DIR=/opt/intel/${PN}/${MYPV} + +pkg_nofetch() { + einfo "Please download the intel mkl from:" + einfo "http://www.intel.com/software/products/mkl/downloads/lin_mkl.htm" + einfo "and place it in ${DISTDIR}" + einfo "Also you need to register in ${HOMEPAGE}" + einfo "and keep the license Intel sent you" + einfo "SRC=${A}" +} + +pkg_setup() { + # setting up license + [[ -z "${MKL_LICENSE}" ]] && MKL_LICENSE="$(find /opt/intel/licenses -name *MKL*.lic)" + if [[ -z "${MKL_LICENSE}" ]]; then + eerror "Did not find any valid mkl license." + eerror "Please locate your license file and run:" + eerror "\t MKL_LICENSE=/my/license/dir emerge ${PN}" + eerror "or place your license in /opt/intel/licenses" + eerror "Hint: the license file is in the email Intel sent you" + die "setup mkl license failed" + fi + + # setting up compilers + MKL_CC=gnu + [[ "$(tc-getCC)" == "icc" ]] && MKL_CC=icc + FORTRAN="gfortran ifc g77" + use fortran95 && FORTRAN="gfortran ifc" + use int64 && FORTRAN="gfortran ifc" + fortran_pkg_setup +} + +src_unpack() { + + ewarn + ewarn "Intel ${PN} requires in average 400Mb of disk space" + ewarn "Make sure you have them on ${PORTAGE_TMPDIR} and in /opt" + ewarn + unpack ${A} + + cd l_${PN}_*_${PV}/install + + # need to make a file to install non-interactively. + # to produce such a file, first do it interactively + # tar xf l_*; ./install.sh --duplicate mkl.ini; + # the file will be instman/mkl.ini + + # binary blob extractor installs log crap in /opt/intel + #addwrite /opt/intel + cp ${MKL_LICENSE} ${WORKDIR}/ + MKL_LICENSE="$(basename ${MKL_LICENSE})" + cat > mkl.ini << EOF +[MKL] +EULA_ACCEPT_REJECT=ACCEPT +FLEXLM_LICENSE_LOCATION=${WORKDIR}/${MKL_LICENSE} +INSTALLMODE=NONRPM +INSTALL_DESTINATION=${S} +EOF + einfo "Extracting ..." + ./install \ + --silent ${PWD}/mkl.ini \ + --log log.txt &> /dev/null + + [[ -z $(find "${S}" -name libmkl.so) ]] \ + && die "extracting failed" + + # remove unused stuff and set up intel names + rm -rf "${WORKDIR}"/l_* + case ${ARCH} in + x86) MKL_ARCH=32 + MKL_KERN=ia32 + rm -rf "${S}"/lib*/*64* + ;; + amd64) MKL_ARCH=em64t + MKL_KERN=em64t + rm -rf "${S}"/lib*/32 "${S}"/lib*/64 + ;; + ia64) MKL_ARCH=64 + MKL_KERN=ipf + rm -rf "${S}"/lib*/32 "${S}"/lib*/em64t + ;; + esac + + MKL_PROF="serial" + + if use threads; then + MKL_PROF="${MKL_PROF} regular" + else + rm -rf "${S}"/lib + fi + + if use int64; then + MKL_PROF="${MKL_PROF} ilp64" + else + rm -rf "${S}"/lib_ilp64 + fi + + # fix a bad makefile in the test + if [[ ${FORTRANC} == gfortran ]] || [[ ${FORTRANC} == if* ]]; then + sed -i \ + -e "s/g77/${FORTRANC}/" \ + -e 's/-DGNU_USE//' \ + "${S}"/tests/fftf/makefile \ + || die "sed fftf test failed" + fi +} + +src_compile() { + + if use fortran95; then + for p in ${MKL_PROF}; do + einfo "Compiling fortan95 wrappers for ${p}" + for x in blas95 lapack95; do + cd "${S}"/interfaces/${x} + emake \ + FC=${FORTRANC} \ + MKL_SUBVERS=${p} \ + lib${MKL_ARCH} \ + || die "emake $(basename ${x}) failed" + done + done + fi + + if use fftw; then + for p in ${MKL_PROF}; do + einfo "Compiling fftw wrappers for ${p}" + for x in "${S}"/interfaces/fft*; do + cd "${x}" + emake \ + F=${MKL_CC} \ + MKL_SUBVERS=${p} \ + lib${MKL_ARCH} \ + || die "emake $(basename ${x}) failed" + done + done + fi +} + +src_test() { + local usegnu + [ ${FORTRANC} = g77 -o ${MKL_CC} = gnu ] && usegnu=gnu + for testdir in blas cblas fftc fftf; do + cd "${S}"/tests/${testdir} + for p in ${MKL_PROF}; do + einfo "Testing ${testdir} for ${p}" + emake -j1 \ + F=${usegnu} \ + FC=${FORTRANC} \ + MKL_SUBVERS=${p} \ + lib${MKL_ARCH} \ + || die "emake ${testdir} failed" + done + done +} + +# usage: mkl_install_lib <serial|regular|ilp64> +mkl_install_lib() { + + local proflib=lib_${1} + [[ "${1}" == "regular" ]] && proflib=lib + local libdir="${MKL_DIR}/${proflib}/${MKL_ARCH}" + local prof=${PN} + local extlibs + [[ "${FORTRANC}" == "gfortran" ]] && \ + extlibs="${extlibs} -L${libdir} -lmkl_gfortran" + if [[ "${1}" == "regular" ]]; then + extlibs="${extlibs} -L${libdir} -lguide -lpthread" + prof=${prof}-threads + fi + [[ "${1}" == "ilp64" ]] && prof=${prof}-int64 + + cp -pPR "${S}"/${proflib} "${D}"${MKL_DIR} + + for x in blas cblas; do + cat > eselect.${x}.${prof} << EOF +${libdir}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/lib${x}.a +${libdir}/libmkl.so /usr/@LIBDIR@/lib${x}.so +${libdir}/libmkl.so /usr/@LIBDIR@/lib${x}.so.0 +${libdir}/${x}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc +EOF + + [[ ${x} == cblas ]] && \ + echo "${MKL_DIR}/include/mkl_cblas.h /usr/include/cblas.h" >> eselect.${x}.${prof} + eselect ${x} add $(get_libdir) eselect.${x}.${prof} ${prof} + sed -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@EXTLIBS@:${extlibs}:g" \ + "${FILESDIR}"/${x}.pc.in > ${x}.pc || die "sed ${x}.pc failed" + insinto ${libdir} + doins ${x}.pc + done + + cat > eselect.lapack.${prof} << EOF +${libdir}/libmkl_lapack.a /usr/@LIBDIR@/liblapack.a +${libdir}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so +${libdir}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so.0 +${libdir}/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc +EOF + sed -e "s:@LIBDIR@:$(get_libdir):" \ + -e "s:@PV@:${PV}:" \ + -e "s:@EXTLIBS@:${extlibs}:g" \ + "${FILESDIR}"/lapack.pc.in > lapack.pc || die "sed lapack.pc failed" + insinto ${libdir} + doins lapack.pc + + eselect lapack add $(get_libdir) eselect.lapack.${prof} ${prof} + echo "LDPATH=${libdir}" > 35mkl +} + +src_install() { + + # install license + if [ ! -f "/opt/intel/licenses/${MKL_LICENSE}" ]; then + insinto /opt/intel/licenses + doins ${WORKDIR}/${MKL_LICENSE} + fi + + # keep intel dir in /opt as default install + insinto ${MKL_DIR} + doins -r include man tools || die "doins include|man|tools failed" + + use examples && doins -r examples + + insinto ${MKL_DIR}/doc + doins doc/*.txt + use doc && doins doc/*.pdf doc/*.htm + + # take care of lib and eselect files + for p in ${MKL_PROF}; do + mkl_install_lib ${p} + done + + echo "MANPATH=${MKL_DIR}/man" >> 35mkl + echo "INCLUDE=${MKL_DIR}/include" >> 35mkl + doenvd 35mkl || die "doenvd failed" +} + +pkg_postinst() { + # set default profile according to upstream + local defprof="${PN}-${FORTRANC}" + if use int64; then + defprof="${defprof}-int64" + elif use threads; then + defprof="${defprof}-threads" + fi + + for x in blas cblas lapack; do + if [[ -z "$(eselect ${x} show)" ]]; then + eselect ${x} set ${defprof} + fi + done + # some useful info + elog "Use 'eselect <lib>' (as root) to select one of the" + elog "MKL <lib> profiles, where lib = blas, cblas or lapack" + elog "Once selected, use 'pkg-config --libs <lib>' to link with MKL." + elog "With C, add 'pkg-config --cflags <lib>' to compile." +} |