On Tue, 2017-12-12 at 15:57 +0000, Daniel P. Berrange wrote:
When autogen.sh finishes it helpfully prints
"Now type 'make' to compile libvirt."
which is fine if on a host with GNU make, but on *BSD running
'make' will end in tears. We should tell users to run 'gmake'
on these platforms. If 'gmake' doesn't exist then we should
report an error too
"GNU make is required to build libvirt"
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
autogen.sh | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/autogen.sh b/autogen.sh
index d5d836aa71..ea94528de6 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -175,6 +175,18 @@ if test "$OBJ_DIR"; then
}
fi
+# Make sure we can find GNU make and tell the user
+# the right command to run
+if make -v 2>&1 | grep -q "GNU Make"; then
+ MAKE=make
+else
+ if which gmake >/dev/null 2>&1; then
+ MAKE=gmake
+ else
+ die "GNU make is required to build libvirt"
+ fi
+fi
Alternative approach which doesn't assume 'gmake' is necessarily
going to be GNU make - even though it is, for all intents and
purposes, a fairly reasonable assumption:
MAKE=
for cmd in make gmake; do
if $cmd -v 2>&1 | grep -q "GNU Make"; then
MAKE=$cmd
break
fi
done
test "$MAKE" || {
die "GNU make is required to build libvirt"
}
Or you can leave it as it is, your call.
+
if test -z "$*" && test -z "$extra_args" && test -f
config.status; then
echo "Running config.status..."
./config.status --recheck || {
@@ -193,4 +205,4 @@ else
fi
echo
-echo "Now type 'make' to compile libvirt."
+echo "Now type '$MAKE' to compile libvirt."
Reviewed-by: Andrea Bolognani <abologna(a)redhat.com>
--
Andrea Bolognani / Red Hat / Virtualization