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

Eric Blake eblake at redhat.com
Wed May 11 20:30:32 UTC 2011


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)
 	$(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
-- 
1.7.4.4




More information about the libvir-list mailing list