summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2007-11-12 17:08:56 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2007-11-12 17:08:56 +0000
commit20c948f56602a288ad1f7c4976533a1788f271ce (patch)
tree12bbf0e71fffc7d2e0b9eb2d5d42d593dde461ad /sci-libs/lapack-reference
parentChanged autotools version to 2.59 on patch, and added acx_blas.m4. Use pkg-co... (diff)
downloadgentoo-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.patch223
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild3
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"
}