[libvirt] [PATCH] build: fix 'make dist' for ./configure --without-remote

Wen Congyang wency at cn.fujitsu.com
Mon May 16 02:51:43 UTC 2011


At 05/12/2011 04:30 AM, Eric Blake Write:
> Anything generated that must end up in the tarball must either
> have unconditional rules for generation (remote_protocol.c) or
> must live in libvirt.git for the case where the person running
> 'make dist' has disabled the configure options that control the
> rebuild of the generated file (remote_protocol-structs).
> 
> * src/Makefile.am (remote_protocol-structs): Add a dependency and
> document why it must live in git.
> ($(srcdir)/remote/%_protocol.c, $(srcdir)/remote/%_protocol.c):
> Unconditionally generate.
> ---
> 
> This should be the last piece of the puzzle for fixing an issue
> that I first pointed out here:
> https://www.redhat.com/archives/libvir-list/2011-May/msg00343.html
> 
>  src/Makefile.am |   14 ++++++++++----
>  1 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 75ece49..af65158 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -206,7 +206,8 @@ r1 = (?:/\* \d+ \*/\n)?
>  r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
> 
>  .PHONY: remote_protocol-structs
> -remote_protocol-structs:
> +if WITH_REMOTE
> +remote_protocol-structs: libvirt_driver_remote_la-remote_protocol.$(OBJEXT)

This line will introduce another problem for ./configure --with-remote:
make[1]: *** No rule to make target `libvirt_driver_remote_la-remote_protocol.o', needed by `remote_protocol-structs'.  Stop.
make[1]: Leaving directory `/home/wency/source/libvirt-nodaemon/src'
make: *** [distdir] Error 1


>  	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
>  	  pdwtags --verbose libvirt_driver_remote_la-remote_protocol.$(OBJEXT) \
>  	    | perl -0777 -n						\
> @@ -232,12 +233,17 @@ remote_protocol-structs:
>  		-e '  }'						\
>  		-e '}'							\
>  		> $@-t;							\
> -          case $$? in 8) exit 0;; 0) ;; *) exit 1;; esac;		\
> +	  case $$? in 8) exit 0;; 0) ;; *) exit 1;; esac;		\
>  	  diff -u $@-t $(srcdir)/$@; st=$$?; rm -f $@-t; exit $$st;	\
>  	else								\
>  	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
>  	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
>  	fi
> +else !WITH_REMOTE
> +# This generated file must live in git, because it cannot be re-generated
> +# when configured --without-remote.
> +remote_protocol-structs:
> +endif
>  EXTRA_DIST += remote_protocol-structs
>  check-local: remote_protocol-structs
> 
> @@ -551,6 +557,8 @@ libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
> 
>  $(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
> 
> +endif WITH_REMOTE
> +
>  $(srcdir)/remote/%_protocol.c: $(srcdir)/remote/%_protocol.x \
>  		$(srcdir)/remote/%_protocol.h $(srcdir)/remote/rpcgen_fix.pl
>  	$(AM_V_GEN)perl -w $(srcdir)/remote/rpcgen_fix.pl $(RPCGEN) -c \
> @@ -561,8 +569,6 @@ $(srcdir)/remote/%_protocol.h: $(srcdir)/remote/%_protocol.x \
>  	$(AM_V_GEN)perl -w $(srcdir)/remote/rpcgen_fix.pl $(RPCGEN) -h \
>  	       $< $@
> 
> -endif
> -
>  if WITH_XEN
>  if WITH_DRIVER_MODULES
>  mod_LTLIBRARIES += libvirt_driver_xen.la




More information about the libvir-list mailing list