From b759a52fcdf18334b03555840fa23e9b7b9d5db5 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 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