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
# 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"
olddir=`pwd`
srcdir=`dirname $0`
olddir="`pwd`"
srcdir="`dirname $0`"
test -z "$srcdir" && srcdir=.
cd "$srcdir"
DIE=0
echo "checking for autoconf... "
(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/"
DIE=
AM_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]\).*/\1/"
AC_VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9][0-9]\).*/\1/"
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"
then
AM_VERSIONS="$AM_FORCE_VERSION"
else
AM_VERSIONS='1.6 1.7 1.8 1.9'
fi
if test -n "$AC_FORCE_VERSION"
then
AC_VERSIONS="$AC_FORCE_VERSION"
else
AC_VERSIONS='2.58 2.59'
fi
versioned_bins ()
{
bin="$1"
for i in $AM_VERSIONS
needed_int=`echo $VERNEEDED | $VERSIONMKINT`
for i in $VERSIONS
do
i_int=`echo $i | $VERSIONMKINT`
if test $i_int -ge $VERNEEDED
if test $i_int -ge $needed_int
then
echo $bin-$i $bin$i $bin-$i_int $bin$i_int
fi
@ -46,73 +40,84 @@ versioned_bins ()
echo $bin
}
# do we need automake?
if test -r Makefile.am; then
AM_NEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $VERSIONGREP`
if test -z $AM_NEEDED; then
echo -n "checking for automake... "
AUTOMAKE=automake
ACLOCAL=aclocal
if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
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
}
for c in autoconf autoheader automake aclocal
do
uc=`echo $c | tr a-z A-Z`
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 "$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
echo -n "checking for libtool... "
for LIBTOOLIZE in libtoolize glibtoolize nope; do
(which $LIBTOOLIZE) > /dev/null 2>&1 && break
done
if test x$LIBTOOLIZE = xnope; then
echo "nope."
LIBTOOLIZE=libtoolize
else
echo $LIBTOOLIZE
if test -z "$LIBTOOLIZE"
then
DIE="$DIE libtoolize(libtool)"
fi
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have libtool installed to compile $package."
echo "Download the appropriate package for your system,"
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"
DIE=1
}
if test "$DIE" -eq 1; then
exit 1
fi
@ -122,11 +127,16 @@ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $PWD/m4"
if [ -d /usr/local/share/aclocal ]; then
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I /usr/local/share/aclocal"
fi
# if [ -d "/usr/local/share/`basename $ACLOCAL`" ]; then
# ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I /usr/local/share/`basename $ACLOCAL`"
# fi
echo " $ACLOCAL $ACLOCAL_FLAGS"
$ACLOCAL $ACLOCAL_FLAGS
echo " autoheader"
autoheader
echo " $AUTOHEADER"
$AUTOHEADER
echo " $LIBTOOLIZE --automake"
$LIBTOOLIZE --automake
@ -134,10 +144,10 @@ $LIBTOOLIZE --automake
echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
$AUTOMAKE --add-missing $AUTOMAKE_FLAGS
echo " autoconf"
autoconf
echo " $AUTOCONF"
$AUTOCONF
cd $olddir
cd "$olddir"
if test x$NOCONFIGURE = x; then
$srcdir/configure "$@" && echo
"$srcdir"/configure "$@" && echo
fi

View File

@ -1,7 +1,7 @@
dnl AC_INIT(src/main.c)
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)
AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
@ -234,7 +234,11 @@ if test x$enable_id3 = xyes; then
CFLAGS=$oldcflags
LIBS=$oldlibs
CPPFLAGS=$oldcppflags
AC_DEFINE(HAVE_ID3TAG,1,[Define to use id3tag])
if $use_libid3tag = xyes; then
AC_DEFINE(HAVE_ID3TAG,1,[Define to use id3tag])
else
enable_id3=no
fi
fi
MAD_SUBDIR=""
@ -274,7 +278,11 @@ if test x$enable_mp3 = xyes; then
CFLAGS=$oldcflags
LIBS=$oldlibs
CPPFLAGS=$oldcppflags
AC_DEFINE(HAVE_MAD,1,[Define to use libmad])
if test x$use_libmad = xyes; then
AC_DEFINE(HAVE_MAD,1,[Define to use libmad])
else
enable_mp3=no
fi
fi
if test x$enable_mpc = xyes; then