summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiclas Zeising <zeising@daemonic.se>2013-08-12 13:53:10 +0200
committerArnaud Fontaine <arnau@debian.org>2014-01-29 17:11:15 +0900
commitdc7cadf76374527bff87ba950b17e7223e9a4ffd (patch)
tree4fad6188c0697ce5355d841f320e300e834fe217
parent8d15acc45a47dc4c922eee5b99885db42bc62c17 (diff)
Check submodules before running autoconf.
Exit early with an informative message if the submodules are missing, since they are needed. Without this autoconf throws a bunch of uninformative errors which does not point to the actual problem. This was taken from util-keysyms. Signed-off-by: Niclas Zeising <zeising@daemonic.se> Reviewed-By: Arnaud Fontaine <arnau@debian.org>
-rwxr-xr-xautogen.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/autogen.sh b/autogen.sh
index 904cd67..afe5299 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -6,6 +6,21 @@ test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
+# If this is a git checkout, verify that the submodules are initialized,
+# otherwise autotools will just fail with an unhelpful error message.
+if [ -d ".git" ] && [ -r ".gitmodules" ]
+then
+ # If git is not in PATH, this will not return 0, thus not keeping us
+ # from building. Since the message is worthless when git is not
+ # installed, this is what we want.
+ if git submodule status 2>/dev/null | grep -q '^-'
+ then
+ echo "You have uninitialized git submodules." >&2
+ echo "Please run: git submodule update --init" >&2
+ exit 1
+ fi
+fi
+
autoreconf -v --install || exit 1
cd $ORIGDIR || exit $?