diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2007-11-12 17:08:56 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2007-11-12 17:08:56 +0000 |
commit | 20c948f56602a288ad1f7c4976533a1788f271ce (patch) | |
tree | 12bbf0e71fffc7d2e0b9eb2d5d42d593dde461ad /sci-libs/lapack-reference | |
parent | Changed autotools version to 2.59 on patch, and added acx_blas.m4. Use pkg-co... (diff) | |
download | gentoo-2-20c948f56602a288ad1f7c4976533a1788f271ce.tar.gz gentoo-2-20c948f56602a288ad1f7c4976533a1788f271ce.tar.bz2 gentoo-2-20c948f56602a288ad1f7c4976533a1788f271ce.zip |
Changed autotools version to 2.59 on patch, and added acx_blas.m4. Use pkg-config system for blas dependencies.
(Portage version: 2.1.3.16)
Diffstat (limited to 'sci-libs/lapack-reference')
-rw-r--r-- | sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotools.patch | 223 | ||||
-rw-r--r-- | sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild | 3 |
2 files changed, 208 insertions, 18 deletions
diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotools.patch b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotools.patch index 7df026709d24..e71b5eb6318b 100644 --- a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotools.patch +++ b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotools.patch @@ -1,23 +1,18 @@ --- 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) ++++ configure.ac 2007-11-09 18:12:33.000000000 +0000 +@@ -0,0 +1,21 @@ ++AC_PREREQ(2.59) +AC_INIT(lapack, 3.1.1, lapack@cs.utk.edu) +AM_INIT_AUTOMAKE([foreign]) + -+AC_LANG(Fortran 77) ++dnl 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) ++sinclude(acx_blas.m4) ++ACX_BLAS ++if test x"$BLAS_LIBS" = x; then ++ AC_MSG_ERROR([Cannot find blas libraries]) +fi + +AC_ARG_VAR(NOOPT_FFLAGS, Fortran 77 compiler flags to use for unoptimized files) @@ -28,7 +23,7 @@ + lapack.pc]) +AC_OUTPUT --- Makefile.am 1970-01-01 01:00:00.000000000 +0100 -+++ Makefile.am 2007-08-14 11:39:34.000000000 +0100 ++++ Makefile.am 2007-11-09 17:46:18.000000000 +0000 @@ -0,0 +1,6 @@ +SUBDIRS = INSTALL SRC + @@ -36,8 +31,202 @@ +pkgconfig_DATA = lapack.pc + +EXTRA_DIST = README lapack.pc +--- acx_blas.m4 1970-01-01 01:00:00.000000000 +0100 ++++ acx_blas.m4 2007-08-04 22:50:48.000000000 +0100 +@@ -0,0 +1,191 @@ ++##### http://autoconf-archive.cryp.to/acx_blas.html ++# ++# SYNOPSIS ++# ++# ACX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) ++# ++# DESCRIPTION ++# ++# This macro looks for a library that implements the BLAS ++# linear-algebra interface (see http://www.netlib.org/blas/). On ++# success, it sets the BLAS_LIBS output variable to hold the ++# requisite library linkages. ++# ++# To link with BLAS, you should link with: ++# ++# $BLAS_LIBS $LIBS $FLIBS ++# ++# in that order. FLIBS is the output variable of the ++# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), and ++# is sometimes necessary in order to link with F77 libraries. Users ++# will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual), ++# for the same reason. ++# ++# Many libraries are searched for, from ATLAS to CXML to ESSL. The ++# user may also use --with-blas=<lib> in order to use some specific ++# BLAS library <lib>. In order to link successfully, however, be ++# aware that you will probably need to use the same Fortran compiler ++# (which can be set via the F77 env. var.) as was used to compile the ++# BLAS library. ++# ++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS ++# library is found, and ACTION-IF-NOT-FOUND is a list of commands to ++# run it if it is not found. If ACTION-IF-FOUND is not specified, the ++# default action will define HAVE_BLAS. ++# ++# This macro requires autoconf 2.50 or later. ++# ++# LAST MODIFICATION ++# ++# 2007-07-29 ++# ++# COPYLEFT ++# ++# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu> ++# ++# This program is free software: you can redistribute it and/or ++# modify it under the terms of the GNU General Public License as ++# published by the Free Software Foundation, either version 3 of the ++# License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see ++# <http://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright ++# owner gives unlimited permission to copy, distribute and modify the ++# configure scripts that are the output of Autoconf when processing ++# the Macro. You need not follow the terms of the GNU General Public ++# License when using or distributing such scripts, even though ++# portions of the text of the Macro appear in them. The GNU General ++# Public License (GPL) does govern all other use of the material that ++# constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the ++# Autoconf Macro released by the Autoconf Macro Archive. When you ++# make and distribute a modified version of the Autoconf Macro, you ++# may extend this special exception to the GPL to apply to your ++# modified version as well. ++ ++AC_DEFUN([ACX_BLAS], [ ++AC_PREREQ(2.50) ++AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS]) ++acx_blas_ok=no ++ ++AC_ARG_WITH(blas, ++ [AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])]) ++case $with_blas in ++ yes | "") ;; ++ no) acx_blas_ok=disable ;; ++ -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;; ++ *) BLAS_LIBS="-l$with_blas" ;; ++esac ++ ++# Get fortran linker names of BLAS functions to check for. ++AC_F77_FUNC(sgemm) ++AC_F77_FUNC(dgemm) ++ ++acx_blas_save_LIBS="$LIBS" ++LIBS="$LIBS $FLIBS" ++ ++# First, check BLAS_LIBS environment variable ++if test $acx_blas_ok = no; then ++if test "x$BLAS_LIBS" != x; then ++ save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" ++ AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS]) ++ AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""]) ++ AC_MSG_RESULT($acx_blas_ok) ++ LIBS="$save_LIBS" ++fi ++fi ++ ++# BLAS linked to by default? (happens on some supercomputers) ++if test $acx_blas_ok = no; then ++ save_LIBS="$LIBS"; LIBS="$LIBS" ++ AC_CHECK_FUNC($sgemm, [acx_blas_ok=yes]) ++ LIBS="$save_LIBS" ++fi ++ ++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(atlas, ATL_xerbla, ++ [AC_CHECK_LIB(f77blas, $sgemm, ++ [AC_CHECK_LIB(cblas, cblas_dgemm, ++ [acx_blas_ok=yes ++ BLAS_LIBS="-lcblas -lf77blas -latlas"], ++ [], [-lf77blas -latlas])], ++ [], [-latlas])]) ++fi ++ ++# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(blas, $sgemm, ++ [AC_CHECK_LIB(dgemm, $dgemm, ++ [AC_CHECK_LIB(sgemm, $sgemm, ++ [acx_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"], ++ [], [-lblas])], ++ [], [-lblas])]) ++fi ++ ++# BLAS in Alpha CXML library? ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(cxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-lcxml"]) ++fi ++ ++# BLAS in Alpha DXML library? (now called CXML, see above) ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"]) ++fi ++ ++# BLAS in Sun Performance library? ++if test $acx_blas_ok = no; then ++ if test "x$GCC" != xyes; then # only works with Sun CC ++ AC_CHECK_LIB(sunmath, acosp, ++ [AC_CHECK_LIB(sunperf, $sgemm, ++ [BLAS_LIBS="-xlic_lib=sunperf -lsunmath" ++ acx_blas_ok=yes],[],[-lsunmath])]) ++ fi ++fi ++ ++# BLAS in SCSL library? (SGI/Cray Scientific Library) ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"]) ++fi ++ ++# BLAS in SGIMATH library? ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(complib.sgimath, $sgemm, ++ [acx_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"]) ++fi ++ ++# BLAS in IBM ESSL library? (requires generic BLAS lib, too) ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(blas, $sgemm, ++ [AC_CHECK_LIB(essl, $sgemm, ++ [acx_blas_ok=yes; BLAS_LIBS="-lessl -lblas"], ++ [], [-lblas $FLIBS])]) ++fi ++ ++# Generic BLAS library? ++if test $acx_blas_ok = no; then ++ AC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"]) ++fi ++ ++AC_SUBST(BLAS_LIBS) ++ ++LIBS="$acx_blas_save_LIBS" ++ ++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: ++if test x"$acx_blas_ok" = xyes; then ++ ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1]) ++ : ++else ++ acx_blas_ok=no ++ $2 ++fi ++])dnl ACX_BLAS --- lapack.pc.in 1970-01-01 01:00:00.000000000 +0100 -+++ lapack.pc.in 2007-08-17 11:39:19.000000000 +0100 ++++ lapack.pc.in 2007-11-09 17:46:18.000000000 +0000 @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ @@ -51,7 +240,7 @@ +URL: http://www.netlib.org/lapack/ +Libs: -llapack --- SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100 -+++ SRC/Makefile.am 2007-08-02 15:15:59.000000000 +0100 ++++ SRC/Makefile.am 2007-11-09 18:20:03.000000000 +0000 @@ -0,0 +1,292 @@ +lib_LTLIBRARIES = \ + liblapack.la @@ -346,7 +535,7 @@ +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 ++++ INSTALL/Makefile.am 2007-11-09 17:46:18.000000000 +0000 @@ -0,0 +1,23 @@ +check_PROGRAMS = \ + testlsame \ 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 index 2f4b2c519473..b5a0fdda36ca 100644 --- a/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild +++ b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild,v 1.10 2007/10/29 15:29:03 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild,v 1.11 2007/11/12 17:08:55 bicatali Exp $ inherit eutils autotools flag-o-matic fortran multilib @@ -56,6 +56,7 @@ src_unpack() { src_compile() { econf \ --libdir="/usr/$(get_libdir)/lapack/reference" \ + --with-blas="$(pkg-config --libs blas)" \ || die "econf failed" emake || die "emake failed" } |