build: allow automatic git submodule updates to be disabled
commitf62bbee55d503f639ee9498878ebf42ff4f4299a
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 26 Oct 2017 12:52:26 +0000 (26 13:52 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 6 Nov 2017 11:04:36 +0000 (6 11:04 +0000)
tree37ea5d7fc9a77b72ed03ce19b1cdd69be9a5aec3
parent96089f6d0e88446a16725f2152d252be34f1ad50
build: allow automatic git submodule updates to be disabled

Some people building QEMU use VPATH builds where the source directory is on a
read-only volume. In such a case 'scripts/git-submodules.sh update' will always
fail and users are required to run it manually themselves on their original
writable source directory.

While this is already supported, it is nice to give users a command line flag
to configure to permanently disable automatic submodule updates, as it means
they won't get hard to diagnose failures from git-submodules.sh at an arbitrary
later date.

This patch thus introduces a flag '--disable-git-update' which will prevent
'make' from ever running 'scripts/git-submodules.sh update'. It will still run
the 'status' command to determine if a submodule update is needed, but when it
does this it'll simply stop and print a message instructing the developer what
todo. eg

$ ./configure  --target-list=x86_64-softmmu --disable-git-update
...snip...

$ make
  GEN     config-host.h
  GEN     trace/generated-tcg-tracers.h
  GEN     trace/generated-helpers-wrappers.h
  GEN     trace/generated-helpers.h
  GEN     trace/generated-helpers.c
  GEN     module_block.h

GIT submodule checkout is out of date. Please run
  scripts/git-submodule.sh update ui/keycodemapdb
from the source directory checkout /home/berrange/src/virt/qemu

make: *** [Makefile:31: git-submodule-update] Error 1

Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Makefile
configure
scripts/git-submodule.sh