autogen.sh 2.82 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
#!/bin/sh
# Run this to set up the build system: configure, makefiles, etc.
# (at one point this was based on the version in enlightenment's cvs)

package="mpd"

olddir="`pwd`"
srcdir="`dirname $0`"
test -z "$srcdir" && srcdir=.
cd "$srcdir"
DIE=
12
AM_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9][0-9]*\).*/\1/"
13 14 15 16 17 18
AC_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9][0-9]\).*/\1/"
VERSIONMKINT="sed -e s/[^0-9]//"
if test -n "$AM_FORCE_VERSION"
then
	AM_VERSIONS="$AM_FORCE_VERSION"
else
19
	AM_VERSIONS='1.11'
20 21 22 23 24
fi
if test -n "$AC_FORCE_VERSION"
then
	AC_VERSIONS="$AC_FORCE_VERSION"
else
25
	AC_VERSIONS='2.60 2.61'
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
fi

versioned_bins ()
{
	bin="$1"
	needed_int=`echo $VERNEEDED | $VERSIONMKINT`
	for i in $VERSIONS
	do
		i_int=`echo $i | $VERSIONMKINT`
		if test $i_int -ge $needed_int
		then
			echo $bin-$i $bin$i $bin-$i_int $bin$i_int
		fi
	done
	echo $bin
}

for c in autoconf autoheader automake aclocal
do
	uc=`echo $c | tr '[:lower:]' '[:upper:]'`
	eval "val=`echo '$'$uc`"
	if test -n "$val"
	then
		echo "$uc=$val in environment, will not attempt to auto-detect"
		continue
	fi

	case "$c" in
	autoconf|autoheader)
		VERNEEDED=`fgrep AC_PREREQ configure.ac | $AC_VERSIONGREP`
		VERSIONS="$AC_VERSIONS"
		pkg=autoconf
		;;
	automake|aclocal)
		VERNEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $AM_VERSIONGREP`
		VERSIONS="$AM_VERSIONS"
		pkg=automake
		;;
	esac
	printf "checking for $c ... "
	for x in `versioned_bins $c`; do
		($x --version < /dev/null > /dev/null 2>&1) > /dev/null 2>&1
		if test $? -eq 0
		then
			echo $x
			eval $uc=$x
			break
		fi
	done
	eval "val=`echo '$'$uc`"
	if test -z "$val"
	then
		if test $c = $pkg
		then
			DIE="$DIE $c=$VERNEEDED"
		else
			DIE="$DIE $c($pkg)=$VERNEEDED"
		fi
	fi
done

if test -n "$DIE"
then
	echo "You must have the following installed to compile $package:"
	for i in $DIE
	do
		printf '  '
		echo $i | sed -e 's/(/ (from /' -e 's/=\(.*\)/ (>= \1)/'
	done
	echo "Download the appropriate package(s) for your system,"
	echo "or get the source from one of the GNU ftp sites"
	echo "listed in http://www.gnu.org/order/ftp.html"
        exit 1
fi

echo "Generating configuration files for $package, please wait...."

ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"

# /usr/share/aclocal is most likely included by default, already...
ac_local_paths='
/usr/local/share/aclocal
/sw/share/aclocal
/usr/pkg/share/aclocal
/opt/share/aclocal
/usr/gnu/share/aclocal
'

for i in $ac_local_paths; do
	if test -d "$i"; then
		ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $i"
		# we probably only want one of these...
		break
	fi
done

echo "  $ACLOCAL $ACLOCAL_FLAGS"
$ACLOCAL $ACLOCAL_FLAGS || exit 1

echo "  $AUTOHEADER"
$AUTOHEADER || exit 1

echo "  $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1

echo "  $AUTOCONF"
$AUTOCONF || exit 1

cd "$olddir"
if test x$NOCONFIGURE = x; then
	"$srcdir"/configure "$@" || exit 1
fi