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