Add version check for Sphinx
authorMichael Hanselmann <hansmi@google.com>
Mon, 14 Jan 2013 15:16:10 +0000 (16:16 +0100)
committerMichael Hanselmann <hansmi@google.com>
Tue, 15 Jan 2013 14:26:50 +0000 (15:26 +0100)
Sphinx 1.0 and above can check version by setting “needs_sphinx” in the
configuration.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

configure.ac

index b09be70..14ebe81 100644 (file)
@@ -373,6 +373,18 @@ if test -z "$SPHINX"
 then
   AC_MSG_WARN(m4_normalize([sphinx-build not found, documentation rebuild will
                             not be possible]))
+else
+  # Sphinx exits with code 1 when it prints its usage
+  sphinxver=`{ $SPHINX --version 2>&1 || :; } | head -n 3`
+
+  if ! echo "$sphinxver" | grep -q -w -e '^Sphinx' -e '^Usage:'; then
+    AC_MSG_ERROR([Unable to determine Sphinx version])
+
+  # Note: Character classes ([...]) need to be double quoted due to autoconf
+  # using m4
+  elif ! echo "$sphinxver" | grep -q -E '^Sphinx[[[:space:]]]+v[[1-9]]\>'; then
+    AC_MSG_ERROR([Sphinx 1.0 or higher is required])
+  fi
 fi
 
 AC_ARG_ENABLE([manpages-in-doc],