math/scalapack: upgrade to 2.2.0
Release notes at <https://netlib.org/scalapack/scalapack-2.2.0.html>.
This commit is contained in:
parent
7e9e20bdba
commit
2c4f8206f0
5 changed files with 17 additions and 119 deletions
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= scalapack
|
||||
PORTVERSION= 2.1.0
|
||||
PORTVERSION= 2.2.0
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= math
|
||||
|
||||
|
@ -15,12 +15,10 @@ CONFLICTS= elmer-mathlibs-1*
|
|||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= Reference-ScaLAPACK
|
||||
|
||||
USES= cmake:insource fortran pathfix
|
||||
USES= cmake fortran pathfix
|
||||
|
||||
USE_LDCONFIG= yes
|
||||
CMAKE_ARGS_ST= -DBUILD_STATIC_LIBS:BOOL=ON
|
||||
CMAKE_ARGS_SH= -DBUILD_SHARED_LIBS:BOOL=ON
|
||||
CMAKE_ARGS= ${CMAKE_ARGS_ST}
|
||||
CMAKE_ARGS= -DBUILD_STATIC_LIBS:BOOL=ON
|
||||
|
||||
ARCH2FIX= PBLAS/SRC PBLAS/SRC/PBBLAS PBLAS/SRC/PTOOLS PBLAS/SRC/PTZBLAS \
|
||||
REDIST/SRC SRC TOOLS TOOLS/LAPACK
|
||||
|
@ -28,7 +26,7 @@ ARCH2FIX= PBLAS/SRC PBLAS/SRC/PBBLAS PBLAS/SRC/PTOOLS PBLAS/SRC/PTZBLAS \
|
|||
DATADIR= ${PREFIX}/share/${PORTNAME:tu}
|
||||
EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:tu}
|
||||
SUB_FILES= pkg-message
|
||||
PLIST_SUB= SVERSION=${SVERSION} PORTVERSION=${PORTVERSION}
|
||||
PLIST_SUB= SVERSION=${SVERSION} PORTVERSION=2.1.0
|
||||
|
||||
OPTIONS_DEFINE= EXAMPLES
|
||||
OPTIONS_RADIO= LA MPI
|
||||
|
@ -41,36 +39,25 @@ OPTIONS_DEFAULT= BLAS EXAMPLES MPICH
|
|||
ATLAS_USES= blaslapack:atlas
|
||||
BLAS_USES= blaslapack:openblas
|
||||
|
||||
OPENMPI_BUILD_DEPENDS= openmpi>0:net/openmpi
|
||||
OPENMPI_RUN_DEPENDS= openmpi>0:net/openmpi
|
||||
OPENMPI_CMAKE_ON= -DMPI_BASE_DIR=${LOCALBASE}/mpi/openmpi
|
||||
OPENMPI_LDFLAGS= -L${LOCALBASE}/mpi/openmpi/lib -Wl,-rpath,${LOCALBASE}/mpi/openmpi/lib -lmpi
|
||||
|
||||
MPICH_BUILD_DEPENDS= ${LOCALBASE}/bin/mpicc:net/mpich
|
||||
MPICH_RUN_DEPENDS= ${LOCALBASE}/bin/mpicc:net/mpich
|
||||
MPICH_CMAKE_ON= -DMPI_BASE_DIR=${LOCALBASE}
|
||||
MPICH_USES= mpi:mpich
|
||||
MPICH_CMAKE_ON= -DMPI_BASE_DIR=${LOCALBASE}
|
||||
OPENMPI_USES= mpi:openmpi
|
||||
OPENMPI_CMAKE_ON=-DMPI_BASE_DIR=${LOCALBASE}/mpi/openmpi
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
BLAS= ${BLASLIB}
|
||||
LAPACK= ${LAPACKLIB}
|
||||
|
||||
.if ${PORT_OPTIONS:MOPENMPI}
|
||||
MPIF77= ${LOCALBASE}/mpi/openmpi/bin/mpif77
|
||||
MPICC= ${LOCALBASE}/mpi/openmpi/bin/mpicc
|
||||
.else
|
||||
MPIF77= ${LOCALBASE}/bin/mpif77
|
||||
MPICC= ${LOCALBASE}/bin/mpicc
|
||||
.endif
|
||||
|
||||
.if ${ARCH} == "sparc64" || ${ARCH} == "amd64"
|
||||
FPIC= -fPIC
|
||||
.else
|
||||
FPIC= -fpic
|
||||
.endif
|
||||
|
||||
CFLAGS+= ${FPIC}
|
||||
CFLAGS+= ${FPIC} ${MPI_CFLAGS}
|
||||
FFLAGS+= ${FPIC}
|
||||
LDFLAGS+= ${MPI_LIBS}
|
||||
SVERSION= 2
|
||||
|
||||
.if ${GCC_DEFAULT} >= 10
|
||||
|
@ -78,66 +65,33 @@ SVERSION= 2
|
|||
FFLAGS+= -fallow-argument-mismatch
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPTIMIZED_FLAGS)
|
||||
.if ${ARCH} == "amd64"
|
||||
FFLAGS+= -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
|
||||
CFLAGS+= -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
|
||||
.elif ${ARCH} == "i386"
|
||||
FFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double -mcpu=i686 -march=i686 -mfancy-math-387 -mpreferred-stack-boundary=3
|
||||
CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double -mcpu=i686 -march=i686 -mfancy-math-387 -mpreferred-stack-boundary=3
|
||||
.else
|
||||
FFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar
|
||||
CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar
|
||||
.endif
|
||||
.endif
|
||||
|
||||
NOOPT= -O0
|
||||
|
||||
# USES=fortran already forces FC to a supported fortran compiler;
|
||||
# assume mpicc points to a compatible compiler and force that, too.
|
||||
CC= ${MPICC}
|
||||
|
||||
pre-configure:
|
||||
${CP} -p ${WRKSRC}/Makefile ${WRKSRC}/Makefile.dist
|
||||
${CP} ${WRKSRC}/SLmake.inc.example ${WRKSRC}/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
|
||||
.for mkf in ${ARCH2FIX}
|
||||
${REINPLACE_CMD} -e 's|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${mkf}/Makefile
|
||||
.endfor
|
||||
|
||||
post-build:
|
||||
${RM} -r ${WRKSRC}/CMakeFiles ${WRKSRC}/CMakeCache.txt
|
||||
${CP} -p ${WRKSRC}/Makefile.dist ${WRKSRC}/Makefile
|
||||
(cd ${WRKSRC} && \
|
||||
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:C|BUILD_STATIC_LIBS|BUILD_SHARED_LIBS|} ${CMAKE_SOURCE_PATH})
|
||||
(cd ${WRKSRC} && ${DO_MAKE_BUILD} ${ALL_TARGET})
|
||||
|
||||
post-install:
|
||||
${INSTALL_DATA} ${WRKSRC}/lib/libscalapack.a ${STAGEDIR}${PREFIX}/lib
|
||||
${MV} ${STAGEDIR}${PREFIX}/lib/libscalapack.so ${STAGEDIR}${PREFIX}/lib/libscalapack.so.${SVERSION}
|
||||
${INSTALL_LIB} ${WRKSRC}/lib/libscalapack.so ${STAGEDIR}${PREFIX}/lib/libscalapack.so.${SVERSION}
|
||||
${LN} -sf libscalapack.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib/libscalapack.so
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/share/SCALAPACK/TESTING
|
||||
(cd ${WRKSRC}/TESTING/ ;\
|
||||
(cd ${BUILD_WRKSRC}/TESTING/ ;\
|
||||
${INSTALL_PROGRAM} x* ${STAGEDIR}${PREFIX}/share/SCALAPACK/TESTING ;\
|
||||
${INSTALL_DATA} *.dat ${STAGEDIR}${PREFIX}/share/SCALAPACK/TESTING)
|
||||
${INSTALL_DATA} ${FILESDIR}/scalapack.h ${STAGEDIR}${PREFIX}/include
|
||||
${INSTALL_DATA} ${WRKSRC}/PBLAS/SRC/*.h ${STAGEDIR}${PREFIX}/include
|
||||
.if ${PORT_OPTIONS:MEXAMPLES}
|
||||
|
||||
post-install-EXAMPLES-on:
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
|
||||
${INSTALL_DATA} ${FILESDIR}/Makefile ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
|
||||
${INSTALL_DATA} ${FILESDIR}/example1.cc ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
|
||||
${INSTALL_DATA} ${FILESDIR}/example1.f ${STAGEDIR}${PREFIX}/share/examples/SCALAPACK
|
||||
.endif
|
||||
|
||||
.if defined(MAINTAINER_MODE)
|
||||
do-test:
|
||||
. if !exists(${HOME}/.mpd.conf)
|
||||
@${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf
|
||||
${CHMOD} go-r ${HOME}/.mpd.conf
|
||||
@${ECHO_MSG} "${HOME}/.mpd.conf has been generated - please change the secret word!"
|
||||
. endif
|
||||
(cd ${BUILD_WRKSRC}/TESTING && ${MAKE_CMD} test)
|
||||
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1592035305
|
||||
SHA256 (Reference-ScaLAPACK-scalapack-v2.1.0_GH0.tar.gz) = f03fda720a152030b582a237f8387014da878b84cbd43c568390e9f05d24617f
|
||||
SIZE (Reference-ScaLAPACK-scalapack-v2.1.0_GH0.tar.gz) = 4766223
|
||||
TIMESTAMP = 1672152375
|
||||
SHA256 (Reference-ScaLAPACK-scalapack-v2.2.0_GH0.tar.gz) = 8862fc9673acf5f87a474aaa71cd74ae27e9bbeee475dbd7292cec5b8bcbdcf3
|
||||
SIZE (Reference-ScaLAPACK-scalapack-v2.2.0_GH0.tar.gz) = 4769477
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
--- PBLAS/SRC/PBtools.h.orig Wed Feb 16 03:04:17 2000
|
||||
+++ PBLAS/SRC/PBtools.h Sat Jul 13 12:38:19 2002
|
||||
@@ -1148,7 +1148,7 @@
|
||||
int *, char *, char *,
|
||||
int *, char *, int *,
|
||||
char *, char *, int * );
|
||||
-
|
||||
+/* comment out to avoid conflict with lapack.h
|
||||
F_VOID_FCT csymv_ ( F_CHAR_T, int *, char *,
|
||||
char *, int *, char *,
|
||||
int *, char *, char *,
|
||||
@@ -1164,6 +1164,7 @@
|
||||
F_VOID_FCT zsyr_ ( F_CHAR_T, int *, char *,
|
||||
char *, int *, char *,
|
||||
int * );
|
||||
+*/
|
||||
|
||||
F_VOID_FCT csyr2_ ( F_CHAR_T, int *, char *,
|
||||
char *, int *, char *,
|
|
@ -1,35 +0,0 @@
|
|||
--- SLmake.inc.example.orig 2019-11-26 20:37:04 UTC
|
||||
+++ SLmake.inc.example
|
||||
@@ -20,17 +20,17 @@
|
||||
# -DUpCase (fortran subprogram names are upper case without any suffix)
|
||||
# -DAdd_ (fortran subprogram names are lower case with "_" appended)
|
||||
|
||||
-CDEFS = -DAdd_
|
||||
+CDEFS = -DAdd_ -DNO_IEEE $(USEMPI)
|
||||
|
||||
#
|
||||
# The fortran and C compilers, loaders, and their flags
|
||||
#
|
||||
|
||||
-FC = mpif90
|
||||
-CC = mpicc
|
||||
-NOOPT = -O0
|
||||
-FCFLAGS = -O3
|
||||
-CCFLAGS = -O3
|
||||
+FC = @MPIF77@
|
||||
+CC = @MPICC@
|
||||
+NOOPT = @NOOPT@
|
||||
+FCFLAGS = @FFLAGS@
|
||||
+CCFLAGS = @CFLAGS@
|
||||
FCLOADER = $(FC)
|
||||
CCLOADER = $(CC)
|
||||
FCLOADFLAGS = $(FCFLAGS)
|
||||
@@ -55,6 +55,6 @@ SCALAPACKLIB = libscalapack.a
|
||||
# BLAS, LAPACK (and possibly other) libraries needed for linking test programs
|
||||
#
|
||||
|
||||
-BLASLIB = -lblas
|
||||
-LAPACKLIB = -llapack
|
||||
+BLASLIB = -L@LOCALBASE@/lib @BLAS@
|
||||
+LAPACKLIB = -L@LOCALBASE@/lib @LAPACK@
|
||||
LIBS = $(LAPACKLIB) $(BLASLIB)
|
|
@ -27,8 +27,6 @@ libdata/pkgconfig/scalapack.pc
|
|||
%%DATADIR%%/TESTING/SEPR.dat
|
||||
%%DATADIR%%/TESTING/SVD.dat
|
||||
%%DATADIR%%/TESTING/TRD.dat
|
||||
%%DATADIR%%/TESTING/xCbtest
|
||||
%%DATADIR%%/TESTING/xFbtest
|
||||
%%DATADIR%%/TESTING/xcbrd
|
||||
%%DATADIR%%/TESTING/xcdblu
|
||||
%%DATADIR%%/TESTING/xcdtlu
|
||||
|
|
Loading…
Reference in a new issue