From d03c33d83495e00b8296206ebc2f6cd7dfae1082 Mon Sep 17 00:00:00 2001 From: Elke Flehmig Date: Mon, 26 Jan 2015 09:10:49 +0000 Subject: [PATCH] trilinos script --- packages/numlib/trilinos/11.8.1 | 118 ++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100755 packages/numlib/trilinos/11.8.1 diff --git a/packages/numlib/trilinos/11.8.1 b/packages/numlib/trilinos/11.8.1 new file mode 100755 index 0000000..187bf2b --- /dev/null +++ b/packages/numlib/trilinos/11.8.1 @@ -0,0 +1,118 @@ +#!/bin/sh +# sit class file +# +# Christoph Niethammer (C) 2012 +# +# sit command: +# PREFIX_BASE=/opt ./sit numlib/trilinos/11.8.1 +# +# sit command for trilinos with mpi: +# PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.8.1 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/trilinos/11.8.1 + +CATEGORY="numlib" +PACKAGE="trilinos" +VERSION="11.8.1" +URL="http://trilinos.sandia.gov/" +INSTALLER="Elke Flehmig " + +# cmake 2.8 or higher is required +case $PLATFORM in + hermit|hermit1) + sit_fail "on hermit, trilinos is installed by cray!" + ;; +esac + +# now continue for laki + +module load tools/cmake/2.8.12 + +# Archive A and package name P +A=${PACKAGE}-${VERSION}-Source.tar.gz +P=${PACKAGE}-${VERSION}-Source + +src_configure() { + cd $BUILDDIR + export TRILINOS_PATH=$SRCDIR + +# export EXTRA_ARGS=$@ + export EXTRA_ARGS="" + +# Each invocation of CMake caches the values of build options in a +# CMakeCache.txt file. If you run CMake again without deleting the +# CMakeCache.txt file, CMake won't notice any build options that have +# changed, because it found their original values in the cache file. +# Deleting the CMakeCache.txt file before invoking CMake will insure +# that CMake learns about any build options you may have changed. +# +# not necessary because sit reruns clean up everything at first +# rm -f CMakeCache.txt +# +# A sampling of CMake build options. +# +# CMAKE_INSTALL_PREFIX: Where to install Trilinos. +# CMAKE_BUILD_TYPE: DEBUG or RELEASE. +# CMAKE_CXX_COMPILER: The C++ compiler to use when building Trilinos. +# CMAKE_C_COMPILER: The C compiler to use when building Trilinos. +# Some parts of Trilinos are implemented in C. +# CMAKE_Fortran_COMPILER: The Fortran compiler to use when building +# Trilinos. Some parts of Trilinos are implemented in Fortran. +# HAVE_GCC_ABI_DEMANGLE: Setting this option to ON improves +# debugging messages. +# CMAKE_VERBOSE_MAKEFILE: Set to OFF (or FALSE) if you prefer a quiet +# build. +# Trilinos_ENABLE_ALL_PACKAGES: If you like, you can build _all_ of +# Trilinos, but you don't have to. +# Trilinos_ENABLE_Epetra: If ON, build Epetra. +# Trilinos_ENABLE_Triutils: If ON, bulid Triutils. +# Trilinos_ENABLE_TESTS: If ON, build the tests for all packages that +# are to be built. +# Trilinos_ENABLE_EXAMPLES: If ON, build the examples for all +# packages that are to be built. + +if [ -z "$MPI" ] ; then + export CMAKE_ARGS=" + -D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \ + -D CMAKE_BUILD_TYPE:STRING=DEBUG \ + -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ \ + -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc \ + -D CMAKE_Fortran_COMPILER:FILEPATH=/usr/bin/gfortran \ + -D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \ + -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=ON \ + -D Trilinos_ENABLE_TESTS:BOOL=ON \ +" +# speed up the build process (default -j) + MAKEOPTS="-j4" + +else + export CMAKE_ARGS=" + -D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \ + -D CMAKE_BUILD_TYPE:STRING=DEBUG \ + -D CMAKE_CXX_COMPILER:FILEPATH=mpicxx \ + -D CMAKE_C_COMPILER:FILEPATH=mpicc \ + -D CMAKE_Fortran_COMPILER:FILEPATH=mpif90 \ + -D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \ + -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=ON \ + -D Trilinos_ENABLE_TESTS:BOOL=ON \ + -D TPL_ENABLE_MPI:BOOL=ON \ + -D MPI_BASE_DIR:PATH=/opt/mpi/$MPI/$MPI_VERSION \ +" +fi + +cmake \ + ${CMAKE_ARGS} \ + $EXTRA_ARGS \ + ${TRILINOS_PATH} +} + +src_pretest() { + make test $MAKEOPTS +} +sit_pretest() { + sit_info "Running pre installation tests ..." + cd ${BUILDDIR} + src_pretest || echo "!!! Pre installation tests failed, continuing anyway - may have to check test results before accepting installation!!!" +}