From 218da76486418de73062069c6f0b6a75dc30b9fc Mon Sep 17 00:00:00 2001 From: kolev Date: Thu, 7 Feb 2008 00:43:42 +0000 Subject: [PATCH] Allowed for an external BLAS library in our LAPACK sources. See issue169. --- blas/Makefile | 1 + blas/hypre_blas.h | 43 ++++++++++++++++++++++--------------------- lapack/Makefile | 2 ++ 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/blas/Makefile b/blas/Makefile index a5e523660..20c203513 100644 --- a/blas/Makefile +++ b/blas/Makefile @@ -35,6 +35,7 @@ include ../config/Makefile.config +C_COMPILE_FLAGS = ${INCLUDES} -I.. -I../utilities BLAS_HEADERS = f2c.h hypre_blas.h BLAS_FILES = \ diff --git a/blas/hypre_blas.h b/blas/hypre_blas.h index 8139a39b4..52d016431 100644 --- a/blas/hypre_blas.h +++ b/blas/hypre_blas.h @@ -32,32 +32,33 @@ #ifndef HYPRE_BLAS_H #define HYPRE_BLAS_H #include "f2c.h" +#include "fortran.h" /* -------------------------------------------------------------------------- * Change all names to hypre_ to avoid link conflicts * --------------------------------------------------------------------------*/ -#define dasum_ hypre_dasum -#define daxpy_ hypre_daxpy -#define dcopy_ hypre_dcopy -#define ddot_ hypre_ddot -#define dgemm_ hypre_dgemm -#define dgemv_ hypre_dgemv -#define dger_ hypre_dger -#define dnrm2_ hypre_dnrm2 -#define drot_ hypre_drot -#define dscal_ hypre_dscal -#define dswap_ hypre_dswap -#define dsymm_ hypre_dsymm -#define dsymv_ hypre_dsymv -#define dsyr2_ hypre_dsyr2 -#define dsyr2k_ hypre_dsyr2k -#define dsyrk_ hypre_dsyrk -#define dtrmm_ hypre_dtrmm -#define dtrmv_ hypre_dtrmv -#define dtrsm_ hypre_dtrsm -#define dtrsv_ hypre_dtrsv -#define idamax_ hypre_idamax +#define dasum_ hypre_F90_NAME_BLAS(dasum,DASUM) +#define daxpy_ hypre_F90_NAME_BLAS(daxpy,DAXPY) +#define dcopy_ hypre_F90_NAME_BLAS(dcopy,DCOPY) +#define ddot_ hypre_F90_NAME_BLAS(ddot,DDOT) +#define dgemm_ hypre_F90_NAME_BLAS(dgemm,DGEMM) +#define dgemv_ hypre_F90_NAME_BLAS(dgemv,DGEMV) +#define dger_ hypre_F90_NAME_BLAS(dger,DGER) +#define dnrm2_ hypre_F90_NAME_BLAS(dnrm2,DNRM2) +#define drot_ hypre_F90_NAME_BLAS(drot,DROT) +#define dscal_ hypre_F90_NAME_BLAS(dscal,DSCAL) +#define dswap_ hypre_F90_NAME_BLAS(dswap,DSWAP) +#define dsymm_ hypre_F90_NAME_BLAS(dsymm,DSYMM) +#define dsymv_ hypre_F90_NAME_BLAS(dsymv,DSYMV) +#define dsyr2_ hypre_F90_NAME_BLAS(dsyr2,DSYR2) +#define dsyr2k_ hypre_F90_NAME_BLAS(dsyr2k,DSYR2K) +#define dsyrk_ hypre_F90_NAME_BLAS(dsyrk,DSYRK) +#define dtrmm_ hypre_F90_NAME_BLAS(dtrmm,DTRMM) +#define dtrmv_ hypre_F90_NAME_BLAS(dtrmv,DTRMV) +#define dtrsm_ hypre_F90_NAME_BLAS(dtrsm,DTRSM) +#define dtrsv_ hypre_F90_NAME_BLAS(dtrsv,DTRSV) +#define idamax_ hypre_F90_NAME_BLAS(idamax,IDAMAX) /* blas_utils.c */ logical lsame_ ( char *ca , char *cb ); diff --git a/lapack/Makefile b/lapack/Makefile index ea99a5f59..0f131019e 100644 --- a/lapack/Makefile +++ b/lapack/Makefile @@ -31,6 +31,8 @@ include ../config/Makefile.config +C_COMPILE_FLAGS = ${INCLUDES} -I.. -I../utilities + LAPACK_HEADERS = f2c.h hypre_lapack.h LAPACK_FILES = \ dbdsqr.c\