Hi, ax_python_module.m4 is needed for RHEL6 Pavel On Mon, 2015-07-06 at 18:33 +0200, Christophe Fergeau wrote: > This flag is only used for git builds, and can usually safely be > disabled. > When it's enabled, configure.ac will check that python-six and pyparsing > are available, and will use these together with the codegen python > scripts in order to automatically regenerate enums.h when the .proto > files change. > --- > autogen.sh | 2 +- > configure.ac | 16 ++++++++++++++++ > spice/Makefile.am | 24 ++++++++++++++++++++++++ > 3 files changed, 41 insertions(+), 1 deletion(-) > > diff --git a/autogen.sh b/autogen.sh > index de6881d..9e5365e 100755 > --- a/autogen.sh > +++ b/autogen.sh > @@ -11,7 +11,7 @@ test -z "$srcdir" && srcdir=. > autoreconf --verbose --force --install > ) > > -CONFIGURE_ARGS="--enable-maintainer-mode" > +CONFIGURE_ARGS="--enable-maintainer-mode --enable-code-generator" > > if [ -z "$NOCONFIGURE" ]; then > echo "Running configure with $CONFIGURE_ARGS $@" > diff --git a/configure.ac b/configure.ac > index 4cc6a27..341f515 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -14,6 +14,22 @@ AM_MAINTAINER_MODE > > m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) > > +dnl Enable generation of enums.h, mainly useful when building from git, > +dnl should not be needed for tarball users > +AC_ARG_ENABLE([code-generator], > + AS_HELP_STRING([--enable-code-generator=@<:@yes/no/auto@:>@], > + [Enable checks needed to use the Python code generator > @<:@default=auto@:>@]), > + [], > + [enable_code_generator="auto"]) > +if test "x$enable_code_generator" != "xno"; then > + AS_IF([test "x$enable_code_generator" = "xyes"], modules_required=[1], > modules_required=[]) > + AX_PYTHON_MODULE([six], $modules_required) > + AX_PYTHON_MODULE([pyparsing], $modules_required) > + AS_IF([test "x${HAVE_PYMOD_SIX}" = "xno"], enable_code_generator="no") > + AS_IF([test "x${HAVE_PYMOD_PYPARSING}" = "xno"], > enable_code_generator="no") > +fi > +AM_CONDITIONAL([ENABLE_CODEGEN], [test "x$enable_code_generator" != "xno"]) > + > AC_OUTPUT([ > Makefile > spice-protocol.pc > diff --git a/spice/Makefile.am b/spice/Makefile.am > index a54ae89..9be09ec 100644 > --- a/spice/Makefile.am > +++ b/spice/Makefile.am > @@ -21,4 +21,28 @@ spice_protocol_include_HEADERS = \ > vdi_dev.h \ > $(NULL) > > +# Using the python code generator requires some python modules > +# which might not be installed on the user computer. Given that > +# enums.h is stored in git, and should be up-to-date anyway, > +# we can make this part optional > +if ENABLE_CODEGEN > +MARSHALLERS_DEPS = \ > + $(top_srcdir)/python_modules/__init__.py \ > + $(top_srcdir)/python_modules/codegen.py \ > + $(top_srcdir)/python_modules/demarshal.py \ > + $(top_srcdir)/python_modules/marshal.py \ > + $(top_srcdir)/python_modules/ptypes.py \ > + $(top_srcdir)/python_modules/spice_parser.py \ > + $(top_srcdir)/spice_codegen.py \ > + $(NULL) > + > +BUILT_SOURCES = enums.h > + > +# this is going to upset automake distcheck, since we try to write to > +# readonly srcdir. To limit the fail chances, rebuild automatically > +# enums.h only if the spice.proto has changed. > +enums.h: $(top_srcdir)/spice.proto # $(MARSHALLERS_DEPS) > + $(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-enums > $< $@ >/dev/null > +endif > + > -include $(top_srcdir)/git.mk _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel