From 82cf830eb961ba1ffbcbd335092db22a25c1ebd9 Mon Sep 17 00:00:00 2001 From: schnetter Date: Mon, 22 Mar 2010 17:26:31 +0000 Subject: Don't build HDF5 if it is already available on the system git-svn-id: http://svn.cactuscode.org/projects/ExternalLibraries/HDF5/trunk@8 fb53df36-e548-4a1e-8150-ab98cbd5e786 --- HDF5.sh | 68 +++++++++++++++++++++++++++++++++++++++++++------------ configuration.ccl | 1 + 2 files changed, 55 insertions(+), 14 deletions(-) diff --git a/HDF5.sh b/HDF5.sh index b77e2a4..54b2e49 100644 --- a/HDF5.sh +++ b/HDF5.sh @@ -8,15 +8,38 @@ set -x # Output commands set -e # Abort on errors -# Set locations -NAME=hdf5-1.8.4 -SRCDIR=$(dirname $0) -INSTALL_DIR=${SCRATCH_BUILD} -HDF5_DIR=${INSTALL_DIR}/${NAME} -# Clean up environment -unset LIBS -unset MAKEFLAGS + +################################################################################ +# Search +################################################################################ + +if [ -z "${HDF5_DIR}" ]; then + echo "BEGIN MESSAGE" + echo "HDF5 selected, but HDF5_DIR not set. Checking some places..." + echo "END MESSAGE" + + FILES="include/hdf5.h" + DIRS="/usr /usr/local /usr/local/hdf5 /usr/local/packages/hdf5 /usr/local/apps/hdf5 ${HOME} c:/packages/hdf5" + for file in $FILES; do + for dir in $DIRS; do + if test -r "$dir/$file"; then + HDF5_DIR="$dir" + break + fi + done + done + + if [ -z "$HDF5_DIR" ]; then + echo "BEGIN MESSAGE" + echo "HDF5 not found" + echo "END MESSAGE" + else + echo "BEGIN MESSAGE" + echo "Found HDF5 in ${HDF5_DIR}" + echo "END MESSAGE" + fi +fi @@ -24,6 +47,21 @@ unset MAKEFLAGS # Build ################################################################################ +if [ -z "${HDF5_DIR}" ]; then + echo "BEGIN MESSAGE" + echo "Building HDF5..." + echo "END MESSAGE" + + # Set locations + NAME=hdf5-1.8.4 + SRCDIR=$(dirname $0) + INSTALL_DIR=${SCRATCH_BUILD} + HDF5_DIR=${INSTALL_DIR}/${NAME} + + # Clean up environment + unset LIBS + unset MAKEFLAGS + ( exec >&2 # Redirect stdout to stderr set -x # Output commands @@ -62,12 +100,14 @@ unset MAKEFLAGS echo "HDF5: Done." fi ) - -if (( $? )); then - echo 'BEGIN ERROR' - echo 'Error while building HDF5. Aborting.' - echo 'END ERROR' - exit 1 + + if (( $? )); then + echo 'BEGIN ERROR' + echo 'Error while building HDF5. Aborting.' + echo 'END ERROR' + exit 1 + fi + fi diff --git a/configuration.ccl b/configuration.ccl index 0ebfac8..de8b1fd 100644 --- a/configuration.ccl +++ b/configuration.ccl @@ -4,4 +4,5 @@ PROVIDES HDF5 { SCRIPT HDF5.sh LANG bash + OPTIONS HDF5_DIR } -- cgit v1.2.3