[Spice-devel] [PATCH] build-sys: fix make distcheck

Alon Levy alevy at redhat.com
Mon Jul 16 08:00:45 PDT 2012


On Mon, Jul 16, 2012 at 04:16:54PM +0200, Marc-André Lureau wrote:
> - don't try to overwrite read-only enums.h

I thought you were speaking about fixing non related enums.h problem.
For enums.h I have a fix already that changed $(top_srcdir) to ../ like
Christophe suggested, so it changes _build files and not source. For
intree build this is the same, for out of tree build make dist will
break (have the wrong enums.h) but only if spice.proto has changed (or
any of the build machinary). I don't personally do make dist in an
out-of-tree build, so I'm not sure that's a problem.

> - DIST_SUBDIRS is no longer needed
> ---
>  Makefile.am        |    1 -
>  common/Makefile.am |    5 ++++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile.am b/Makefile.am
> index 79f7903..30c4f37 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -2,7 +2,6 @@ NULL =
>  ACLOCAL_AMFLAGS = -I m4
>  
>  SUBDIRS = python_modules common spice-protocol
> -DIST_SUBDIRS = spice-protocol $(SUBDIRS)

This is fine.

>  
>  EXTRA_DIST =				\
>  	spice_codegen.py		\
> diff --git a/common/Makefile.am b/common/Makefile.am
> index 3210fc8..5f2c6e5 100644
> --- a/common/Makefile.am
> +++ b/common/Makefile.am
> @@ -122,7 +122,10 @@ generated_server_marshallers.c: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
>  generated_server_marshallers.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
>  	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --server --include messages.h -H $< $@ >/dev/null
>  
> -$(top_srcdir)/spice-protocol/spice/enums.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
> +# 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.
> +$(top_srcdir)/spice-protocol/spice/enums.h: $(top_srcdir)/spice.proto # $(MARSHALLERS_DEPS)
>  	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-enums $< $@ >/dev/null

Drop this, instead use the following:


commit d0cbc0518fcb0ad5f441387a4530c63ff377ba48
Author: Alon Levy <alevy at redhat.com>
Date:   Mon Jul 16 12:04:34 2012 +0300

    enums.h: generate in build directory, passes distcheck

diff --git a/common/Makefile.am b/common/Makefile.am
index 3210fc8..3ae2a6b 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -14,7 +14,7 @@ SERVER_MARSHALLERS =					\
 	$(srcdir)/generated_server_marshallers.h	\
 	$(NULL)
 
-BUILT_SOURCES = $(CLIENT_MARSHALLERS) $(SERVER_MARSHALLERS) $(top_srcdir)/spice-protocol/spice/enums.h
+BUILT_SOURCES = $(CLIENT_MARSHALLERS) $(SERVER_MARSHALLERS) ../spice-protocol/spice/enums.h
 
 noinst_LTLIBRARIES = libspice-common.la libspice-common-server.la libspice-common-client.la
 libspice_common_la_SOURCES =		\
@@ -122,7 +122,7 @@ generated_server_marshallers.c: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
 generated_server_marshallers.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
 	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --server --include messages.h -H $< $@ >/dev/null
 
-$(top_srcdir)/spice-protocol/spice/enums.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
+../spice-protocol/spice/enums.h: $(top_srcdir)/spice.proto $(MARSHALLERS_DEPS)
 	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-enums $< $@ >/dev/null
 
 EXTRA_DIST =				\


>  
>  EXTRA_DIST =				\
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list