+################################################################################
+## TRILINOS ##
+################################################################################
+
if [ -z "${TRILINOS_MAJOR_VERSION}" ]; then
TRILINOS_MAJOR_VERSION=AUTO
fi
VERSION=12-18-1
CHECKSUM=9c1d151169949bca6cf203831e4d6aee
- #VERSION=12-14-1
- #CHECKSUM=de912cca43c2ca3b74aa08528ac39dbd
+ # VERSION=12-14-1
+ # CHECKSUM=de912cca43c2ca3b74aa08528ac39dbd
- #VERSION=12-12-1
- #CHECKSUM=ecd4606fa332212433c98bf950a69cc7
+ # VERSION=12-12-1
+ # CHECKSUM=ecd4606fa332212433c98bf950a69cc7
# note: the official trilinos tarball changed md5sum but we confirmed that the contents is
# identical. We accept both hashes here.
- #VERSION=12-10-1
- #CHECKSUM="667333dbd7c0f031d47d7c5511fd0810 40f28628b63310f9bd17c26d9ebe32b1"
+ # VERSION=12-10-1
+ # CHECKSUM="667333dbd7c0f031d47d7c5511fd0810 40f28628b63310f9bd17c26d9ebe32b1"
- #VERSION=12-4-2
- #CHECKSUM=4c25a757d86bde3531090bd900a2cea8
+ # VERSION=12-4-2
+ # CHECKSUM=4c25a757d86bde3531090bd900a2cea8
SOURCE=https://github.com/trilinos/Trilinos/archive/
NAME=trilinos-release-${VERSION}
NAME=trilinos-release-${VERSION}
EXTRACTSTO=Trilinos-trilinos-release-${VERSION}
PACKING=.tar.gz
-
else
cecho ${BAD} "Unknown Trilinos version ${TRILINOS_MAJOR_VERSION} forced, please use AUTO|12|11."
exit
INSTALL_PATH=${INSTALL_PATH}/${NAME}
-#########################################################################
+################################################################################
# If you have further options for trilinos, please set:
#TRILINOS_CONFOPTS=""
-#########################################################################
+################################################################################
# Please do not change the following options
# Set blas and lapack directories
if [ ! -z "${BLAS_DIR}" ]; then
cecho ${INFO} "trilinos: configuration with BLAS_DIR=${BLAS_DIR}"
- CONFOPTS="\
- ${CONFOPTS} \
- -D BLAS_LIBRARY_DIRS:STRING=${BLAS_DIR}"
+ CONFOPTS="${CONFOPTS} \
+ -D BLAS_LIBRARY_DIRS:STRING=${BLAS_DIR}"
fi
if [ ! -z "${LAPACK_DIR}" ]; then
cecho ${INFO} "trilinos: configuration with LAPACK_DIR=${LAPACK_DIR}"
- CONFOPTS="
- ${CONFOPTS} \
- -D LAPACK_LIBRARY_DIRS:STRING=${LAPACK_DIR}"
+ CONFOPTS="${CONFOPTS} \
+ -D LAPACK_LIBRARY_DIRS:STRING=${LAPACK_DIR}"
fi
# Set intel MKL options
if [ -z "${BLAS_DIR}" ] && [ -z "${LAPACK_DIR}" ]; then
cecho ${INFO} "trilinos: configuration with BLAS_DIR=${MKL_DIR}"
cecho ${INFO} "trilinos: configuration with LAPACK_DIR=${MKL_DIR}"
- CONFOPTS=" \
- ${CONFOPTS} \
- -D BLAS_LIBRARY_DIRS:STRING=${MKL_DIR} \
- -D LAPACK_LIBRARY_DIRS:STRING=${MKL_DIR}"
+ CONFOPTS="${CONFOPTS} \
+ -D BLAS_LIBRARY_DIRS:STRING=${MKL_DIR} \
+ -D LAPACK_LIBRARY_DIRS:STRING=${MKL_DIR}"
fi
# Trilinos will complain that MKL does not support HAVE_TEUCHOS_BLASFLOAT. See
# the discussion in https://github.com/dealii/candi/pull/92 for more details.
cecho ${INFO} "trilinos: disabling some Tpetra instantiations because you are using MKL"
- CONFOPTS=" \
- ${CONFOPTS} \
- -D BLAS_LIBRARY_NAMES:STRING='mkl_core;mkl_sequential' \
- -D Tpetra_INST_FLOAT=OFF \
- -D Tpetra_INST_COMPLEX_FLOAT=OFF \
- -D LAPACK_LIBRARY_NAMES:STRING=mkl_intel_lp64"
-
+ CONFOPTS="${CONFOPTS} \
+ -D BLAS_LIBRARY_NAMES:STRING='mkl_core;mkl_sequential' \
+ -D Tpetra_INST_FLOAT:BOOL=OFF \
+ -D Tpetra_INST_COMPLEX_FLOAT:BOOL=OFF \
+ -D LAPACK_LIBRARY_NAMES:STRING=mkl_intel_lp64"
else
if [ ! -z "${BLAS_LIB}" ]; then
# We need to specify the full name if using openblas.package:
cecho ${INFO} "trilinos: configuration with BLAS_LIB=${BLAS_LIB}"
- CONFOPTS="
- ${CONFOPTS} \
- -D TPL_BLAS_LIBRARIES:STRING=${BLAS_LIB} \
- -D TPL_LAPACK_LIBRARIES:STRING=${BLAS_LIB}"
+ CONFOPTS="${CONFOPTS} \
+ -D TPL_BLAS_LIBRARIES:STRING=${BLAS_LIB} \
+ -D TPL_LAPACK_LIBRARIES:STRING=${BLAS_LIB}"
fi
fi
# Set compilers & compiler options
if [ ! -z "${CC}" ]; then
- CONFOPTS="\
- ${CONFOPTS} \
- -D CMAKE_C_COMPILER=${CC}"
+ CONFOPTS="${CONFOPTS} \
+ -D CMAKE_C_COMPILER=${CC}"
fi
if [ ! -z "${CXX}" ]; then
- CONFOPTS="\
- ${CONFOPTS} \
- -D CMAKE_CXX_COMPILER=${CXX}"
+ CONFOPTS="${CONFOPTS} \
+ -D CMAKE_CXX_COMPILER=${CXX}"
fi
if [ ! -z "${FC}" ]; then
- CONFOPTS="\
- ${CONFOPTS} \
- -D CMAKE_Fortran_COMPILER=${FC}"
+ CONFOPTS="${CONFOPTS} \
+ -D CMAKE_Fortran_COMPILER=${FC}"
fi
CONFOPTS="${CONFOPTS} \
- -D CMAKE_CXX_FLAGS:STRING=-fPIC -g -O3 \
- -D CMAKE_C_FLAGS:STRING=-fPIC -g -O3 \
- -D CMAKE_FORTRAN_FLAGS:STRING=-g -O5 \
- -D Trilinos_EXTRA_LINK_FLAGS:STRING=-lgfortran"
+ -D CMAKE_CXX_FLAGS:STRING=-fPIC -g -O3 \
+ -D CMAKE_C_FLAGS:STRING=-fPIC -g -O3 \
+ -D CMAKE_FORTRAN_FLAGS:STRING=-g -O5 \
+ -D Trilinos_EXTRA_LINK_FLAGS:STRING=-lgfortran"
# Add ParMETIS, if present
if [ ! -z "${PARMETIS_DIR}" ]; then
cecho ${INFO} "trilinos: configuration with ParMETIS"
-
+
# NOTE: if parmetis v4.0.3 is not found, but installed, add
# -D HAVE_PARMETIS_VERSION_4_0_3=ON"
-
- CONFOPTS="\
- ${CONFOPTS} \
- ${TRILINOS_PARMETIS_CONFOPTS} \
- -D TPL_ENABLE_ParMETIS:BOOL=ON \
- -D TPL_ParMETIS_LIBRARIES:FILEPATH='${PARMETIS_DIR}/lib/libparmetis.${LDSUFFIX};${PARMETIS_DIR}/lib/libmetis.${LDSUFFIX}' \
- -D TPL_ParMETIS_INCLUDE_DIRS:PATH=${PARMETIS_DIR}/include"
+
+ CONFOPTS="${CONFOPTS} \
+ ${TRILINOS_PARMETIS_CONFOPTS} \
+ -D TPL_ENABLE_ParMETIS:BOOL=ON \
+ -D TPL_ParMETIS_LIBRARIES:FILEPATH='${PARMETIS_DIR}/lib/libparmetis.${LDSUFFIX};${PARMETIS_DIR}/lib/libmetis.${LDSUFFIX}' \
+ -D TPL_ParMETIS_INCLUDE_DIRS:PATH=${PARMETIS_DIR}/include"
fi
# Add SuperLU_dist, if present
if [ ! -z "${SUPERLU_DIR}" ]; then
cecho ${INFO} "trilinos: configuration with SuperLU_dist"
-
- CONFOPTS="\
- ${CONFOPTS} \
- -D TPL_ENABLE_SuperLUDist:BOOL=ON \
- -D TPL_SuperLUDist_LIBRARIES:FILEPATH=${SUPERLU_DIR}/lib/libsuperlu_dist.${LDSUFFIX} \
- -D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLU_DIR}/include \
- -D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG:BOOL=ON \
- -D HAVE_SUPERLUDIST_ENUM_NAMESPACE:BOOL=ON"
+
+ CONFOPTS="${CONFOPTS} \
+ -D TPL_ENABLE_SuperLUDist:BOOL=ON \
+ -D TPL_SuperLUDist_LIBRARIES:FILEPATH=${SUPERLU_DIR}/lib/libsuperlu_dist.${LDSUFFIX} \
+ -D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLU_DIR}/include \
+ -D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG:BOOL=ON \
+ -D HAVE_SUPERLUDIST_ENUM_NAMESPACE:BOOL=ON"
fi
#########################################################################
# General Trilinos configuration
-CONFOPTS="-D TPL_ENABLE_MPI:BOOL=ON \
- -D Trilinos_ENABLE_OpenMP:BOOL=OFF \
- -D TPL_ENABLE_TBB:BOOL=OFF \
- -D Trilinos_VERBOSE_CONFIGURE:BOOL=FALSE \
- -D Trilinos_ENABLE_Amesos=ON \
- -D Trilinos_ENABLE_Epetra=ON \
- -D Trilinos_ENABLE_EpetraExt=ON \
- -D Trilinos_ENABLE_Ifpack=ON \
- -D Trilinos_ENABLE_Ifpack2=OFF \
- -D Trilinos_ENABLE_Tpetra=ON \
- -D Tpetra_INST_DOUBLE=ON \
- -D Tpetra_INST_INT_LONG=ON \
- -D Tpetra_INST_COMPLEX_DOUBLE=ON \
- -D Tpetra_INST_COMPLEX_FLOAT=ON \
- -D Tpetra_INST_FLOAT=ON \
- -D Tpetra_INST_SERIAL=ON \
- -D Trilinos_ENABLE_AztecOO=ON \
- -D Trilinos_ENABLE_Sacado=ON \
- -D Trilinos_ENABLE_Teuchos=ON \
- -D Teuchos_ENABLE_COMPLEX:BOOL=ON \
- -D Teuchos_ENABLE_FLOAT:BOOL=ON \
- -D Trilinos_ENABLE_MueLu=ON \
- -D Trilinos_ENABLE_ML=ON \
- -D Trilinos_ENABLE_ROL=ON \
- -D Trilinos_ENABLE_Zoltan=ON \
- -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
- -D TPL_ENABLE_Boost=OFF \
- -D Trilinos_ENABLE_Belos:BOOL=ON \
- -D Trilinos_ENABLE_Amesos2:BOOL=ON \
- -D CMAKE_BUILD_TYPE:STRING=RELEASE \
- -D CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE \
- -D BUILD_SHARED_LIBS:BOOL=ON \
- ${CONFOPTS} \
- ${TRILINOS_CONFOPTS}"
+CONFOPTS="\
+ -D TPL_ENABLE_MPI:BOOL=ON \
+ -D Trilinos_ENABLE_OpenMP:BOOL=OFF \
+ -D TPL_ENABLE_TBB:BOOL=OFF \
+ -D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \
+ -D Trilinos_ENABLE_Amesos:BOOL=ON \
+ -D Trilinos_ENABLE_Epetra:BOOL=ON \
+ -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
+ -D Trilinos_ENABLE_Ifpack:BOOL=ON \
+ -D Trilinos_ENABLE_Ifpack2:BOOL=OFF \
+ -D Trilinos_ENABLE_Tpetra:BOOL=ON \
+ -D Tpetra_INST_DOUBLE:BOOL=ON \
+ -D Tpetra_INST_INT_LONG:BOOL=ON \
+ -D Tpetra_INST_COMPLEX_DOUBLE:BOOL=ON \
+ -D Tpetra_INST_COMPLEX_FLOAT:BOOL=ON \
+ -D Tpetra_INST_FLOAT:BOOL=ON \
+ -D Tpetra_INST_SERIAL:BOOL=ON \
+ -D Trilinos_ENABLE_AztecOO:BOOL=ON \
+ -D Trilinos_ENABLE_Sacado:BOOL=ON \
+ -D Trilinos_ENABLE_Teuchos:BOOL=ON \
+ -D Teuchos_ENABLE_COMPLEX:BOOL=ON \
+ -D Teuchos_ENABLE_FLOAT:BOOL=ON \
+ -D Trilinos_ENABLE_MueLu:BOOL=ON \
+ -D Trilinos_ENABLE_ML:BOOL=ON \
+ -D Trilinos_ENABLE_ROL:BOOL=ON \
+ -D Trilinos_ENABLE_Zoltan:BOOL=ON \
+ -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
+ -D TPL_ENABLE_Boost:BOOL=OFF \
+ -D Trilinos_ENABLE_Belos:BOOL=ON \
+ -D Trilinos_ENABLE_Amesos2:BOOL=ON \
+ -D CMAKE_BUILD_TYPE:STRING=RELEASE \
+ -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
+ -D BUILD_SHARED_LIBS:BOOL=ON \
+ ${CONFOPTS} \
+ ${TRILINOS_CONFOPTS}"
package_specific_register () {
export TRILINOS_DIR=${INSTALL_PATH}