sit/packages/numlib/petsc/3.4.0
2024-03-28 02:45:19 +01:00

64 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
# sit class file
#
# Christoph Niethammer <niethammer@hlrs.de> (C) 2012
#
# sit command for intel:
# PREFIX_BASE=/opt COMPILER=intel COMPILER_VERSION=13.1.2 MPI=impi MPI_VERSION=4.1.1.036 ./sit numlib/petsc/petsc-3.4.0
#
# sit command for gnu:
# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.7.3 MPI=openmpi MPI_VERSION=1.6.4 ./sit numlib/petsc/3.4.0
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
}