summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2011-05-19 15:59:07 +0200
committerAlon Levy <alevy@redhat.com>2011-07-21 15:09:28 +0300
commitb759a52fcdf18334b03555840fa23e9b7b9d5db5 (patch)
tree90be7f2c4a24d289731d9529bb29f4e97264dfc6
parente482c1f640e397dfb277900873400015884adb1b (diff)
downloadspice-b759a52fcdf18334b03555840fa23e9b7b9d5db5.tar.gz
spice-b759a52fcdf18334b03555840fa23e9b7b9d5db5.tar.xz
spice-b759a52fcdf18334b03555840fa23e9b7b9d5db5.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 10643041..f1581368 100644
--- a/configure.ac
+++ b/configure.ac
@@ -205,6 +205,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 43e930c5..1d775bfa 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