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:07:58 +0900
commit758240ad77c545d9f9ea02e6d079a80e82038240 (patch)
tree111e8606bdc074499261d712f62a242bca3b014a
parent3703b4d52d9af12d493ed358483017eff8ad838c (diff)
downloadxcb-util-758240ad77c545d9f9ea02e6d079a80e82038240.tar.gz
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 fc34bd5..fe63941 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 $?