commit 7dcd3e179fa5932aa1af4bce31eb66f245a61608 Author: Christophe Fergeau Date: Thu May 19 15:59:07 2011 +0200 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) diff --git a/configure.ac b/configure.ac index 18209bf..c058edd 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 43e930c..1d775bf 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