X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=build%2Fautogen.sh;h=cd7e601ae5b3030d67735a88d248c93c952e9fb4;hp=e32e26ad0afd0deb18b6ceec540dd0bdb9cbc83f;hb=da94c5388a4e4344e86b837ff35c2c693569fc77;hpb=ec54526780f06eb596829eb6a2e40da46c70d983 diff --git a/build/autogen.sh b/build/autogen.sh index e32e26a..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 - - 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 @@ -78,8 +62,17 @@ check_version() { } echo "Checking for a complete tree..." -# required directories -for dir in build lnet lustre ; do +if [ -d kernel_patches ] ; then + # This is ldiskfs + REQUIRED_DIRS="build" + CONFIGURE_DIRS="" +else + REQUIRED_DIRS="build libcfs lnet lustre" + OPTIONAL_DIRS="snmp portals" + CONFIGURE_DIRS="libsysio lustre-iokit ldiskfs" +fi + +for dir in $REQUIRED_DIRS ; do if [ ! -d "$dir" ] ; then cat >&2 < /dev/null; then + found=true + break + fi +done -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 - -if [ -d libsysio ] ; then - pushd libsysio >/dev/null - echo "Running autogen for libsysio..." - sh autogen.sh - popd >/dev/null +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="$@" + 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..." + run_cmd "sh autogen.sh" + popd >/dev/null + fi +done