Fix some autotools related problems

Huge thanks to gnarlie for helping me find and diagnose
several problems stemming from autogen.sh on FreeBSD 6.1

We require autoconf 2.58 for autogen.sh, but it seems like
that's always been the case, we just never caught it before :/

"bash ./configure" just about sums up what I want to do right now...

git-svn-id: https://svn.musicpd.org/mpd/trunk@4384 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Eric Wong 2006-07-17 08:22:50 +00:00
parent c919ffd1bf
commit b545a7e57d
2 changed files with 111 additions and 93 deletions

View File

@ -1,44 +1,38 @@
#!/bin/sh #!/bin/sh
# Run this to set up the build system: configure, makefiles, etc. # Run this to set up the build system: configure, makefiles, etc.
# (based on the version in enlightenment's cvs) # (at one point this was based on the version in enlightenment's cvs)
package="mpd" package="mpd"
olddir=`pwd` olddir="`pwd`"
srcdir=`dirname $0` srcdir="`dirname $0`"
test -z "$srcdir" && srcdir=. test -z "$srcdir" && srcdir=.
cd "$srcdir" cd "$srcdir"
DIE=0 DIE=
AM_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]\).*/\1/"
echo "checking for autoconf... " AC_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9][0-9]\).*/\1/"
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $package."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]\).*/\1/"
VERSIONMKINT="sed -e s/[^0-9]//" VERSIONMKINT="sed -e s/[^0-9]//"
# define AM_FORCE_VERSION if you want to force a particular version of
# automake and aclocal
if test -n "$AM_FORCE_VERSION" if test -n "$AM_FORCE_VERSION"
then then
AM_VERSIONS="$AM_FORCE_VERSION" AM_VERSIONS="$AM_FORCE_VERSION"
else else
AM_VERSIONS='1.6 1.7 1.8 1.9' AM_VERSIONS='1.6 1.7 1.8 1.9'
fi fi
if test -n "$AC_FORCE_VERSION"
then
AC_VERSIONS="$AC_FORCE_VERSION"
else
AC_VERSIONS='2.58 2.59'
fi
versioned_bins () versioned_bins ()
{ {
bin="$1" bin="$1"
for i in $AM_VERSIONS needed_int=`echo $VERNEEDED | $VERSIONMKINT`
for i in $VERSIONS
do do
i_int=`echo $i | $VERSIONMKINT` i_int=`echo $i | $VERSIONMKINT`
if test $i_int -ge $VERNEEDED if test $i_int -ge $needed_int
then then
echo $bin-$i $bin$i $bin-$i_int $bin$i_int echo $bin-$i $bin$i $bin-$i_int $bin$i_int
fi fi
@ -46,73 +40,84 @@ versioned_bins ()
echo $bin echo $bin
} }
# do we need automake? for c in autoconf autoheader automake aclocal
if test -r Makefile.am; then do
AM_NEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $VERSIONGREP` uc=`echo $c | tr a-z A-Z`
if test -z $AM_NEEDED; then eval "val=`echo '$'$uc`"
echo -n "checking for automake... " if test -n "$val"
AUTOMAKE=automake then
ACLOCAL=aclocal echo "$uc=$val in environment, will not attempt to auto-detect"
if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then continue
echo "no"
AUTOMAKE=
else
echo "yes"
fi
else
echo -n "checking for automake $AM_NEEDED or later... "
VERNEEDED=`echo $AM_NEEDED | $VERSIONMKINT`
for am in `versioned_bins automake`; do
($am --version < /dev/null > /dev/null 2>&1) || continue
ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
if test $ver -ge $VERNEEDED; then
AUTOMAKE=$am
echo $AUTOMAKE
break
fi
done
test -z $AUTOMAKE && echo "no"
echo -n "checking for aclocal $AM_NEEDED or later... "
for ac in `versioned_bins aclocal`; do
($ac --version < /dev/null > /dev/null 2>&1) || continue
ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
if test $ver -ge $VERNEEDED; then
ACLOCAL=$ac
echo $ACLOCAL
break
fi
done
test -z $ACLOCAL && echo "no"
fi
test -z $AUTOMAKE || test -z $ACLOCAL && {
echo
echo "You must have automake installed to compile $package."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
exit 1
}
fi fi
echo -n "checking for libtool... " case "$c" in
for LIBTOOLIZE in libtoolize glibtoolize nope; do autoconf|autoheader)
(which $LIBTOOLIZE) > /dev/null 2>&1 && break VERNEEDED=`fgrep AC_PREREQ configure.ac | $AC_VERSIONGREP`
done VERSIONS="$AC_VERSIONS"
if test x$LIBTOOLIZE = xnope; then pkg=autoconf
echo "nope." ;;
LIBTOOLIZE=libtoolize automake|aclocal)
else VERNEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $AM_VERSIONGREP`
echo $LIBTOOLIZE 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 fi
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || { done
echo eval "val=`echo '$'$uc`"
echo "You must have libtool installed to compile $package." if test -z "$val"
echo "Download the appropriate package for your system," then
if test $c = $pkg
then
DIE="$DIE $c=$VERNEEDED"
else
DIE="$DIE $c($pkg)=$VERNEEDED"
fi
fi
done
if test -n "$LIBTOOLIZE"
then
echo "LIBTOOLIZE=$LIBTOOLIZE in environment," \
"will not attempt to auto-detect"
else
printf "checking for libtoolize ... "
for x in libtoolize glibtoolize
do
($x --version < /dev/null > /dev/null 2>&1) > /dev/null 2>&1
if test $? -eq 0
then
echo $x
LIBTOOLIZE=$x
break
fi
done
fi
if test -z "$LIBTOOLIZE"
then
DIE="$DIE libtoolize(libtool)"
fi
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 "or get the source from one of the GNU ftp sites"
echo "listed in http://www.gnu.org/order/ftp.html" echo "listed in http://www.gnu.org/order/ftp.html"
DIE=1
}
if test "$DIE" -eq 1; then
exit 1 exit 1
fi fi
@ -122,11 +127,16 @@ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $PWD/m4"
if [ -d /usr/local/share/aclocal ]; then if [ -d /usr/local/share/aclocal ]; then
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I /usr/local/share/aclocal" ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I /usr/local/share/aclocal"
fi fi
# if [ -d "/usr/local/share/`basename $ACLOCAL`" ]; then
# ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I /usr/local/share/`basename $ACLOCAL`"
# fi
echo " $ACLOCAL $ACLOCAL_FLAGS" echo " $ACLOCAL $ACLOCAL_FLAGS"
$ACLOCAL $ACLOCAL_FLAGS $ACLOCAL $ACLOCAL_FLAGS
echo " autoheader" echo " $AUTOHEADER"
autoheader $AUTOHEADER
echo " $LIBTOOLIZE --automake" echo " $LIBTOOLIZE --automake"
$LIBTOOLIZE --automake $LIBTOOLIZE --automake
@ -134,10 +144,10 @@ $LIBTOOLIZE --automake
echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS" echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
$AUTOMAKE --add-missing $AUTOMAKE_FLAGS $AUTOMAKE --add-missing $AUTOMAKE_FLAGS
echo " autoconf" echo " $AUTOCONF"
autoconf $AUTOCONF
cd $olddir cd "$olddir"
if test x$NOCONFIGURE = x; then if test x$NOCONFIGURE = x; then
$srcdir/configure "$@" && echo "$srcdir"/configure "$@" && echo
fi fi

