aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-07-17 08:22:50 +0000
committerEric Wong <normalperson@yhbt.net>2006-07-17 08:22:50 +0000
commitb545a7e57de94715ec86060ee875abc0a9784567 (patch)
treed4810650f3e419bf12b5fd74b762114667cef591
parentc919ffd1bfe7a37d11ed7b0abdcaa6469e10b0d0 (diff)
downloadmpd-b545a7e57de94715ec86060ee875abc0a9784567.tar.gz
mpd-b545a7e57de94715ec86060ee875abc0a9784567.tar.xz
mpd-b545a7e57de94715ec86060ee875abc0a9784567.zip
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
-rwxr-xr-xautogen.sh190
-rw-r--r--configure.ac14
2 files changed, 111 insertions, 93 deletions
diff --git a/autogen.sh b/autogen.sh
index 769929afc..6b0787ba8 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -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
- }
-fi
-
-echo -n "checking for libtool... "
-for LIBTOOLIZE in libtoolize glibtoolize nope; do
- (which $LIBTOOLIZE) > /dev/null 2>&1 && break
+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 x$LIBTOOLIZE = xnope; then
- echo "nope."
- LIBTOOLIZE=libtoolize
+
+if test -n "$LIBTOOLIZE"
+then
+ echo "LIBTOOLIZE=$LIBTOOLIZE in environment," \
+ "will not attempt to auto-detect"
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
-($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,22 +127,27 @@ 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
echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
-$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
diff --git a/configure.ac b/configure.ac
index 5d9f3bdf8..000805232 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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