From c891b5f250c71c1b8f94a002c13db6035ad28305 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sun, 27 Jan 2013 12:54:48 +0100 Subject: [PATCH] autogen.sh: Check for autoconf/automake wrapper scripts For example OpenBSD uses a "autoconf" and "automake" wrapper script which tells the user to set AUTOCONF_VERSION and AUTOMAKE_VERSION environment variables. This patch enhances autogen.sh to not detect these wrapper scripts as regular autoconf/automake commands but to set the required environment variables after detecting the real "command-X.Y" commands. Tested on OpenBSD 5.1. --- autogen.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/autogen.sh b/autogen.sh index 08cd4c2e..cab3ca62 100755 --- a/autogen.sh +++ b/autogen.sh @@ -73,8 +73,12 @@ Search() for name in $searchlist; do $EXIST "${name}" >/dev/null 2>&1 if [ $? -eq 0 ]; then - echo "${name}" - return 0 + "${name}" --version 2>&1 \ + | grep -v "environment variable" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "${name}" + return 0 + fi fi done @@ -144,6 +148,15 @@ echo "Searching for required tools ..." [ -z "$AUTOCONF" ] && AUTOCONF=`Search autoconf 2` [ "$VERBOSE" = "1" ] && echo " - AUTOCONF=$AUTOCONF" +AUTOCONF_VERSION=`echo $AUTOCONF | cut -d'-' -f2-` +[ -n "$AUTOCONF_VERSION" -a "$AUTOCONF_VERSION" != "autoconf" ] \ + && export AUTOCONF_VERSION || unset AUTOCONF_VERSION +[ "$VERBOSE" = "1" ] && echo " - AUTOCONF_VERSION=$AUTOCONF_VERSION" +AUTOMAKE_VERSION=`echo $AUTOMAKE | cut -d'-' -f2-` +[ -n "$AUTOMAKE_VERSION" -a "$AUTOMAKE_VERSION" != "automake" ] \ + && export AUTOMAKE_VERSION || unset AUTOMAKE_VERSION +[ "$VERBOSE" = "1" ] && echo " - AUTOMAKE_VERSION=$AUTOMAKE_VERSION" + [ $# -gt 0 ] && CONFIGURE_ARGS=" $@" || CONFIGURE_ARGS="" [ -z "$GO" -a -n "$CONFIGURE_ARGS" ] && GO=1 @@ -195,7 +208,7 @@ done export ACLOCAL AUTOHEADER AUTOMAKE AUTOCONF # Generate files -echo "Generating files using GNU $AUTOCONF and $AUTOMAKE ..." +echo "Generating files using \"$AUTOCONF\" and \"$AUTOMAKE\" ..." Run $ACLOCAL && \ Run $AUTOCONF && \ Run $AUTOHEADER && \