diff options
-rw-r--r-- | math/scalapack/Makefile | 31 | ||||
-rw-r--r-- | math/scalapack/distinfo | 12 | ||||
-rw-r--r-- | math/scalapack/files/SLmake.inc-mpich.diff | 31 | ||||
-rw-r--r-- | math/scalapack/files/SLmake.inc-openmpi.diff | 4 |
4 files changed, 45 insertions, 33 deletions
diff --git a/math/scalapack/Makefile b/math/scalapack/Makefile index af64db4fef9b..6d940c135129 100644 --- a/math/scalapack/Makefile +++ b/math/scalapack/Makefile @@ -6,15 +6,12 @@ # PORTNAME= scalapack -PORTVERSION= 1.7.5 -PORTREVISION= 1 +PORTVERSION= 1.8.0 CATEGORIES= math -MASTER_SITES= ftp://ftp.netlib.org/scalapack/ \ - ${MASTER_SITE_LOCAL:S/$/:install_ps/} -MASTER_SITE_SUBDIR+= maho/scalapack/:install_ps +MASTER_SITES= ftp://ftp.netlib.org/scalapack/ DISTFILES= scalapack-${PORTVERSION}.tgz manpages.tgz .if !defined(NOPORTDOCS) -DISTFILES+= scalapack_install.ps:install_ps scalapackqref.ps \ +DISTFILES+= scalapack_install.ps scalapackqref.ps \ lawn100.ps pblasqref.ps manual.ps design.ps \ pumma_refmanual.ps trans.ps .endif @@ -24,7 +21,7 @@ EXTRACT_ONLY= scalapack-${PORTVERSION}.tgz manpages.tgz MAINTAINER= maho@FreeBSD.org COMMENT= The ScaLAPACK Scalable LAPACK library -BUILD_DEPENDS= ${LOCALBASE}/bin/f2c:${PORTSDIR}/lang/f2c +BUILD_DEPENDS= f2c:${PORTSDIR}/lang/f2c LIB_DEPENDS= blacs.1:${PORTSDIR}/math/blacs CONFLICTS= elmer-mathlibs-1* @@ -50,10 +47,12 @@ WITH_ATLAS= yes .if defined(WITH_ATLAS) LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas BLAS= -lf77blas -latlas +LAPACK= -lalapack -lcblas .else LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack BLAS= -lblas +LAPACK= -llapack .endif .if exists(${LOCALBASE}/mpi/openmpi/bin/mpirun) @@ -65,7 +64,9 @@ BUILD_DEPENDS+= ${LOCALBASE}/mpi/openmpi/lib/libmpi.so:${PORTSDIR}/net/openmpi RUN_DEPENDS+= ${LOCALBASE}/mpi/openmpi/bin/mpirun:${PORTSDIR}/net/openmpi EXTRA_PATCHES+= ${FILESDIR}/SLmake.inc-openmpi.diff .else -LIB_DEPENDS+= mpich:${PORTSDIR}/net/mpich2 +#LIB_DEPENDS+= mpich:${PORTSDIR}/net/mpich2 +BUILD_DEPENDS+= ${LOCALBASE}/mpich2/bin/mpicc:${PORTSDIR}/net/mpich2 +RUN_DEPENDS+= ${LOCALBASE}/mpich2/bin/mpirun:${PORTSDIR}/net/mpich2 EXTRA_PATCHES+= ${FILESDIR}/SLmake.inc-mpich.diff .endif @@ -93,10 +94,20 @@ CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops .endif .endif +NOOPT= -O0 +.if defined(WITH_OPENMPI) +MPIF77= ${LOCALBASE}/mpi/openmpi/bin/mpif77 +MPICC= ${LOCALBASE}/mpi/openmpi/bin/mpicc +.else +MPIF77= ${LOCALBASE}/mpich2/bin/mpif77 +MPICC= ${LOCALBASE}/mpich2/bin/mpicc +.endif + post-patch: + ${CP} ${WRKSRC}/SLmake.inc.example ${WRKSRC}/SLmake.inc ${CP} -r ${WRKSRC} ${WRKSRC_SHARED} - @${REINPLACE_CMD} -e 's,@BLAS@,${BLAS},g; s,@WRKSRC@,${WRKSRC},g ; s,@LOCALBASE@,${LOCALBASE},g ; s,@CC@,${CC},g ; s,@CFLAGS@,${CFLAGS},g ; s,@F77@,${F77},g ; s,@FFLAGS@,${FFLAGS},g ; s,@NOOPT@,,g ; s,@F77EXTRAFLAGS@,${F77EXTRAFLAGS},g ; s,^ARCH *.= ar,ARCMD = ar,' ${WRKSRC}/SLmake.inc - @${REINPLACE_CMD} -e 's,@BLAS@,${BLAS},g; s,@WRKSRC@,${WRKSRC_SHARED},g ; s,@LOCALBASE@,${LOCALBASE},g ; s,@CC@,${CC},g ; s,@CFLAGS@,${CFLAGS_SHARED},g ; s,@F77@,${F77},g ; s,@FFLAGS@,${FFLAGS_SHARED},g ; s,@NOOPT@,${FPIC},g ; s,@F77EXTRAFLAGS@,${F77EXTRAFLAGS},g ; s,^ARCH *.= ar,ARCMD = ar,' ${WRKSRC_SHARED}/SLmake.inc + @${REINPLACE_CMD} -e 's,@BLAS@,${BLAS},g; s,@LAPACK@,${LAPACK},g;s,@LAPACK@,${LAPACK},g;s,@LAPACK@,${LAPACK},g;s,@LAPACK@,${LAPACK},g; s,@WRKSRC@,${WRKSRC},g ; s,@LOCALBASE@,${LOCALBASE},g ; s,@CC@,${CC},g ; s,@CFLAGS@,${CFLAGS},g ; s,@F77@,${F77},g ; s,@MPIF77@,${MPIF77},g ; s,@MPICC@,${MPICC},g ; s,@FFLAGS@,${FFLAGS},g ; s,@NOOPT@,${NOOPT},g ; s,@F77EXTRAFLAGS@,${F77EXTRAFLAGS},g ; s,^ARCH *.= ar,ARCMD = ar,' ${WRKSRC}/SLmake.inc + @${REINPLACE_CMD} -e 's,@BLAS@,${BLAS},g; s,@LAPACK@,${LAPACK},g; s,@WRKSRC@,${WRKSRC_SHARED},g ; s,@LOCALBASE@,${LOCALBASE},g ; s,@CC@,${CC},g ; s,@CFLAGS@,${CFLAGS_SHARED},g ; s,@F77@,${F77},g ; s,@MPIF77@,${MPIF77},g ; s,@MPICC@,${MPICC},g ; s,@FFLAGS@,${FFLAGS_SHARED},g ; s,@NOOPT@,${NOOPT} ${FPIC},g ; s,@F77EXTRAFLAGS@,${F77EXTRAFLAGS},g ; s,^ARCH *.= ar,ARCMD = ar,' ${WRKSRC_SHARED}/SLmake.inc .for mkf in ${ARCH2FIX} @${REINPLACE_CMD} -e 's|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${mkf}/Makefile @${REINPLACE_CMD} -e 's|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC_SHARED}/${mkf}/Makefile diff --git a/math/scalapack/distinfo b/math/scalapack/distinfo index 87d41b3463ce..bb51aa55ebda 100644 --- a/math/scalapack/distinfo +++ b/math/scalapack/distinfo @@ -1,12 +1,12 @@ -MD5 (scalapack/scalapack-1.7.5.tgz) = 122226d32ce02e2651988f905367a6f8 -SHA256 (scalapack/scalapack-1.7.5.tgz) = 115c7441b848b61d7d8087cfeec892d061e7b38003213ea2d4289b13c1bb3770 -SIZE (scalapack/scalapack-1.7.5.tgz) = 5024316 +MD5 (scalapack/scalapack-1.8.0.tgz) = f4a3f3d7ef32029bd79ab8abcc026624 +SHA256 (scalapack/scalapack-1.8.0.tgz) = e378dbedf67102cb7cc1a7991bb02bbe163aa91710dbeae2868ec781d3fc7a05 +SIZE (scalapack/scalapack-1.8.0.tgz) = 5006143 MD5 (scalapack/manpages.tgz) = a536ab4837ec68addff0a3ec99427a10 SHA256 (scalapack/manpages.tgz) = a745c9f367d65e3c7611c126597a4681094b002552e47b621964d30a966aac7b SIZE (scalapack/manpages.tgz) = 379541 -MD5 (scalapack/scalapack_install.ps) = 72e99a64a7fd917793bca0425bd35c7d -SHA256 (scalapack/scalapack_install.ps) = 1dcd52a058844ed5b10221ce8e20e446bf3ec6ae4125751527d7bdcfe703c232 -SIZE (scalapack/scalapack_install.ps) = 295578 +MD5 (scalapack/scalapack_install.ps) = c465212c2bc77808411ec31d214f7007 +SHA256 (scalapack/scalapack_install.ps) = bbf0b2c60289bf34580f57f8fa25aa71ba902fc72f2a665bf351ebb63ed320a0 +SIZE (scalapack/scalapack_install.ps) = 419092 MD5 (scalapack/scalapackqref.ps) = 3e4c1d66839d8dcaef80f0ebf39318d4 SHA256 (scalapack/scalapackqref.ps) = 89a9c16dcda4393568e3cb5dbd7ecfaecebdb8db7576bae1646ec0088ccd6140 SIZE (scalapack/scalapackqref.ps) = 173805 diff --git a/math/scalapack/files/SLmake.inc-mpich.diff b/math/scalapack/files/SLmake.inc-mpich.diff index f2cc9fae9916..e24f66bd150a 100644 --- a/math/scalapack/files/SLmake.inc-mpich.diff +++ b/math/scalapack/files/SLmake.inc-mpich.diff @@ -1,5 +1,5 @@ ---- SLmake.inc.old Wed Mar 7 14:01:14 2007 -+++ SLmake.inc Wed Mar 7 14:01:29 2007 +--- SLmake.inc.example 2007-04-04 13:24:52.000000000 +0900 ++++ SLmake.inc.example 2007-10-06 18:47:01.000000000 +0900 @@ -19,26 +19,26 @@ # The complete path to the top level of ScaLAPACK directory, usually # $(HOME)/SCALAPACK @@ -27,32 +27,31 @@ -BLACSFINIT = $(BLACSdir)/libmpiblacsF77init-p4.a -BLACSCINIT = $(BLACSdir)/libmpiblacsCinit-p4.a -BLACSLIB = $(BLACSdir)/libmpiblacs-p4.a -+SMPLIB = @LOCALBASE@/mpich2/lib/libmpich.a -+BLACSFINIT = $(BLACSdir)/libblacsf77.a -+BLACSCINIT = $(BLACSdir)/libblacsc.a -+BLACSLIB = $(BLACSdir)/libblacs.a ++SMPLIB = -L@LOCALBASE@/mpich2 -lmpich ++BLACSFINIT = $(BLACSdir)/libblacsf77.a #-L$(BLACSdir) -lblacsf77 ++BLACSCINIT = $(BLACSdir)/libblacsc.a #-L$(BLACSdir) -lblacsc ++BLACSLIB = $(BLACSdir)/libblacs.a #-L$(BLACSdir) -lblacs TESTINGdir = $(home)/TESTING # -@@ -67,12 +67,12 @@ +@@ -67,11 +67,11 @@ # # The fortran and C compilers, loaders, and their flags # --F77 = g77 -+F77 = @F77@ - #F77 = /usr/local/pgi/linux86/bin/pgf77 --CC = gcc +-F77 = mpif77 +-CC = mpicc -NOOPT = -F77FLAGS = -O3 $(NOOPT) -CCFLAGS = -O4 -+CC = @CC@ ++F77 = @MPIF77@ ++CC = @MPICC@ +NOOPT = @NOOPT@ +F77FLAGS = @FFLAGS@ +CCFLAGS = @CFLAGS@ SRCFLAG = F77LOADER = $(F77) CCLOADER = $(CC) -@@ -82,7 +82,7 @@ +@@ -81,7 +81,7 @@ # C preprocessor defs for compilation # (-DNoChange, -DAdd_, -DUpCase, or -Df77IsF2C) # @@ -61,12 +60,14 @@ # # The archiver and the flag(s) to use when building archive (library) # Also the ranlib routine. If your system has no ranlib, set RANLIB = echo -@@ -94,7 +94,7 @@ +@@ -93,8 +93,8 @@ # The name of the libraries to be created/linked to # SCALAPACKLIB = $(home)/libscalapack.a -BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a +-LAPACKLIB = /usr/local/lib/liblapack.a +BLASLIB = -L@LOCALBASE@/lib @BLAS@ ++LAPACKLIB = -L@LOCALBASE@/lib @LAPACK@ # - PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB) + PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(LAPACKLIB) $(BLASLIB) $(SMPLIB) PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB) diff --git a/math/scalapack/files/SLmake.inc-openmpi.diff b/math/scalapack/files/SLmake.inc-openmpi.diff index cb749f023bd9..33a7eb1d873d 100644 --- a/math/scalapack/files/SLmake.inc-openmpi.diff +++ b/math/scalapack/files/SLmake.inc-openmpi.diff @@ -1,5 +1,5 @@ ---- SLmake.inc.orig Thu Jan 19 06:36:03 2006 -+++ SLmake.inc Wed Mar 7 14:03:20 2007 +--- SLmake.inc.example Thu Jan 19 06:36:03 2006 ++++ SLmake.inc.example Wed Mar 7 14:03:20 2007 @@ -19,26 +19,26 @@ # The complete path to the top level of ScaLAPACK directory, usually # $(HOME)/SCALAPACK |