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:10:46 +0900
commit2eb581ab2f90fbcea878f5696da3e1d7acad3c58 (patch)
treec05539ebf47bd562ed6da8dfe1c7fb0efb042213
parent7c2c36a1472941353a700bbac7dc351a92f42258 (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 $?