aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknarf <knarf@9e23cc15-e5c8-4d65-9080-beda90ea645b>2010-10-14 02:55:53 +0000
committerknarf <knarf@9e23cc15-e5c8-4d65-9080-beda90ea645b>2010-10-14 02:55:53 +0000
commit957d06868d6f093dd3c3bd662b24b1ca975493cd (patch)
tree2230b978562b39fa0283309cfa23d354f9391f71
parent0850615aef8aedf046ec05e070df994a8c556b6e (diff)
cleanup build script, update to gsl-1.14
git-svn-id: http://svn.cactuscode.org/projects/ExternalLibraries/GSL/trunk@14 9e23cc15-e5c8-4d65-9080-beda90ea645b
-rw-r--r--GSL.sh72
-rw-r--r--dist/gsl-1.12.tar.gzbin2924732 -> 0 bytes
-rw-r--r--dist/gsl-1.14.tar.gzbin0 -> 3128269 bytes
3 files changed, 41 insertions, 31 deletions
diff --git a/GSL.sh b/GSL.sh
index d5ce5c0..6ad488e 100644
--- a/GSL.sh
+++ b/GSL.sh
@@ -21,13 +21,17 @@ if [ -z "${GSL_DIR}" ]; then
FILES="include/gsl/gsl_math.h"
DIRS="/usr /usr/local /usr/local/gsl /usr/local/packages/gsl /usr/local/apps/gsl ${HOME} c:/packages/gsl"
- for file in $FILES; do
- for dir in $DIRS; do
- if test -r "$dir/$file"; then
- GSL_DIR="$dir"
+ for dir in $DIRS; do
+ GSL_DIR="$dir"
+ for file in $FILES; do
+ if [ ! -r "$dir/$file" ]; then
+ unset GSL_DIR
break
fi
done
+ if [ -n "$GSL_DIR" ]; then
+ break
+ fi
done
if [ -z "$GSL_DIR" ]; then
@@ -47,30 +51,27 @@ fi
# Build
################################################################################
-if [ -z "${GSL_DIR}" ]; then
+if [ -z "${GSL_DIR}" -o "${GSL_DIR}" = 'BUILD' ]; then
echo "BEGIN MESSAGE"
echo "Building GSL..."
echo "END MESSAGE"
# Set locations
- NAME=gsl-1.12
+ THORN=GSL
+ NAME=gsl-1.14
SRCDIR=$(dirname $0)
- INSTALL_DIR=${SCRATCH_BUILD}
- GSL_DIR=${INSTALL_DIR}/${NAME}
-
- # Set up environment
- unset LIBS
- if echo '' ${ARFLAGS} | grep 64 > /dev/null 2>&1; then
- export OBJECT_MODE=64
- fi
+ BUILD_DIR=${SCRATCH_BUILD}/build/${THORN}
+ INSTALL_DIR=${SCRATCH_BUILD}/external/${THORN}
+ DONE_FILE=${SCRATCH_BUILD}/done/${THORN}
+ GSL_DIR=${INSTALL_DIR}
(
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}/GSL.sh ]
+ cd ${SCRATCH_BUILD}
+ if [ -e ${DONE_FILE} -a ${DONE_FILE} -nt ${SRCDIR}/dist/${NAME}.tar.gz \
+ -a ${DONE_FILE} -nt ${SRCDIR}/GSL.sh ]
then
echo "GSL: The enclosed GSL library has already been built; doing nothing"
else
@@ -78,20 +79,26 @@ if [ -z "${GSL_DIR}" ]; then
# Should we use gmake or make?
MAKE=$(gmake --help > /dev/null 2>&1 && echo gmake || echo make)
-
- 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)
+
+ # Set up environment
+ unset LIBS
+ if echo '' ${ARFLAGS} | grep 64 > /dev/null 2>&1; then
+ export OBJECT_MODE=64
+ fi
+
+ echo "GSL: Preparing directory structure..."
+ mkdir build external done 2> /dev/null || true
+ rm -rf ${BUILD_DIR} ${INSTALL_DIR}
+ mkdir ${BUILD_DIR} ${INSTALL_DIR}
+
+ echo "GSL: Unpacking archive..."
+ pushd ${BUILD_DIR}
${TAR} xzf ${SRCDIR}/dist/${NAME}.tar.gz
- popd
echo "GSL: Configuring..."
- rm -rf ${NAME}
- mkdir ${NAME}
- pushd build-${NAME}/${NAME}
+ cd ${NAME}
./configure --prefix=${GSL_DIR}
echo "GSL: Building..."
@@ -101,14 +108,17 @@ if [ -z "${GSL_DIR}" ]; then
${MAKE} install
popd
- echo 'done' > done-${NAME}
+ echo "GSL: Cleaning up..."
+ rm -rf ${BUILD_DIR}
+
+ date > ${DONE_FILE}
echo "GSL: Done."
fi
)
if (( $? )); then
echo 'BEGIN ERROR'
- echo 'Error while building GSL. Aborting.'
+ echo 'Error while building GSL. Aborting.'
echo 'END ERROR'
exit 1
fi
@@ -123,9 +133,9 @@ fi
# Set options
if [ -x ${GSL_DIR}/bin/gsl-config ]; then
- GSL_INC_DIRS=`${GSL_DIR}/bin/gsl-config --cflags | sed -e 's/ \+-[^I][^ ]\+//g;s/^ *-[^I][^ ]\+ *//g;s/ \+-I/ /g;s/^ *-I//g'`;
- GSL_LIB_DIRS=`${GSL_DIR}/bin/gsl-config --libs | sed -e 's/ \+-[^L][^ ]\+//g;s/^ *-[^L][^ ]\+ *//g;s/ \+-L/ /g;s/^ *-L//g'`;
- GSL_LIBS=`${GSL_DIR}/bin/gsl-config --libs | sed -e 's/ \+-[^l][^ ]\+//g;s/^ *-[^l][^ ]\+ *//g;s/ \+-l/ /g;s/^ *-l//g'`;
+ GSL_INC_DIRS=`${GSL_DIR}/bin/gsl-config --cflags | sed -e 's/ \+-[^I][^ ]\+//g;s/^ *-[^I][^ ]\+ *//g;s/ \+-I/ /g;s/^ *-I//g'`;
+ GSL_LIB_DIRS=`${GSL_DIR}/bin/gsl-config --libs | sed -e 's/ \+-[^L][^ ]\+//g;s/^ *-[^L][^ ]\+ *//g;s/ \+-L/ /g;s/^ *-L//g'`;
+ GSL_LIBS=`${GSL_DIR}/bin/gsl-config --libs | sed -e 's/ \+-[^l][^ ]\+//g;s/^ *-[^l][^ ]\+ *//g;s/ \+-l/ /g;s/^ *-l//g'`;
fi
# Pass options to Cactus
diff --git a/dist/gsl-1.12.tar.gz b/dist/gsl-1.12.tar.gz
deleted file mode 100644
index 01d3577..0000000
--- a/dist/gsl-1.12.tar.gz
+++ /dev/null
Binary files differ
diff --git a/dist/gsl-1.14.tar.gz b/dist/gsl-1.14.tar.gz
new file mode 100644
index 0000000..062c9fd
--- /dev/null
+++ b/dist/gsl-1.14.tar.gz
Binary files differ