Commit b545a7e5 authored by Eric Wong's avatar Eric Wong

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
parent c919ffd1
#!/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 () ...@@ -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" fi
AUTOMAKE=
else case "$c" in
echo "yes" autoconf|autoheader)
fi VERNEEDED=`fgrep AC_PREREQ configure.ac | $AC_VERSIONGREP`
else VERSIONS="$AC_VERSIONS"
echo -n "checking for automake $AM_NEEDED or later... " pkg=autoconf
VERNEEDED=`echo $AM_NEEDED | $VERSIONMKINT` ;;
for am in `versioned_bins automake`; do automake|aclocal)
($am --version < /dev/null > /dev/null 2>&1) || continue VERNEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $AM_VERSIONGREP`
ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT` VERSIONS="$AM_VERSIONS"
if test $ver -ge $VERNEEDED; then pkg=automake
AUTOMAKE=$am ;;
echo $AUTOMAKE esac
break printf "checking for $c ... "
fi for x in `versioned_bins $c`; do
done ($x --version < /dev/null > /dev/null 2>&1) > /dev/null 2>&1
test -z $AUTOMAKE && echo "no" if test $? -eq 0
echo -n "checking for aclocal $AM_NEEDED or later... " then
for ac in `versioned_bins aclocal`; do echo $x
($ac --version < /dev/null > /dev/null 2>&1) || continue eval $uc=$x
ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT` break
if test $ver -ge $VERNEEDED; then fi
ACLOCAL=$ac done
echo $ACLOCAL eval "val=`echo '$'$uc`"
break if test -z "$val"
fi then
done if test $c = $pkg
test -z $ACLOCAL && echo "no" then
fi DIE="$DIE $c=$VERNEEDED"
test -z $AUTOMAKE || test -z $ACLOCAL && { else
echo DIE="$DIE $c($pkg)=$VERNEEDED"
echo "You must have automake installed to compile $package." fi
echo "Download the appropriate package for your distribution," fi
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
exit 1
}
fi
echo -n "checking for libtool... "
for LIBTOOLIZE in libtoolize glibtoolize nope; do
(which $LIBTOOLIZE) > /dev/null 2>&1 && break
done done
if test x$LIBTOOLIZE = xnope; then
echo "nope." if test -n "$LIBTOOLIZE"
LIBTOOLIZE=libtoolize then
echo "LIBTOOLIZE=$LIBTOOLIZE in environment," \
"will not attempt to auto-detect"
else else
echo $LIBTOOLIZE 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 fi
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
echo if test -n "$DIE"
echo "You must have libtool installed to compile $package." then
echo "Download the appropriate package for your system," 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,22 +127,27 @@ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $PWD/m4" ...@@ -122,22 +127,27 @@ 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
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
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 ...@@ -234,7 +234,11 @@ if test x$enable_id3 = xyes; then
CFLAGS=$oldcflags CFLAGS=$oldcflags
LIBS=$oldlibs LIBS=$oldlibs
CPPFLAGS=$oldcppflags 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 fi
MAD_SUBDIR="" MAD_SUBDIR=""
...@@ -274,7 +278,11 @@ if test x$enable_mp3 = xyes; then ...@@ -274,7 +278,11 @@ if test x$enable_mp3 = xyes; then
CFLAGS=$oldcflags CFLAGS=$oldcflags
LIBS=$oldlibs LIBS=$oldlibs
CPPFLAGS=$oldcppflags 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 fi
if test x$enable_mpc = xyes; then if test x$enable_mpc = xyes; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment