Sanitise ./configure a little bit.
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Sep 12 20:44:15 2007 +0000 (2007-09-12)
changeset 3768a2c53a1b263
parent 375 4beb099d5aa4
child 377 38720321dad0
Sanitise ./configure a little bit.
Add a check for bash 3.0 or above.
configure
     1.1 --- a/configure	Wed Sep 12 17:35:07 2007 +0000
     1.2 +++ b/configure	Wed Sep 12 20:44:15 2007 +0000
     1.3 @@ -27,46 +27,32 @@
     1.4  }
     1.5  
     1.6  set_prefix() {
     1.7 -    local ret
     1.8      PREFIX=$(get_optval "$1" "$2")
     1.9 -    ret=$?
    1.10 -    [ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin"
    1.11 -    [ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib/ct-ng-${VERSION}"
    1.12 -    [ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc/ct-ng-${VERSION}"
    1.13 -    [ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man/man1"
    1.14 -    return ${ret}
    1.15 +    return $?
    1.16  }
    1.17  
    1.18  set_bindir() {
    1.19 -    local ret
    1.20 +    BINDIR_set=1
    1.21      BINDIR=$(get_optval "$1" "$2")
    1.22 -    ret=$?
    1.23 -    BINDIR_set=1
    1.24 -    return ${ret}
    1.25 +    return $?
    1.26  }
    1.27  
    1.28  set_libdir() {
    1.29 -    local ret
    1.30 +    LIBDIR_set=1
    1.31      LIBDIR=$(get_optval "$1" "$2")
    1.32 -    ret=$?
    1.33 -    LIBDIR_set=1
    1.34 -    return ${ret}
    1.35 +    return $?
    1.36  }
    1.37  
    1.38  set_docdir() {
    1.39 -    local ret
    1.40 +    DOCDIR_set=1
    1.41      DOCDIR=$(get_optval "$1" "$2")
    1.42 -    ret=$?
    1.43 -    DOCDIR_set=1
    1.44 -    return ${ret}
    1.45 +    return $?
    1.46  }
    1.47  
    1.48  set_mandir() {
    1.49 -    local ret
    1.50 +    MANDIR_set=1
    1.51      MANDIR=$(get_optval "$1" "$2")
    1.52 -    ret=$?
    1.53 -    MANDIR_set=1
    1.54 -    return ${ret}
    1.55 +    return $?
    1.56  }
    1.57  
    1.58  do_help() {
    1.59 @@ -97,6 +83,14 @@
    1.60  __EOF__
    1.61  }
    1.62  
    1.63 +do_error() {
    1.64 +    echo "[ERROR] ${@}"
    1.65 +    exit 1
    1.66 +}
    1.67 +
    1.68 +#---------------------------------------------------------------------
    1.69 +# Set user's options
    1.70 +
    1.71  while [ $# -ne 0 ]; do
    1.72      case "$1" in
    1.73          --prefix*)  set_prefix "$1" "$2" && shift || shift 2;;
    1.74 @@ -119,6 +113,19 @@
    1.75      set_mandir "" $(pwd)/docs
    1.76  fi
    1.77  
    1.78 +[ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin"
    1.79 +[ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib/ct-ng-${VERSION}"
    1.80 +[ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc/ct-ng-${VERSION}"
    1.81 +[ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man/man1"
    1.82 +
    1.83 +#---------------------------------------------------------------------
    1.84 +# Some sanity checks, now
    1.85 +
    1.86 +# Check bash is present, and at least version 3.0
    1.87 +[ -x /bin/bash ] || do_error "bash 3.0 or above was not found in /bin/bash"
    1.88 +bash_version=$(/bin/bash --version |head -n 1 |cut -d ' ' -f 4)
    1.89 +[ ${bash_version//%.*} -ge 3 ] || do_error "bash 3.0 or above is needed (found ${bash_version})"
    1.90 +
    1.91  sed -r -e "s,@@BINDIR@@,${BINDIR},g;"   \
    1.92         -e "s,@@LIBDIR@@,${LIBDIR},g;"   \
    1.93         -e "s,@@DOCDIR@@,${DOCDIR},g;"   \