# HG changeset patch # User "Yann E. MORIN" # Date 1189629855 0 # Node ID 8a2c53a1b263750f67eadf5cf9befa735b0af5e1 # Parent 4beb099d5aa439f7276a691a542f0d378d7aabc5 Sanitise ./configure a little bit. Add a check for bash 3.0 or above. diff -r 4beb099d5aa4 -r 8a2c53a1b263 configure --- a/configure Wed Sep 12 17:35:07 2007 +0000 +++ b/configure Wed Sep 12 20:44:15 2007 +0000 @@ -27,46 +27,32 @@ } set_prefix() { - local ret PREFIX=$(get_optval "$1" "$2") - ret=$? - [ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin" - [ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib/ct-ng-${VERSION}" - [ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc/ct-ng-${VERSION}" - [ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man/man1" - return ${ret} + return $? } set_bindir() { - local ret + BINDIR_set=1 BINDIR=$(get_optval "$1" "$2") - ret=$? - BINDIR_set=1 - return ${ret} + return $? } set_libdir() { - local ret + LIBDIR_set=1 LIBDIR=$(get_optval "$1" "$2") - ret=$? - LIBDIR_set=1 - return ${ret} + return $? } set_docdir() { - local ret + DOCDIR_set=1 DOCDIR=$(get_optval "$1" "$2") - ret=$? - DOCDIR_set=1 - return ${ret} + return $? } set_mandir() { - local ret + MANDIR_set=1 MANDIR=$(get_optval "$1" "$2") - ret=$? - MANDIR_set=1 - return ${ret} + return $? } do_help() { @@ -97,6 +83,14 @@ __EOF__ } +do_error() { + echo "[ERROR] ${@}" + exit 1 +} + +#--------------------------------------------------------------------- +# Set user's options + while [ $# -ne 0 ]; do case "$1" in --prefix*) set_prefix "$1" "$2" && shift || shift 2;; @@ -119,6 +113,19 @@ set_mandir "" $(pwd)/docs fi +[ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin" +[ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib/ct-ng-${VERSION}" +[ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc/ct-ng-${VERSION}" +[ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man/man1" + +#--------------------------------------------------------------------- +# Some sanity checks, now + +# Check bash is present, and at least version 3.0 +[ -x /bin/bash ] || do_error "bash 3.0 or above was not found in /bin/bash" +bash_version=$(/bin/bash --version |head -n 1 |cut -d ' ' -f 4) +[ ${bash_version//%.*} -ge 3 ] || do_error "bash 3.0 or above is needed (found ${bash_version})" + sed -r -e "s,@@BINDIR@@,${BINDIR},g;" \ -e "s,@@LIBDIR@@,${LIBDIR},g;" \ -e "s,@@DOCDIR@@,${DOCDIR},g;" \