summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2011-05-19 15:59:07 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2011-06-22 16:24:32 +0200
commitdf95fc65fb882e01202116f997afe330b8475b88 (patch)
treee19e8b95a1371f5185cde9acbd315d1d2785c801
parent0400769de16ca2ed01270d780e670129a26ef6a2 (diff)
downloadspice-df95fc65fb882e01202116f997afe330b8475b88.tar.gz
spice-df95fc65fb882e01202116f997afe330b8475b88.tar.xz
spice-df95fc65fb882e01202116f997afe330b8475b88.zip
add check for pyparsing
Check both in configure.ac (after checking if we need to rebuild the marshalling files) and in the python script using pyparsing (for people modifying .proto files in tarballs)
-rw-r--r--configure.ac10
-rw-r--r--python_modules/spice_parser.py11
2 files changed, 18 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 18209bfd..c058eddc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -214,6 +214,16 @@ AC_SUBST(CELT051_LIBS)
AC_SUBST(CELT051_LIBDIR)
SPICE_REQUIRES+=" celt051 >= 0.5.1.1"
+if test ! -e client/generated_marshallers.cpp; then
+AC_MSG_CHECKING([for pyparsing python module])
+echo "import pyparsing" | python - >/dev/null 2&>1
+if test $? -ne 0 ; then
+ AC_MSG_RESULT([not found])
+ AC_MSG_ERROR([pyparsing python module is required to compile this package])
+fi
+AC_MSG_RESULT([found])
+fi
+
if test "$os_linux" = yes; then
PKG_CHECK_MODULES(ALSA, alsa)
AC_SUBST(ALSA_CFLAGS)
diff --git a/python_modules/spice_parser.py b/python_modules/spice_parser.py
index 4c8a57a6..e20e8fc1 100644
--- a/python_modules/spice_parser.py
+++ b/python_modules/spice_parser.py
@@ -1,6 +1,11 @@
-from pyparsing import Literal, CaselessLiteral, Word, OneOrMore, ZeroOrMore, \
- Forward, delimitedList, Group, Optional, Combine, alphas, nums, restOfLine, cStyleComment, \
- alphanums, ParseException, ParseResults, Keyword, StringEnd, replaceWith
+try:
+ from pyparsing import Literal, CaselessLiteral, Word, OneOrMore, ZeroOrMore, \
+ Forward, delimitedList, Group, Optional, Combine, alphas, nums, restOfLine, cStyleComment, \
+ alphanums, ParseException, ParseResults, Keyword, StringEnd, replaceWith
+except ImportError:
+ print "Module pyparsing not found."
+ exit(1)
+
import ptypes
import sys