Mono.Zeroconf – Rev 1

Subversion Repositories:
Rev:
#!/bin/bash

PROJECT=Mono.Zeroconf

function error () {
        echo "Error: $1" 1>&2
        exit 1
}

function check_autotool_version () {
        which $1 &>/dev/null || {
                error "$1 is not installed, and is required to configure $PACKAGE"
        }

        version=$($1 --version | head -n 1 | cut -f4 -d' ')
        major=$(echo $version | cut -f1 -d.)
        minor=$(echo $version | cut -f2 -d.)
        major_check=$(echo $2 | cut -f1 -d.)
        minor_check=$(echo $2 | cut -f2 -d.)

        if [ $major -lt $major_check ]; then
                do_bail=yes
        elif [[ $minor -lt $minor_check && $major = $major_check ]]; then
                do_bail=yes
        fi

        if [ x"$do_bail" = x"yes" ]; then
                error "$1 version $2 or better is required to configure $PROJECT"
        fi
}

function run () {
        echo "Running $@ ..."
        $@ 2>.autogen.log || {
                cat .autogen.log 1>&2
                rm .autogen.log
                error "Could not run $1, which is required to configure $PROJECT"
        }
        rm .autogen.log
}

srcdir=$(dirname $0)
test -z "$srcdir" && srcdir=.

(test -f $srcdir/configure.ac) || {
        error "Directory \"$srcdir\" does not look like the top-level $PROJECT directory"
}

check_autotool_version aclocal 1.9
check_autotool_version automake 1.9
check_autotool_version autoconf 2.13

run aclocal -I . $ACLOCAL_FLAGS
run autoconf
run automake -a --gnu

if [ $# = 0 ]; then
        echo "WARNING: I am going to run configure without any arguments."
fi

run ./configure --enable-maintainer-mode $@