aboutsummaryrefslogtreecommitdiff
path: root/GSL.sh
diff options
context:
space:
mode:
Diffstat (limited to 'GSL.sh')
-rw-r--r--GSL.sh85
1 files changed, 85 insertions, 0 deletions
diff --git a/GSL.sh b/GSL.sh
new file mode 100644
index 0000000..9bdbfad
--- /dev/null
+++ b/GSL.sh
@@ -0,0 +1,85 @@
+#! /bin/bash
+
+################################################################################
+# Prepare
+################################################################################
+
+# Set up shell
+set -x # Output commands
+set -e # Abort on errors
+
+# Set locations
+NAME=gsl-1.12
+SRCDIR=$(dirname $0)
+INSTALL_DIR=${SCRATCH_BUILD}
+GSL_DIR=${INSTALL_DIR}/${NAME}
+
+# Clean up environment
+unset LIBS
+
+
+
+################################################################################
+# Build
+################################################################################
+
+(
+ 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 ]; then
+ echo "GSL: The enclosed GSL library has already been built; doing nothing"
+ else
+ echo "GSL: Building enclosed GSL library"
+
+ echo "GSL: Unpacking archive..."
+ rm -rf build-${NAME}
+ mkdir build-${NAME}
+ pushd build-${NAME}
+ # Should we use gtar or tar?
+ TAR=$(gtar --help > /dev/null 2> /dev/null && echo gtar || echo tar)
+ ${TAR} xzf ${SRCDIR}/dist/${NAME}.tar.gz
+ popd
+
+ echo "GSL: Configuring..."
+ rm -rf ${NAME}
+ mkdir ${NAME}
+ pushd build-${NAME}/${NAME}
+ ./configure --prefix=${GSL_DIR}
+
+ echo "GSL: Building..."
+ make
+
+ echo "GSL: Installing..."
+ make install
+ popd
+
+ : > done-${NAME}
+ echo "GSL: Done."
+ fi
+)
+
+
+
+################################################################################
+# Configure Cactus
+################################################################################
+
+# Set options
+GSL_INC_DIRS="${GSL_DIR}/include"
+GSL_LIB_DIRS="${GSL_DIR}/lib"
+GSL_LIBS='gsl gslcblas'
+
+# Pass options to Cactus
+echo "BEGIN MAKE_DEFINITION"
+echo "HAVE_GSL = 1"
+echo "GSL_DIR = ${GSL_DIR}"
+echo "GSL_INC_DIRS = ${GSL_INC_DIRS}"
+echo "GSL_LIB_DIRS = ${GSL_LIB_DIRS}"
+echo "GSL_LIBS = ${GSL_LIBS}"
+echo "END MAKE_DEFINITION"
+
+echo 'INCLUDE_DIRECTORY $(GSL_INC_DIRS)'
+echo 'LIBRARY_DIRECTORY $(GSL_LIB_DIRS)'
+echo 'LIBRARY $(GSL_LIBS)'