summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiclas Zeising <zeising@daemonic.se>2013-08-12 13:53:10 +0200
committerArnaud Fontaine <arnaud.fontaine@nexedi.com>2014-01-29 17:10:10 +0900
commita08bbf0e20995d29cbf890957c898059d4a9ece2 (patch)
treebfb1e6f0b140a1041534d3497375cf9a769e37f0
parentd25806902ee6050ec3d52480d0bc8f4889942350 (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 $?