From 05548f19dbe9e83dc68c4ac304d1aa33fc4df242 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 28 Dec 2018 11:35:49 +0100 Subject: Replace the detection mess with pkg-config. --- configure.sh | 159 ++--------------------------------------------------------- 1 file changed, 4 insertions(+), 155 deletions(-) diff --git a/configure.sh b/configure.sh index b586a9f..accaf5f 100644 --- a/configure.sh +++ b/configure.sh @@ -12,165 +12,14 @@ set -e # Abort on errors -################################################################################ -# Search -################################################################################ - -if [ -z "${LAPACK_DIR}" ]; then - echo "BEGIN MESSAGE" - echo "LAPACK selected, but LAPACK_DIR not set. Checking some places..." - echo "END MESSAGE" - - FILES="liblapack.a liblapack.so" - DIRS="/usr/lib /usr/local/lib /usr/lib64/atlas /usr/lib/atlas-base/atlas ${HOME}" - for file in $FILES; do - for dir in $DIRS; do - if test -r "$dir/$file"; then - LAPACK_DIR="$dir" - break - fi - done - done - - if [ -z "$LAPACK_DIR" ]; then - echo "BEGIN MESSAGE" - echo "LAPACK not found" - echo "END MESSAGE" - else - echo "BEGIN MESSAGE" - echo "Found LAPACK in ${LAPACK_DIR}" - echo "END MESSAGE" - fi -fi - - - -################################################################################ -# Build -################################################################################ - -if [ -z "${LAPACK_DIR}" \ - -o "$(echo "${LAPACK_DIR}" | tr '[a-z]' '[A-Z]')" = 'BUILD' ] -then - echo "BEGIN MESSAGE" - echo "Using bundled LAPACK..." - echo "END MESSAGE" - - # Set locations - THORN=LAPACK - NAME=lapack-3.4.2 - SRCDIR=$(dirname $0) - BUILD_DIR=${SCRATCH_BUILD}/build/${THORN} - if [ -z "${LAPACK_INSTALL_DIR}" ]; then - INSTALL_DIR=${SCRATCH_BUILD}/external/${THORN} - else - echo "BEGIN MESSAGE" - echo "Installing LAPACK into ${LAPACK_INSTALL_DIR}" - echo "END MESSAGE" - INSTALL_DIR=${LAPACK_INSTALL_DIR} - fi - DONE_FILE=${SCRATCH_BUILD}/done/${THORN} - LAPACK_DIR=${INSTALL_DIR} - - if [ "${F77}" = "none" ]; then - echo 'BEGIN ERROR' - echo "Building LAPACK requires a fortran compiler, but there is none configured: F77 = $F77. Aborting." - echo 'END ERROR' - exit 1 - fi - - if [ -e ${DONE_FILE} -a ${DONE_FILE} -nt ${SRCDIR}/dist/${NAME}.tar.gz \ - -a ${DONE_FILE} -nt ${SRCDIR}/configure.sh ] - then - echo "BEGIN MESSAGE" - echo "LAPACK has already been built; doing nothing" - echo "END MESSAGE" - else - echo "BEGIN MESSAGE" - echo "Building LAPACK" - echo "END MESSAGE" - - # Build in a subshell - ( - exec >&2 # Redirect stdout to stderr - if [ "$(echo ${VERBOSE} | tr '[:upper:]' '[:lower:]')" = 'yes' ]; then - set -x # Output commands - fi - set -e # Abort on errors - cd ${SCRATCH_BUILD} - - # Set up environment - unset LIBS - if [ ${USE_RANLIB} != 'yes' ]; then - RANLIB=': ranlib' - fi - - echo "LAPACK: Preparing directory structure..." - mkdir build external done 2> /dev/null || true - rm -rf ${BUILD_DIR} ${INSTALL_DIR} - mkdir ${BUILD_DIR} ${INSTALL_DIR} - - echo "LAPACK: Unpacking archive..." - pushd ${BUILD_DIR} - ${TAR?} xzf ${SRCDIR}/dist/${NAME}.tgz - - echo "LAPACK: Configuring..." - cd ${NAME}/SRC - - echo "LAPACK: Building..." - if echo ${F77} | grep -i xlf > /dev/null 2>&1; then - FIXEDF77FLAGS=-qfixed - fi - #${F77} ${F77FLAGS} ${FIXEDF77FLAGS} -c *.f ../INSTALL/dlamch.f ../INSTALL/ilaver.f ../INSTALL/lsame.f ../INSTALL/slamch.f - #${AR} ${ARFLAGS} liblapack.a *.o - #if [ ${USE_RANLIB} = 'yes' ]; then - # ${RANLIB} ${RANLIBFLAGS} liblapack.a - #fi - cat > make.cactus < ${DONE_FILE} - echo "LAPACK: Done." - ) - - if (( $? )); then - echo 'BEGIN ERROR' - echo 'Error while building LAPACK. Aborting.' - echo 'END ERROR' - exit 1 - fi - fi - -fi - - - ################################################################################ # Configure Cactus ################################################################################ -# Set options -if [ "${LAPACK_DIR}" != '/usr/lib' -a "${LAPACK_DIR}" != '/usr/local/lib' -a \ - "${LAPACK_DIR}" != 'NO_BUILD' ] -then - : ${LAPACK_INC_DIRS=} - : ${LAPACK_LIB_DIRS="${LAPACK_DIR}"} -fi -: ${LAPACK_LIBS='lapack'} +pkg-config --exists lapack || exit 1 +LAPACK_INC_DIRS=$(pkg-config --cflags-only-I lapack | sed 's/-I//g') +LAPACK_LIB_DIRS=$(pkg-config --libs-only-L lapack | sed 's/-L//g') +LAPACK_LIBS=$(pkg-config --libs-only-l lapack | sed 's/-l//g') # Pass options to Cactus echo "BEGIN MAKE_DEFINITION" -- cgit v1.2.3