summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xbuild-aux/bootstrap12
2 files changed, 16 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f520d5e72d..6aa873cf7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-04 Akim Demaille <akim@lrde.epita.fr>
+
+ bootstrap: die when some submodules are not initialized
+ * build-aux/bootstrap: Make sure all submodules are initialized.
+
2019-01-04 Bruno Haible <bruno@clisp.org>
bitsetv: Fix module dependencies.
diff --git a/build-aux/bootstrap b/build-aux/bootstrap
index c13b486c57..5b08e7e2d4 100755
--- a/build-aux/bootstrap
+++ b/build-aux/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
# Print a version string.
-scriptversion=2018-10-13.05; # UTC
+scriptversion=2019-01-04.17; # UTC
# Bootstrap this package from checked-out sources.
@@ -963,6 +963,16 @@ fi
bootstrap_post_import_hook \
|| die "bootstrap_post_import_hook failed"
+# Don't proceed if there are uninitialized submodules. In particular,
+# the next step will remove dangling links, which might be links into
+# uninitialized submodules.
+#
+# Uninitialized submodules are listed with an initial dash.
+if $use_git && git submodule | grep '^-' >/dev/null; then
+ die "some git submodules are not initialized. " \
+ "Run 'git submodule init' and bootstrap again."
+fi
+
# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
# The following requires GNU find 4.2.3 or newer. Considering the usual