aboutsummaryrefslogtreecommitdiff
path: root/autogen.sh
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 /autogen.sh
parentc919ffd1bfe7a37d11ed7b0abdcaa6469e10b0d0 (diff)
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
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh190
1 files changed, 100 insertions, 90 deletions
diff --git a/autogen.sh b/autogen.sh
index 769929af..6b0787ba 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