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

package="mpd"

7 8
olddir="`pwd`"
srcdir="`dirname $0`"
Warren Dukes's avatar
Warren Dukes committed
9 10
test -z "$srcdir" && srcdir=.
cd "$srcdir"
11
DIE=
12
AM_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9][0-9]*\).*/\1/"
13
AC_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9][0-9]\).*/\1/"
Warren Dukes's avatar
Warren Dukes committed
14
VERSIONMKINT="sed -e s/[^0-9]//"
15 16 17 18
if test -n "$AM_FORCE_VERSION"
then
	AM_VERSIONS="$AM_FORCE_VERSION"
else
19
	AM_VERSIONS='1.11'
20
fi
21 22 23 24
if test -n "$AC_FORCE_VERSION"
then
	AC_VERSIONS="$AC_FORCE_VERSION"
else
25
	AC_VERSIONS='2.60 2.61'
26
fi
27 28 29 30

versioned_bins ()
{
	bin="$1"
31 32
	needed_int=`echo $VERNEEDED | $VERSIONMKINT`
	for i in $VERSIONS
33 34
	do
		i_int=`echo $i | $VERSIONMKINT`
35
		if test $i_int -ge $needed_int
36
		then
37
			echo $bin-$i $bin$i $bin-$i_int $bin$i_int
38 39 40 41 42
		fi
	done
	echo $bin
}

43 44
for c in autoconf autoheader automake aclocal
do
45
	uc=`echo $c | tr '[:lower:]' '[:upper:]'`
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
	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
Warren Dukes's avatar
Warren Dukes committed
85
done
86 87 88 89 90 91 92 93 94 95

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,"
Warren Dukes's avatar
Warren Dukes committed
96 97 98 99 100 101
	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...."
Warren Dukes's avatar
Warren Dukes committed
102

103
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"
104

105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
# /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
121

Warren Dukes's avatar
Warren Dukes committed
122
echo "  $ACLOCAL $ACLOCAL_FLAGS"
123
$ACLOCAL $ACLOCAL_FLAGS || exit 1
Warren Dukes's avatar
Warren Dukes committed
124

125
echo "  $AUTOHEADER"
126
$AUTOHEADER || exit 1
127

Warren Dukes's avatar
Warren Dukes committed
128
echo "  $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
129
$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
Warren Dukes's avatar
Warren Dukes committed
130

131
echo "  $AUTOCONF"
132
$AUTOCONF || exit 1
Warren Dukes's avatar
Warren Dukes committed
133

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