X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=build%2Fautogen.sh;h=0308024e59c59b35cda6029c3d63566c358e8fed;hp=eb02edd333c68dc35a53cb4ec63ba7f9f303d2cb;hb=7ef98b9c2549185b1ee2e758eb2cf0da261d75b5;hpb=9d77e06227d1f0b2c75a44c24ab041fe83496556 diff --git a/build/autogen.sh b/build/autogen.sh index eb02edd..0308024 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 - - ftp://ftp.lustre.org/pub/other/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 @@ -83,9 +67,9 @@ if [ -d kernel_patches ] ; then REQUIRED_DIRS="build" CONFIGURE_DIRS="" else - REQUIRED_DIRS="build lnet lustre" + REQUIRED_DIRS="build libcfs lnet lustre" OPTIONAL_DIRS="snmp portals" - CONFIGURE_DIRS="libsysio ldiskfs" + CONFIGURE_DIRS="libsysio lustre-iokit ldiskfs" fi for dir in $REQUIRED_DIRS ; do @@ -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 -echo "Running autoheader..." -autoheader -echo "Running automake-1.7..." -automake-1.7 -a -c -echo "Running autoconf..." -autoconf +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 + run_cmd "sh autogen.sh" popd >/dev/null fi done