From 40705ae47e6bdfac6e6289d28c0f17188358873f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20K=C3=B6cher?= Date: Tue, 20 Dec 2016 16:41:42 +0100 Subject: [PATCH] SuperLU_dist: v5.1.2 with simpler cmake and shared-lib interface; trilinos: superlu and explicit inst. --- .../packages/superlu_dist.package | 86 ++----------------- deal.II-toolchain/packages/trilinos.package | 11 +-- 2 files changed, 14 insertions(+), 83 deletions(-) diff --git a/deal.II-toolchain/packages/superlu_dist.package b/deal.II-toolchain/packages/superlu_dist.package index 68834a7..0155940 100644 --- a/deal.II-toolchain/packages/superlu_dist.package +++ b/deal.II-toolchain/packages/superlu_dist.package @@ -1,88 +1,18 @@ -VERSION=4.1 +VERSION=5.1.2 NAME=superlu_dist_${VERSION} EXTRACTSTO=SuperLU_DIST_${VERSION} SOURCE=http://crd-legacy.lbl.gov/~xiaoye/SuperLU/ PACKING=.tar.gz -CHECKSUM=4edee38cc29f687bd0c8eb361096a455 -BUILDCHAIN=custom +CHECKSUM=0a99bbb5f6c26a9c1d7ab17ea35d4e6f +BUILDCHAIN=cmake INSTALL_PATH=${INSTALL_PATH}/${NAME} -package_specific_build() { - cp -rf ${UNPACK_PATH}/${EXTRACTSTO}/* . - - patch -p1 --forward < ${ORIG_DIR}/${PROJECT}/patches/SuperLU_DIST_4.1.patch || true - - mv make.inc make.inc.bak - #create make.inc -echo "# The machine (platform) identifier to append to the library names -# -PLAT = _x86_64 - -# -# The name of the libraries to be created/linked to -# -DSuperLUroot = ${INSTALL_PATH} -DSUPERLULIBNAME = libsuperlu_dist -DSUPERLULIBDIR = \$(DSuperLUroot)/lib -DSUPERLULIB = \$(DSUPERLULIBDIR)/\$(DSUPERLULIBNAME) - -# -BLASDEF = -DUSE_VENDOR_BLAS -BLASLIB = -lblas - -## parmetis 4.x.x -METISLIB = -L${PARMETIS_DIR}/lib -lmetis -PARMETISLIB = -L${PARMETIS_DIR}/lib -lparmetis -I_PARMETIS = -I${PARMETIS_DIR}/include - -# Define the required Fortran libraries, if you use C compiler to link -#FLIBS = -lpgf90 -lpgf90_rpm1 - -# Define all the libraries -LIBS = \$(DSUPERLULIB) \$(BLASLIB) \$(PARMETISLIB) \$(METISLIB) \$(FLIBS) - -# -# The archiver and the flag(s) to use when building archive (library) -# If your system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS = cr -RANLIB = ranlib - -############################################################################ -# C compiler setup -# CFLAGS should be set to be the C flags that include optimization -CFLAGS = -fPIC -std=c99 \$(I_PARMETIS) -DDEBUGlevel=0 -DPRNTlevel=1 -DPROFlevel=0 -# -# NOOPTS should be set to be the C flags that turn off any optimization -NOOPTS = -fPIC -std=c99 -O0 -############################################################################ -# FORTRAN compiler setup -FORTRAN = \$(FC) -#F90FLAGS = -fast -Mipa=fast,safe -############################################################################ -LOADER = \$(CC) -#LOADOPTS = -fast -############################################################################ -# C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase) -# -# Need follow the convention of how C calls a Fortran routine. -# -CDEFS = -DAdd_ -" >> make.inc - - # prepare install dirs - mkdir -p ${INSTALL_PATH} - mkdir -p ${INSTALL_PATH}/lib - - # now compile superlu_dist - make superlulib - quit_if_fail "superlu_dist make superlulib failed" - - mkdir -p ${INSTALL_PATH}/include/superlu - cp SRC/*.h ${INSTALL_PATH}/include/superlu -} +CONFOPTS=" \ + -D TPL_PARMETIS_INCLUDE_DIRS:PATH=${PARMETIS_DIR}/include \ + -D TPL_PARMETIS_LIBRARIES:FILEPATH=${PARMETIS_DIR}/lib/libparmetis.so \ + -D CMAKE_C_FLAGS:STRING=\"-std=c99 -fPIC\" \ + -D BUILD_SHARED_LIBS:BOOL=ON" package_specific_register () { export SUPERLU_DIR=${INSTALL_PATH} diff --git a/deal.II-toolchain/packages/trilinos.package b/deal.II-toolchain/packages/trilinos.package index 76a8e13..22b3517 100644 --- a/deal.II-toolchain/packages/trilinos.package +++ b/deal.II-toolchain/packages/trilinos.package @@ -121,10 +121,11 @@ if [ ! -z "${SUPERLU_DIR}" ]; then CONFOPTS="\ ${CONFOPTS} \ -D TPL_ENABLE_SuperLUDist:BOOL=ON \ - -D Teuchos_ENABLE_COMPLEX:BOOL=OFF \ + -D Teuchos_ENABLE_COMPLEX:BOOL=OFF \ -D TPL_SuperLUDist_LIBRARIES:FILEPATH=${SUPERLU_DIR}/lib/libsuperlu_dist.so \ - -D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLU_DIR}/include/superlu \ - -D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG:BOOL=ON" + -D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLU_DIR}/include \ + -D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG:BOOL=ON \ + -D HAVE_SUPERLUDIST_ENUM_NAMESPACE:BOOL=ON" fi ######################################################################### @@ -135,15 +136,15 @@ CONFOPTS="${TRILINOS_CONFOPTS} \ -D TPL_ENABLE_MPI:BOOL=ON \ -D Trilinos_ENABLE_OpenMP:BOOL=OFF \ -D TPL_ENABLE_TBB:BOOL=OFF \ - -D Trilinos_ENABLE_Didasko:BOOL=ON \ + -D Trilinos_VERBOSE_CONFIGURE:BOOL=FALSE \ -D Trilinos_ENABLE_Sacado:BOOL=ON \ -D Trilinos_ENABLE_Stratimikos:BOOL=ON \ -D Trilinos_ENABLE_Belos:BOOL=ON \ -D Trilinos_ENABLE_MueLu:BOOL=ON \ -D Trilinos_ENABLE_Amesos2:BOOL=ON \ + -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \ -D CMAKE_BUILD_TYPE:STRING=RELEASE \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE \ - -D Trilinos_VERBOSE_CONFIGURE:BOOL=FALSE \ -D BUILD_SHARED_LIBS:BOOL=ON" package_specific_register () { -- 2.39.5