From 4880e51e5cc3182f21ec064991a22df636e2c117 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 10 Sep 2010 13:39:08 -0500 Subject: Nirvana: New thorn to distribute Nirvana library --- CarpetExtra/Nirvana/Nirvana.sh | 97 ++++++++++++++++++++++++++++++++ CarpetExtra/Nirvana/README | 14 +++++ CarpetExtra/Nirvana/configuration.ccl | 9 +++ CarpetExtra/Nirvana/dist/Nirvana.tar.gz | Bin 0 -> 19154 bytes CarpetExtra/Nirvana/dist/README | 2 + CarpetExtra/Nirvana/interface.ccl | 3 + CarpetExtra/Nirvana/param.ccl | 1 + CarpetExtra/Nirvana/schedule.ccl | 1 + CarpetExtra/Nirvana/src/make.code.defn | 7 +++ 9 files changed, 134 insertions(+) create mode 100644 CarpetExtra/Nirvana/Nirvana.sh create mode 100644 CarpetExtra/Nirvana/README create mode 100644 CarpetExtra/Nirvana/configuration.ccl create mode 100644 CarpetExtra/Nirvana/dist/Nirvana.tar.gz create mode 100644 CarpetExtra/Nirvana/dist/README create mode 100644 CarpetExtra/Nirvana/interface.ccl create mode 100644 CarpetExtra/Nirvana/param.ccl create mode 100644 CarpetExtra/Nirvana/schedule.ccl create mode 100644 CarpetExtra/Nirvana/src/make.code.defn (limited to 'CarpetExtra') diff --git a/CarpetExtra/Nirvana/Nirvana.sh b/CarpetExtra/Nirvana/Nirvana.sh new file mode 100644 index 000000000..346253a9f --- /dev/null +++ b/CarpetExtra/Nirvana/Nirvana.sh @@ -0,0 +1,97 @@ +#! /bin/bash + +################################################################################ +# Prepare +################################################################################ + +# Set up shell +set -x # Output commands +set -e # Abort on errors + + + +################################################################################ +# Build +################################################################################ + +echo "BEGIN MESSAGE" +echo "Building Nirvana..." +echo "END MESSAGE" + +# Set locations +NAME=Nirvana +SRCDIR=$(dirname $0) +INSTALL_DIR=${SCRATCH_BUILD} +NIRVANA_DIR=${INSTALL_DIR}/build-${NAME}/${NAME} + +# Set up environment +unset LIBS + +( + exec >&2 # Redirect stdout to stderr + set -x # Output commands + set -e # Abort on errors + cd ${INSTALL_DIR} + if [ -e done-${NAME} -a done-${NAME} -nt ${SRCDIR}/dist/${NAME}.tar.gz \ + -a done-${NAME} -nt ${SRCDIR}/Nirvana.sh ] + then + echo "Nirvana: The enclosed Nirvana library has already been built; doing nothing" + else + echo "Nirvana: Building enclosed Nirvana library" + + # Should we use gtar or tar? + TAR=$(gtar --help > /dev/null 2> /dev/null && echo gtar || echo tar) + + echo "Nirvana: Unpacking archive..." + rm -rf build-${NAME} + mkdir build-${NAME} + pushd build-${NAME} + ${TAR} xzf ${SRCDIR}/dist/${NAME}.tar.gz + popd + + echo "Nirvana: Building..." + pushd build-${NAME}/${NAME} + ${CXX} ${CPPFLAGS} ${CXXFLAGS} -c *.cc $(for dir in ${HDF5_INC_DIRS}; do echo -I${dir}; done) + ${AR} ${ARFLAGS} libNirvana.a *.o + if [ ${USE_RANLIB} = 'yes' ]; then + ${RANLIB} ${RANLIBFLAGS} libNirvana.a + fi + popd + + echo 'done' > done-${NAME} + echo "Nirvana: Done." + fi +) + +if (( $? )); then + echo 'BEGIN ERROR' + echo 'Error while building Nirvana. Aborting.' + echo 'END ERROR' + exit 1 +fi + + + +# Set options +NIRVANA_INC_DIRS="${NIRVANA_DIR}" +NIRVANA_LIB_DIRS="${NIRVANA_DIR}" +NIRVANA_LIBS='Nirvana' + + + +################################################################################ +# Configure Cactus +################################################################################ + +# Pass options to Cactus +echo "BEGIN MAKE_DEFINITION" +echo "HAVE_NIRVANA = 1" +echo "NIRVANA_DIR = ${NIRVANA_DIR}" +echo "NIRVANA_INC_DIRS = ${NIRVANA_INC_DIRS}" +echo "NIRVANA_LIB_DIRS = ${NIRVANA_LIB_DIRS}" +echo "NIRVANA_LIBS = ${NIRVANA_LIBS}" +echo "END MAKE_DEFINITION" + +echo 'INCLUDE_DIRECTORY $(NIRVANA_INC_DIRS)' +echo 'LIBRARY_DIRECTORY $(NIRVANA_LIB_DIRS)' +echo 'LIBRARY $(NIRVANA_LIBS)' diff --git a/CarpetExtra/Nirvana/README b/CarpetExtra/Nirvana/README new file mode 100644 index 000000000..76bb14d6d --- /dev/null +++ b/CarpetExtra/Nirvana/README @@ -0,0 +1,14 @@ +Cactus Code Thorn Nirvana +Author(s) : Christian Reisswig, Erik Schnetter +Maintainer(s): Cactus team +Licence : LGPL +-------------------------------------------------------------------------- + +1. Purpose + +Distribute the Nirvana library. + +The Nirvana file format provides an API for reading and writing +simulation data, and is a particular way of storing any kind of +simulation data including its meta data using HDF5. High-level +routines are offered to store and retrieve data from Nirvana. diff --git a/CarpetExtra/Nirvana/configuration.ccl b/CarpetExtra/Nirvana/configuration.ccl new file mode 100644 index 000000000..7130e7db7 --- /dev/null +++ b/CarpetExtra/Nirvana/configuration.ccl @@ -0,0 +1,9 @@ +# Configuration definitions for thorn Nirvana + +PROVIDES Nirvana +{ + SCRIPT Nirvana.sh + LANG bash +} + +REQUIRES HDF5 diff --git a/CarpetExtra/Nirvana/dist/Nirvana.tar.gz b/CarpetExtra/Nirvana/dist/Nirvana.tar.gz new file mode 100644 index 000000000..0fba057cf Binary files /dev/null and b/CarpetExtra/Nirvana/dist/Nirvana.tar.gz differ diff --git a/CarpetExtra/Nirvana/dist/README b/CarpetExtra/Nirvana/dist/README new file mode 100644 index 000000000..77bf56325 --- /dev/null +++ b/CarpetExtra/Nirvana/dist/README @@ -0,0 +1,2 @@ +svn checkout --username developer http://www.nullinfinity.net:/repositories/Nirvana +tar czf Nirvana.tar.gz --exclude .svn Nirvana diff --git a/CarpetExtra/Nirvana/interface.ccl b/CarpetExtra/Nirvana/interface.ccl new file mode 100644 index 000000000..e9df65a4b --- /dev/null +++ b/CarpetExtra/Nirvana/interface.ccl @@ -0,0 +1,3 @@ +# Interface definition for thorn Nirvana + +IMPLEMENTS: Nirvana diff --git a/CarpetExtra/Nirvana/param.ccl b/CarpetExtra/Nirvana/param.ccl new file mode 100644 index 000000000..05d71f161 --- /dev/null +++ b/CarpetExtra/Nirvana/param.ccl @@ -0,0 +1 @@ +# Parameter definitions for thorn Nirvana diff --git a/CarpetExtra/Nirvana/schedule.ccl b/CarpetExtra/Nirvana/schedule.ccl new file mode 100644 index 000000000..004385079 --- /dev/null +++ b/CarpetExtra/Nirvana/schedule.ccl @@ -0,0 +1 @@ +# Schedule definitions for thorn Nirvana diff --git a/CarpetExtra/Nirvana/src/make.code.defn b/CarpetExtra/Nirvana/src/make.code.defn new file mode 100644 index 000000000..8137a1e8d --- /dev/null +++ b/CarpetExtra/Nirvana/src/make.code.defn @@ -0,0 +1,7 @@ +# Main make.code.defn file for thorn Nirvana + +# Source files in this directory +SRCS = + +# Subdirectories containing source files +SUBDIRS = -- cgit v1.2.3