From 69f17838000424a209a928fbdc0e608dfaf271d6 Mon Sep 17 00:00:00 2001 From: Justin Clift Date: Fri, 8 Mar 2013 19:29:33 +0000 Subject: Add autogen.sh dependency checks and nicer output. Change-Id: I5c740d81765559fae022d0ab9dfe34988e46612e BUG: 919898 Signed-off-by: Justin Clift Reviewed-on: http://review.gluster.org/4651 Reviewed-by: Kaleb KEITHLEY Tested-by: Gluster Build System Reviewed-by: Jeff Darcy --- autogen.sh | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 5 deletions(-) (limited to 'autogen.sh') diff --git a/autogen.sh b/autogen.sh index ca69d4624..2e2bd5170 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,8 +1,89 @@ #!/bin/sh -aclocal -I ./contrib/aclocal -autoheader -(libtoolize --automake --copy --force || glibtoolize --automake --copy --force) -autoconf -automake --add-missing --copy --foreign +echo +echo ... GlusterFS autogen ... +echo + +## Check all dependencies are present +MISSING="" + +# Check for aclocal +env aclocal --version > /dev/null 2>&1 +if [ $? -eq 0 ]; then + ACLOCAL=aclocal +else + MISSING="$MISSING aclocal" +fi + +# Check for autoconf +env autoconf --version > /dev/null 2>&1 +if [ $? -eq 0 ]; then + AUTOCONF=autoconf +else + MISSING="$MISSING autoconf" +fi + +# Check for autoheader +env autoheader --version > /dev/null 2>&1 +if [ $? -eq 0 ]; then + AUTOHEADER=autoheader +else + MISSING="$MISSING autoheader" +fi + +# Check for automake +env automake --version > /dev/null 2>&1 +if [ $? -eq 0 ]; then + AUTOMAKE=automake +else + MISSING="$MISSING automake" +fi + +# Check for libtoolize or glibtoolize +env libtoolize --version > /dev/null 2>&1 +if [ $? = 0 ]; then + # libtoolize was found, so use it + TOOL=libtoolize +else + # libtoolize wasn't found, so check for glibtoolize + env glibtoolize --version > /dev/null 2>&1 + if [ $? = 0 ]; then + TOOL=glibtoolize + else + MISSING="$MISSING libtoolize/glibtoolize" + fi +fi + +## If dependencies are missing, warn the user and abort +if [ "x$MISSING" != "x" ]; then + echo "Aborting." + echo + echo "The following build tools are missing:" + echo + for pkg in $MISSING; do + echo " * $pkg" + done + echo + echo "Please install them and try again." + echo + exit 1 +fi + +## Do the autogeneration +echo Running ${ACLOCAL}... +$ACLOCAL -I ./contrib/aclocal +echo Running ${AUTOHEADER}... +$AUTOHEADER +echo Running ${TOOL}... +$TOOL --automake --copy --force +echo Running ${AUTOCONF}... +$AUTOCONF +echo Running ${AUTOMAKE}... +$AUTOMAKE --add-missing --copy --foreign + +# Run autogen in the argp-standalone sub-directory cd argp-standalone;./autogen.sh + +# Instruct user on next steps +echo +echo "Please proceed with configuring, compiling, and installing." -- cgit