On Wed, Jul 05, 2017 at 06:32:07PM +0200, Andrea Bolognani wrote:
On Tue, 2017-07-04 at 16:22 +0100, 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 | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index d5d836a..1e99ce8 100755 --- a/autogen.sh +++ b/autogen.sh @@ -193,4 +193,21 @@ else fi echoI'd move this 'echo' to the bottom as well.-echo "Now type 'make' to compile libvirt." + +# Make sure we can find GNU make and tell the user +# the right command to run +make -v | grep "GNU Make" 1>/dev/null 2>&1This doesn't catch stderr for the make invocation, and FreeBSD's make doesn't support the -v flag so you'll end up with a bunch of spurious output. You can use make -v 2>&1 | grep -q "GNU Make" instead.+if test $? = 0You're not using $? for anything else, so you can just have the command above as condition for 'if'.+thenThe rest of the file puts 'then' on the same line as 'if', please keep it consistent.+ MAKE=make +else + which gmake 1>/dev/null 2>&1
also I believe `which` is not POSIX-guaranteed, you should use `type` instead.
+ if test $? = 0 + thenSame comments as above. Additionally, you don't need to mention fd 1 explicitly when redirecting stdout, just '>/dev/null' is enough and looks less weird. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list redhat com https://www.redhat.com/mailman/listinfo/libvir-list
Description: Digital signature