From 481963d9a6afe7a7e6c6c0ac9b082c8c40162495 Mon Sep 17 00:00:00 2001 From: Ralph Giles <giles@xiph.org> Date: Fri, 31 Oct 2003 12:12:16 +0000 Subject: [PATCH] Require automake 1.6. nodist_include_HEADERS is not supported by automake 1.4. It ignores the line entirely and fails to install ao/os_types.h, preventing any application from compiling against libao. Therefore we make the requirement explicit by adding it to the AUTOMAKE_OPTIONS in Makefile.am. Unfortunately, automake 1.4 is still the default on many systems (including Debian unstable) and in stark contrast to the situation with autoconf, even when 1.6 or later is installed there is no dispatch mechanism to ensure the appropriate version is used. Therefore we make an attempt in autogen.sh to select the correct executables for aclocal and automake and run those. Note that while the message says, "checking for automake 1.6 or later..." it actually only checks for a matching version number. If someone knows how to do the 'or later' part in portable shell, please let me know. git-svn-id: http://svn.xiph.org/trunk/ao@5521 0101bb08-14d6-0310-b084-bc0e0c8e3800 --- Makefile.am | 2 +- autogen.sh | 60 ++++++++++++++++++++++++++++++++++-------- include/Makefile.am | 2 +- include/ao/Makefile.am | 2 +- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/Makefile.am b/Makefile.am index 95744dd..47c0807 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = foreign dist-zip +AUTOMAKE_OPTIONS = foreign 1.6 dist-zip SUBDIRS = src include doc debian diff --git a/autogen.sh b/autogen.sh index eff5dbc..afc53b7 100755 --- a/autogen.sh +++ b/autogen.sh @@ -20,15 +20,53 @@ echo "checking for autoconf... " DIE=1 } -echo "checking for automake... " -(automake --version) < /dev/null > /dev/null 2>&1 || { +VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]\).*/\1/" + +# 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... " + for am in automake-$AM_NEEDED automake$AM_NEEDED automake; do + ($am --version < /dev/null > /dev/null 2>&1) || continue + ver=`$am --version < /dev/null | head -1 | $VERSIONGREP` + if test $ver = $AM_NEEDED; 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 aclocal-$AM_NEEDED aclocal$AM_NEEDED aclocal; do + ($ac --version < /dev/null > /dev/null 2>&1) || continue + ver=`$ac --version < /dev/null | head -1 | $VERSIONGREP` + if test $ver = $AM_NEEDED; 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 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 -} + 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 @@ -60,14 +98,14 @@ fi echo "Generating configuration files for $package, please wait...." -echo " aclocal $ACLOCAL_FLAGS" -aclocal $ACLOCAL_FLAGS +echo " $ACLOCAL $ACLOCAL_FLAGS" +$ACLOCAL $ACLOCAL_FLAGS #echo " autoheader" #autoheader echo " $LIBTOOLIZE --automake" $LIBTOOLIZE --automake -echo " automake --add-missing $AUTOMAKE_FLAGS" -automake --add-missing $AUTOMAKE_FLAGS +echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS" +$AUTOMAKE --add-missing $AUTOMAKE_FLAGS echo " autoconf" autoconf diff --git a/include/Makefile.am b/include/Makefile.am index 99b8f5f..e9be87a 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = foreign +AUTOMAKE_OPTIONS = foreign 1.6 SUBDIRS = ao diff --git a/include/ao/Makefile.am b/include/ao/Makefile.am index 0481b54..13c0a90 100644 --- a/include/ao/Makefile.am +++ b/include/ao/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = foreign +AUTOMAKE_OPTIONS = foreign 1.6 includedir = $(prefix)/include/ao -- GitLab