Code

Merge remote-tracking branch 'github/pr/387'
[collectd.git] / build.sh
index cede2e48f2fc8cf3725ae04c9928e7862f1dd864..20854b13b7d88cf6aa90f5ce990fd07370fff56c 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -1,19 +1,53 @@
 #! /bin/sh
 
-if ! which lex > /dev/null 2>&1; then
-       echo "WARNING: lex not found!" >&2
-       echo "Make sure that you have a flex compatible tool available." >&2
-fi
+GLOBAL_ERROR_INDICATOR=0
 
-if ! which yacc > /dev/null 2>&1; then
-       echo "WARNING: yacc not found!" >&2
-       echo "Make sure that you have a GNU bison compatible tool available." >&2
-fi
+check_for_application ()
+{
+       for PROG in "$@"
+       do
+               which "$PROG" >/dev/null 2>&1
+               if test $? -ne 0; then
+                       cat >&2 <<EOF
+WARNING: \`$PROG' not found!
+    Please make sure that \`$PROG' is installed and is in one of the
+    directories listed in the PATH environment variable.
+EOF
+                       GLOBAL_ERROR_INDICATOR=1
+               fi
+       done
+}
+
+check_for_application lex yacc autoheader aclocal automake autoconf
+
+# Actually we don't need the pkg-config executable, but we need the M4 macros.
+# We check for `pkg-config' here and hope that M4 macros will then be
+# available, too.
+check_for_application pkg-config
 
-libtoolize=libtoolize
+libtoolize=""
+libtoolize --version >/dev/null 2>/dev/null
+if test $? -eq 0
+then
+       libtoolize=libtoolize
+else
+       glibtoolize --version >/dev/null 2>/dev/null
+       if test $? -eq 0
+       then
+               libtoolize=glibtoolize
+       else
+               cat >&2 <<EOF
+WARNING: Neither \`libtoolize' nor \`glibtoolize' have been found!
+    Please make sure that one of them is installed and is in one of the
+    directories listed in the PATH environment variable.
+EOF
+               GLOBAL_ERROR_INDICATOR=1
+       fi
+ fi
 
-if which glibtoolize > /dev/null 2>&1; then
-       libtoolize=glibtoolize
+if test "$GLOBAL_ERROR_INDICATOR" != "0"
+then
+       exit 1
 fi
 
 set -x