From df95fc65fb882e01202116f997afe330b8475b88 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Thu, 19 May 2011 15:59:07 +0200 Subject: [PATCH] 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) --- configure.ac | 10 ++++++++++ python_modules/spice_parser.py | 11 ++++++++--- 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