View File

@ -1,7 +1,7 @@
dnl AC_INIT(src/main.c) dnl AC_INIT(src/main.c)
dnl AM_INIT_AUTOMAKE(mpd, 0.12.0) dnl AM_INIT_AUTOMAKE(mpd, 0.12.0)
AC_PREREQ(2.52) AC_PREREQ(2.58)
AC_INIT(mpd, 0.12.0, warren.dukes@gmail.com) AC_INIT(mpd, 0.12.0, warren.dukes@gmail.com)
AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION) AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
@ -234,7 +234,11 @@ if test x$enable_id3 = xyes; then
CFLAGS=$oldcflags CFLAGS=$oldcflags
LIBS=$oldlibs LIBS=$oldlibs
CPPFLAGS=$oldcppflags CPPFLAGS=$oldcppflags
if $use_libid3tag = xyes; then
AC_DEFINE(HAVE_ID3TAG,1,[Define to use id3tag]) AC_DEFINE(HAVE_ID3TAG,1,[Define to use id3tag])
else
enable_id3=no
fi
fi fi
MAD_SUBDIR="" MAD_SUBDIR=""
@ -274,7 +278,11 @@ if test x$enable_mp3 = xyes; then
CFLAGS=$oldcflags CFLAGS=$oldcflags
LIBS=$oldlibs LIBS=$oldlibs
CPPFLAGS=$oldcppflags CPPFLAGS=$oldcppflags
if test x$use_libmad = xyes; then
AC_DEFINE(HAVE_MAD,1,[Define to use libmad]) AC_DEFINE(HAVE_MAD,1,[Define to use libmad])
else
enable_mp3=no
fi
fi fi
if test x$enable_mpc = xyes; then if test x$enable_mpc = xyes; then