Whamcloud - gitweb
land b_smallfix 20040407_1414:
[fs/lustre-release.git] / lustre / autogen.sh
1 #!/bin/bash
2
3 # taken from gnome-common/macros2/autogen.sh
4 compare_versions() {
5     ch_min_version=$1
6     ch_actual_version=$2
7     ch_status=0
8     IFS="${IFS=         }"; ch_save_IFS="$IFS"; IFS="."
9     set $ch_actual_version
10     for ch_min in $ch_min_version; do
11         ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
12         if [ -z "$ch_min" ]; then break; fi
13         if [ -z "$ch_cur" ]; then ch_status=1; break; fi
14         if [ $ch_cur -gt $ch_min ]; then break; fi
15         if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
16     done
17     IFS="$ch_save_IFS"
18     return $ch_status
19 }
20
21 error_msg() {
22         cat >&2 <<EOF
23 $cmd is $1.  version $required is required to build Lustre.
24
25 You may be able to download a new version from:
26 http://ftp.gnu.org/gnu/$cmd/$cmd-$required.tar.gz
27 EOF
28         [ "$cmd" = "autoconf" -a "$required" = "2.57" ] && cat >&2 <<EOF
29
30 or
31
32 ftp://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/autoconf-2.57-3.noarch.rpm
33 EOF
34         [ "$cmd" = "automake" -a "$required" = "1.7.8" ] && cat >&2 <<EOF
35
36 or
37
38 ftp://fr2.rpmfind.net/linux/fedora/core/1/i386/os/Fedora/RPMS/automake-1.7.8-1.noarch.rpm
39 EOF
40         exit 1
41 }
42
43 check_version() {
44     local cmd
45     local required
46     local version
47
48     cmd=$1
49     required=$2
50     echo -n "checking for $cmd $required... "
51     if ! $cmd --version >/dev/null ; then
52         error_msg "missing"
53     fi
54     version=$($cmd --version | awk "BEGIN { IGNORECASE=1 } /$cmd \(GNU $cmd\)/ { print \$4 }")
55     echo "found $version"
56     if ! compare_versions "$required" "$version" ; then
57         error_msg "too old"
58     fi
59 }
60
61 check_version automake "1.7.8"
62 check_version autoconf "2.57"
63 echo "Running autoreconf..."
64 autoreconf -fi