X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=build%2Fautogen.sh;h=cd7e601ae5b3030d67735a88d248c93c952e9fb4;hp=5d77897f135fb43580f9eeb21046f6d9d8b61ad9;hb=1c0e019d2fa853dd51c6369cbca16547939817ed;hpb=b4e009fdece5000f3414ce442c782bd50d558089 diff --git a/build/autogen.sh b/build/autogen.sh index 5d77897..cd7e601 100644 --- a/build/autogen.sh +++ b/build/autogen.sh @@ -19,41 +19,25 @@ compare_versions() { } error_msg() { - echo "$cmd is $1. version $required is required to build Lustre." + echo "$cmd is $1. Version $required (or higher) is required to build Lustre." - if [ -e /usr/lib/autolustre/bin/$cmd ]; then - cat >&2 <<-EOF - You apparently already have Lustre-specific autoconf/make RPMs - installed on your system at /usr/lib/autolustre/share/$cmd. - Please set your PATH to point to those versions: - - export PATH="/usr/lib/autolustre/bin:\$PATH" - EOF - else - cat >&2 <<-EOF - CFS provides RPMs which can be installed alongside your - existing autoconf/make RPMs, if you are nervous about - upgrading. See - - http://downloads.lustre.org/public/tools/autolustre/README.autolustre - - You may be able to download newer version from: - - http://ftp.gnu.org/gnu/$tool/$tool-$required.tar.gz - EOF + 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\nsituation would be available." + exit 1 fi - [ "$cmd" = "autoconf" -a "$required" = "2.57" ] && cat >&2 <&2 <= $required... " if ! $cmd --version >/dev/null ; then error_msg "missing" fi @@ -105,24 +89,52 @@ for dir in $OPTIONAL_DIRS; do fi done -check_version automake automake-1.7 "1.7.8" +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" -echo "Running aclocal-1.7 $ACLOCAL_FLAGS..." -aclocal-1.7 $ACLOCAL_FLAGS || exit 1 -echo "Running autoheader..." -autoheader || exit 1 -echo "Running automake-1.7..." -automake-1.7 -a -c || exit 1 -echo "Running autoconf..." -autoconf || exit 1 +run_cmd() +{ + cmd="$@" + echo -n "Running $cmd" + eval $cmd + res=$? + if [ $res -ne 0 ]; then + echo " failed: $res" + echo "Aborting" + exit 1 + fi + echo +} + +export ACLOCAL="aclocal-$AMVER" +export AUTOMAKE="automake-$AMVER" + +run_cmd "$ACLOCAL $ACLOCAL_FLAGS" +run_cmd "autoheader" +run_cmd "$AUTOMAKE -a -c $AMOPT" +run_cmd autoconf # Run autogen.sh in these directories for dir in $CONFIGURE_DIRS; do if [ -d $dir ] ; then pushd $dir >/dev/null echo "Running autogen for $dir..." - sh autogen.sh || exit $? + run_cmd "sh autogen.sh" popd >/dev/null fi done