sit/packages/numlib/petsc/3.4.0

60 lines
1.3 KiB
Text
Raw Normal View History

#!/bin/sh
# sit class file
#
# Christoph Niethammer <niethammer@hlrs.de> (C) 2012
#
CATEGORY="numlib"
PACKAGE="petsc"
VERSION="3.4.0"
URL="http://www.mcs.anl.gov/petsc/"
INSTALLER="Elke Flehmig <flehmig@hlrs.de>"
#module load tools/cmake/2.8.11.1
# Archive A and package name P
A=${PACKAGE}-${VERSION}.tar.gz
P=${PACKAGE}-${VERSION}
# our petsc default config: 32bit real double precision
# blas_lapack: with intel compiler, use intel's mkl instead
case $COMPILER in
gnu)
ARCH=linux-gnu
BLAS_LAPACK="--download-f-blas-lapack=$SRC_POOL/fblaslapack-3.1.1.tar.gz"
;;
intel)
ARCH=linux-gnu-intel
module load numlib/intel/mkl/11.0
BLAS_LAPACK="--with-blas-lapack-dir=/opt/compiler/intel/composer_xe_2013-2-146/composer_xe_2013/mkl/lib/intel64"
;;
esac
# Other interesting configure options:
# --enable-mpi-threads
# --enable-progress-threads
CONFIGURE_OPTS="
--CC=$MPICC --CXX=$MPICXX --FC=$MPIFC \
--with-mpiexec=mpirun \
PETSC_ARCH=$ARCH \
--with-clanguage=cxx \
--with-c-support \
--with-fortran-datatypes=1 \
$BLAS_LAPACK \
"
# default is make -j, which doesn't work here!
#(petsc automatically builds parallel)
MAKEOPTS=""
BUILDDIR=$SRCDIR
src_prepare() {
export PETSC_DIR=${SRCDIR}
}
src_pretest() {
make PETSC_DIR=$SRCDIR PETSC_ARCH=$ARCH test
}