aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@fb53df36-e548-4a1e-8150-ab98cbd5e786>2010-03-22 17:26:31 +0000
committerschnetter <schnetter@fb53df36-e548-4a1e-8150-ab98cbd5e786>2010-03-22 17:26:31 +0000
commit82cf830eb961ba1ffbcbd335092db22a25c1ebd9 (patch)
tree048cfa9495f997ea67be0d776271d7216d390162
parent96c91e7ff3c06585d520e321ed4a75901d4dbf9e (diff)
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
-rw-r--r--HDF5.sh68
-rw-r--r--configuration.ccl1
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
}