From 2e37aedff61e2672a7821316275e631a4eed94d5 Mon Sep 17 00:00:00 2001 From: Trond Norbye Date: Fri, 3 Jul 2009 12:48:15 +0200 Subject: [PATCH] Bug #395094: Rewrite config/autorun.sh to a Bourne shell script --- config/autorun.sh | 114 ++++++++++++++++++---------------------------- 1 file changed, 45 insertions(+), 69 deletions(-) diff --git a/config/autorun.sh b/config/autorun.sh index fdf58dea..2e0d839f 100755 --- a/config/autorun.sh +++ b/config/autorun.sh @@ -1,112 +1,88 @@ -#!/usr/bin/env bash +#!/bin/sh # Taken from lighthttpd server (BSD). Thanks Jan! # Run this to generate all the initial makefiles, etc. die() { echo "$@"; exit 1; } -# LIBTOOLIZE=${LIBTOOLIZE:-libtoolize} +# --force means overwrite ltmain.sh script if it already exists LIBTOOLIZE_FLAGS=" --automake --copy --force" -# ACLOCAL=${ACLOCAL:-aclocal} -ACLOCAL_FLAGS="-I m4" -# AUTOHEADER=${AUTOHEADER:-autoheader} -# AUTOMAKE=${AUTOMAKE:-automake} +# --add-missing instructs automake to install missing auxiliary files +# and --force to overwrite them if they already exist AUTOMAKE_FLAGS="--add-missing --copy --force" -# AUTOCONF=${AUTOCONF:-autoconf} +ACLOCAL_FLAGS="-I m4" ARGV0=$0 ARGS="$@" - run() { echo "$ARGV0: running \`$@' $ARGS" $@ $ARGS } -## jump out if one of the programs returns 'false' -set -e +# Try to locate a program by using which, and verify that the file is an +# executable +locate_binary() { + for f in $@ + do + file=`which $f 2>/dev/null | grep -v '^no '` + if test -n "$file" -a -x "$file"; then + echo $file + return 0 + fi + done + + echo "" + return 1 +} -## We do not currently support glibtoolize +# Try to detect the supported binaries if the user didn't +# override that by pushing the environment variable if test x$LIBTOOLIZE = x; then - if test \! "x`which glibtoolize 2> /dev/null | grep -v '^no'`" = x; then - LIBTOOLIZE=glibtoolize - elif test \! "x`which libtoolize-1.5 2> /dev/null | grep -v '^no'`" = x; then - LIBTOOLIZE=libtoolize-1.5 - elif test \! "x`which libtoolize 2> /dev/null | grep -v '^no'`" = x; then - LIBTOOLIZE=libtoolize - else - echo "libtoolize 1.5.x wasn't found, exiting"; exit 0 + LIBTOOLIZE=`locate_binary glibtoolize libtoolize-1.5 libtoolize` + if test x$LIBTOOLIZE = x; then + die "Did not find a supported libtoolize" fi fi -## suse has aclocal and aclocal-1.9 if test x$ACLOCAL = x; then - if test \! "x`which aclocal-1.10 2> /dev/null | grep -v '^no'`" = x; then - ACLOCAL=aclocal-1.10 - elif test \! "x`which aclocal-1.9 2> /dev/null | grep -v '^no'`" = x; then - ACLOCAL=aclocal-1.9 - elif test \! "x`which aclocal19 2> /dev/null | grep -v '^no'`" = x; then - ACLOCAL=aclocal19 - elif test \! "x`which aclocal 2> /dev/null | grep -v '^no'`" = x; then - ACLOCAL=aclocal - else - echo "automake 1.9.x (aclocal) wasn't found, exiting"; exit 0 + ACLOCAL=`locate_binary aclocal-1.10 aclocal-1.9 aclocal19 aclocal` + if test x$ACLOCAL = x; then + die "Did not find a supported aclocal" fi fi if test x$AUTOMAKE = x; then - if test \! "x`which automake-1.10 2> /dev/null | grep -v '^no'`" = x; then - AUTOMAKE=automake-1.10 - elif test \! "x`which automake-1.9 2> /dev/null | grep -v '^no'`" = x; then - AUTOMAKE=automake-1.9 - elif test \! "x`which automake19 2> /dev/null | grep -v '^no'`" = x; then - AUTOMAKE=automake19 - elif test \! "x`which automake 2> /dev/null | grep -v '^no'`" = x; then - AUTOMAKE=automake - else - echo "automake 1.9.x wasn't found, exiting"; exit 0 + AUTOMAKE=`locate_binary automake-1.10 automake-1.9 automake19 automake` + if test x$AUTOMAKE = x; then + die "Did not find a supported automake" fi fi - -## macosx has autoconf-2.59 and autoconf-2.60 if test x$AUTOCONF = x; then - if test \! "x`which autoconf-2.59 2> /dev/null | grep -v '^no'`" = x; then - AUTOCONF=autoconf-2.59 - elif test \! "x`which autoconf259 2> /dev/null | grep -v '^no'`" = x; then - AUTOCONF=autoconf259 - elif test \! "x`which autoconf 2> /dev/null | grep -v '^no'`" = x; then - AUTOCONF=autoconf - else - echo "autoconf 2.59+ wasn't found, exiting"; exit 0 + AUTOCONF=`locate_binary autoconf-2.59 autoconf259 autoconf` + if test x$AUTOCONF = x; then + die "Did not find a supported autoconf" fi fi if test x$AUTOHEADER = x; then - if test \! "x`which autoheader-2.59 2> /dev/null | grep -v '^no'`" = x; then - AUTOHEADER=autoheader-2.59 - elif test \! "x`which autoheader259 2> /dev/null | grep -v '^no'`" = x; then - AUTOHEADER=autoheader259 - elif test \! "x`which autoheader 2> /dev/null | grep -v '^no'`" = x; then - AUTOHEADER=autoheader - else - echo "autoconf 2.59+ (autoheader) wasn't found, exiting"; exit 0 + AUTOHEADER=`locate_binary autoheader-2.59 autoheader259 autoheader` + if test x$AUTOHEADER = x; then + die "Did not find a supported autoheader" fi fi - -# --force means overwrite ltmain.sh script if it already exists run $LIBTOOLIZE $LIBTOOLIZE_FLAGS || die "Can't execute libtoolize" - run $ACLOCAL $ACLOCAL_FLAGS || die "Can't execute aclocal" run $AUTOHEADER || die "Can't execute autoheader" - -# --add-missing instructs automake to install missing auxiliary files -# and --force to overwrite them if they already exist run $AUTOMAKE $AUTOMAKE_FLAGS || die "Can't execute automake" run $AUTOCONF || die "Can't execute autoconf" -echo -n "Automade with: " -$AUTOMAKE --version | head -1 -echo -n "Configured with: " -$AUTOCONF --version | head -1 - +echo "---" +echo "Configured with the following tools:" +echo " * `$LIBTOOLIZE --version | head -1`" +echo " * `$ACLOCAL --version | head -1`" +echo " * `$AUTOHEADER --version | head -1`" +echo " * `$AUTOMAKE --version | head -1`" +echo " * `$AUTOCONF --version | head -1`" +echo "---" -- 2.30.2