
On Wed, Dec 13, 2017 at 11:00:34AM +0100, Andrea Bolognani wrote:
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@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.
Yeah, lets do this, it is nicer.
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|