diff options
Diffstat (limited to 'autogen.sh')
-rwxr-xr-x | autogen.sh | 190 |
1 files changed, 100 insertions, 90 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 |