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"
AUTOMAKE=
else
echo "yes"
fi fi
else
echo -n "checking for automake $AM_NEEDED or later... " case "$c" in
VERNEEDED=`echo $AM_NEEDED | $VERSIONMKINT` autoconf|autoheader)
for am in `versioned_bins automake`; do VERNEEDED=`fgrep AC_PREREQ configure.ac | $AC_VERSIONGREP`
($am --version < /dev/null > /dev/null 2>&1) || continue VERSIONS="$AC_VERSIONS"
ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT` pkg=autoconf
if test $ver -ge $VERNEEDED; then ;;
AUTOMAKE=$am automake|aclocal)
echo $AUTOMAKE 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 break
fi fi
done done
test -z $AUTOMAKE && echo "no" eval "val=`echo '$'$uc`"
echo -n "checking for aclocal $AM_NEEDED or later... " if test -z "$val"
for ac in `versioned_bins aclocal`; do then
($ac --version < /dev/null > /dev/null 2>&1) || continue if test $c = $pkg
ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT` then
if test $ver -ge $VERNEEDED; then DIE="$DIE $c=$VERNEEDED"
ACLOCAL=$ac else
echo $ACLOCAL 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 break
fi fi
done 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... " if test -z "$LIBTOOLIZE"
for LIBTOOLIZE in libtoolize glibtoolize nope; do then
(which $LIBTOOLIZE) > /dev/null 2>&1 && break DIE="$DIE libtoolize(libtool)"
done
if test x$LIBTOOLIZE = xnope; then
echo "nope."
LIBTOOLIZE=libtoolize
else
echo $LIBTOOLIZE
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,11 +127,16 @@ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $PWD/m4" ...@@ -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 ...@@ -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
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
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 ...@@ -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
......
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