X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=autogen.sh;h=6edec5b0adfe9e9953204e34132fde4cf812da9a;hp=d87fbb6f525b443f93740d6e8cfbbfbd1b396e4b;hb=95d136cc26b6200335c90d82d0e42df121589e16;hpb=39f87f91ee26fc617b97b8c90c1f9bb585a15391 diff --git a/autogen.sh b/autogen.sh index d87fbb6..6edec5b 100644 --- a/autogen.sh +++ b/autogen.sh @@ -2,95 +2,32 @@ # NOTE: Please avoid bashisms (bash specific syntax) in this script -# install Lustre Git commit hooks by default - LU-2083 -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 <&2 - tool=$1 - cmd=$2 - required=$3 - echo -n "checking for $cmd >= $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 +run_cmd() +{ + echo -n "Running $*" + eval "$@" || die "command exited with code $?" + echo } echo "Checking for a complete tree..." -REQUIRED_DIRS="build libcfs lnet lustre" +REQUIRED_DIRS="libcfs lnet lustre" OPTIONAL_DIRS="snmp portals" -CONFIGURE_DIRS="libsysio lustre-iokit ldiskfs" +CONFIGURE_DIRS="libsysio" for dir in $REQUIRED_DIRS ; do - if [ ! -d "$dir" ] ; then - cat >&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="$@" - 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" +PWD_SAVE=$PWD -run_cmd "$ACLOCAL $ACLOCAL_FLAGS" +run_cmd "aclocal -I $PWD/config $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 -PWD_SAVE=$PWD +# bootstrap in these directories for dir in $CONFIGURE_DIRS; do if [ -d $dir ] ; then cd $dir - echo "Running autogen for $dir..." + echo "bootstrapping in $dir..." run_cmd "sh autogen.sh" fi cd $PWD_SAVE