#! /bin/bash ################################################################################ # Prepare ################################################################################ # Set up shell set -x # Output commands set -e # Abort on errors ################################################################################ # Build ################################################################################ if [ -z "${LIBJPEG_DIR}" -o "${LIBJPEG_DIR}" = 'BUILD' ]; then echo "BEGIN MESSAGE" echo "Building libjpeg..." echo "END MESSAGE" # Set locations THORN=libjpeg NAME=jpeg-8b SRCDIR=$(dirname $0) BUILD_DIR=${SCRATCH_BUILD}/build/${THORN} INSTALL_DIR=${SCRATCH_BUILD}/external/${THORN} DONE_FILE=${SCRATCH_BUILD}/done/${THORN} LIBJPEG_DIR=${INSTALL_DIR} ( exec >&2 # Redirect stdout to stderr set -x # Output commands set -e # Abort on errors cd ${SCRATCH_DIR} if [ -e ${DONE_FILE} -a ${DONE_FILE} -nt ${SRCDIR}/dist/${NAME}.tar.gz \ -a ${DONE_FILE} -nt ${SRCDIR}/libjpeg.sh ] then echo "libjpeg: The enclosed libjpeg library has already been built; doing nothing" else echo "libjpeg: Building enclosed libjpeg library" # Should we use gmake or make? MAKE=$(gmake --help > /dev/null 2>&1 && echo gmake || echo make) # Should we use gtar or tar? TAR=$(gtar --help > /dev/null 2> /dev/null && echo gtar || echo tar) # Set up environment unset LIBS echo "libjpeg: Preparing directory structure..." mkdir build external done 2> /dev/null || true rm -rf ${BUILD_DIR} ${INSTALL_DIR} mkdir ${BUILD_DIR} ${INSTALL_DIR} echo "libjpeg: Unpacking archive..." pushd ${BUILD_DIR} ${TAR} xzf ${SRCDIR}/dist/${NAME}.tar.gz echo "libjpeg: Configuring..." cd ${NAME} ./configure --prefix=${LIBJPEG_DIR} echo "libjpeg: Building..." ${MAKE} echo "libjpeg: Installing..." ${MAKE} install popd echo "libjpeg: Cleaning up..." rm -rf ${BUILD_DIR} date > ${DONE_FILE} echo "libjpeg: Done." fi ) if (( $? )); then echo 'BEGIN ERROR' echo 'Error while building libjpeg. Aborting.' echo 'END ERROR' exit 1 fi fi ################################################################################ # Configure Cactus ################################################################################ # Set options LIBJPEG_INC_DIRS="${LIBJPEG_DIR}/include" LIBJPEG_LIB_DIRS="${LIBJPEG_DIR}/lib" LIBJPEG_LIBS='jpeg' # Pass options to Cactus echo "BEGIN MAKE_DEFINITION" echo "HAVE_LIBJPEG = 1" echo "LIBJPEG_DIR = ${LIBJPEG_DIR}" echo "LIBJPEG_INC_DIRS = ${LIBJPEG_INC_DIRS}" echo "LIBJPEG_LIB_DIRS = ${LIBJPEG_LIB_DIRS}" echo "LIBJPEG_LIBS = ${LIBJPEG_LIBS}" echo "END MAKE_DEFINITION" echo 'INCLUDE_DIRECTORY $(LIBJPEG_INC_DIRS)' echo 'LIBRARY_DIRECTORY $(LIBJPEG_LIB_DIRS)' echo 'LIBRARY $(LIBJPEG_LIBS)'