From: Christopher J. Morrone Date: Wed, 28 Nov 2012 04:55:57 +0000 (-0800) Subject: LU-1199 build: Simplify autotools version checks X-Git-Tag: 2.3.60~41 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=7e773a89d8bea8bd2a1680406bb3bd39d8050dbc;ds=sidebyside LU-1199 build: Simplify autotools version checks Simplify the check for minumum autoconf and automake versions by using standard macros in configure.ac rather than using shell functions in autogen.sh. Note that I am bumping the minimum automake version from 1.9 to 1.10. Change-Id: I009c316a54d8d517abea0d1808dc244e2353b2aa Signed-off-by: Christopher J. Morrone Reviewed-on: http://review.whamcloud.com/4693 Reviewed-by: Andreas Dilger Tested-by: Hudson Tested-by: Maloo Reviewed-by: Brian J. Murrell Reviewed-by: Minh Diep --- diff --git a/autogen.sh b/autogen.sh index d87fbb6..b0706b4 100644 --- a/autogen.sh +++ b/autogen.sh @@ -7,77 +7,6 @@ for HOOK in commit-msg prepare-commit-msg; do [ -e .git/hooks/$HOOK ] || ln -sf ../build/$HOOK .git/hooks/ done -# taken from gnome-common/macros2/autogen.sh -compare_versions() { - ch_min_version=$1 - ch_actual_version=$2 - ch_status=0 - IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="." - set $ch_actual_version - for ch_min in $ch_min_version; do - # remove letter suffixes - ch_cur=$(echo $1 | sed 's/[^0-9].*$//'); shift - if [ -z "$ch_min" ]; then break; fi - if [ -z "$ch_cur" ]; then ch_status=1; break; fi - if [ $ch_cur -gt $ch_min ]; then break; fi - if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi - done - IFS="$ch_save_IFS" - return $ch_status -} - -error_msg() { - echo "$cmd is $1. Version $required (or higher) is"\ - " required to build Lustre." - - if [ ! -x /usr/bin/lsb_release ]; then - echo "lsb_release could not be found. "\ - "If it were available more help on how to resolve this" - echo "situation would be available." - exit 1 - fi - - local dist_id="$(lsb_release -is)" - local howto="" - howto() { - echo -e "To install $cmd, you can use the command:\n# $1" - } - case $dist_id in - Ubuntu|Debian) howto "apt-get install $cmd" ;; - CentOS|RedHat*|Fedora*) howto "yum install $cmd" ;; - SUSE*) howto "yast -i $cmd" ;; - *) cat <= $required... " - if ! $cmd --version >/dev/null ; then - error_msg "missing" - fi - version=$($cmd --version | awk "/$tool \(GNU/ { print \$4 }") - echo "found $version" - if ! compare_versions "$required" "$version" ; then - error_msg "too old" - fi -} - echo "Checking for a complete tree..." REQUIRED_DIRS="build libcfs lnet lustre" OPTIONAL_DIRS="snmp portals" @@ -100,24 +29,6 @@ for dir in $OPTIONAL_DIRS; do fi done -found=false -for AMVER in 1.9 1.10 1.11; do - if which automake-$AMVER 2> /dev/null; then - found=true - break - fi -done - -if ! $found; then - cmd=automake required="1.9" error_msg "not found" - exit 1 -fi - -[ "${AMVER#1.}" -ge "10" ] && AMOPT="-W no-portability" - -check_version automake automake-$AMVER "1.9" -check_version autoconf autoconf "2.57" - run_cmd() { cmd="$@" @@ -132,12 +43,9 @@ run_cmd() echo } -export ACLOCAL="aclocal-$AMVER" -export AUTOMAKE="automake-$AMVER" - -run_cmd "$ACLOCAL $ACLOCAL_FLAGS" +run_cmd "aclocal $ACLOCAL_FLAGS" run_cmd "autoheader" -run_cmd "$AUTOMAKE -a -c $AMOPT" +run_cmd "automake -a -c" run_cmd autoconf # Run autogen.sh in these directories diff --git a/configure.ac b/configure.ac index 1e59a49..0a00859 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ - +AC_PREREQ([2.57]) AC_INIT([Lustre], [LUSTRE_VERSION], [http://bugs.whamcloud.com/], [lustre]) sinclude(lustre/autoconf/lustre-version.ac) @@ -12,7 +12,7 @@ LC_CONFIG_SRCDIR AC_CANONICAL_SYSTEM -AM_INIT_AUTOMAKE([1.9 tar-ustar]) +AM_INIT_AUTOMAKE([1.10 tar-ustar -Wno-portability]) # AM_MAINTAINER_MODE AC_PROG_CC diff --git a/ldiskfs/configure.ac b/ldiskfs/configure.ac index d7e422b..44b4983 100644 --- a/ldiskfs/configure.ac +++ b/ldiskfs/configure.ac @@ -11,7 +11,7 @@ AC_CONFIG_MACRO_DIR([config]) AC_CANONICAL_SYSTEM -AM_INIT_AUTOMAKE([1.10 tar-ustar]) +AM_INIT_AUTOMAKE([1.10 tar-ustar -Wno-portability]) AC_PROG_CC