build: fix 'make dist' for ./configure --without-remote

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 commit is contained in:
Eric Blake 2011-05-11 14:26:06 -06:00
parent 78eb8b60d5
commit b3e6e45075

View File

@ -206,7 +206,10 @@ r1 = (?:/\* \d+ \*/\n)?
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/ r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
.PHONY: remote_protocol-structs .PHONY: remote_protocol-structs
remote_protocol-structs: if WITH_REMOTE
# The .o file that pdwtags parses is created as a side effect of running
# libtool; but from make's perspective we depend on the .lo file.
remote_protocol-structs: libvirt_driver_remote_la-remote_protocol.lo
$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then \ $(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then \
pdwtags --verbose libvirt_driver_remote_la-remote_protocol.$(OBJEXT) \ pdwtags --verbose libvirt_driver_remote_la-remote_protocol.$(OBJEXT) \
| perl -0777 -n \ | perl -0777 -n \
@ -232,12 +235,17 @@ remote_protocol-structs:
-e ' }' \ -e ' }' \
-e '}' \ -e '}' \
> $@-t; \ > $@-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; \ diff -u $@-t $(srcdir)/$@; st=$$?; rm -f $@-t; exit $$st; \
else \ else \
echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \ echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \
echo 'WARNING: install the dwarves package to get pdwtags' >&2; \ echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
fi 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 EXTRA_DIST += remote_protocol-structs
check-local: remote_protocol-structs check-local: remote_protocol-structs
@ -552,6 +560,8 @@ libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
$(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED) $(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
endif WITH_REMOTE
$(srcdir)/remote/%_protocol.c: $(srcdir)/remote/%_protocol.x \ $(srcdir)/remote/%_protocol.c: $(srcdir)/remote/%_protocol.x \
$(srcdir)/remote/%_protocol.h $(srcdir)/remote/rpcgen_fix.pl $(srcdir)/remote/%_protocol.h $(srcdir)/remote/rpcgen_fix.pl
$(AM_V_GEN)perl -w $(srcdir)/remote/rpcgen_fix.pl $(RPCGEN) -c \ $(AM_V_GEN)perl -w $(srcdir)/remote/rpcgen_fix.pl $(RPCGEN) -c \
@ -562,8 +572,6 @@ $(srcdir)/remote/%_protocol.h: $(srcdir)/remote/%_protocol.x \
$(AM_V_GEN)perl -w $(srcdir)/remote/rpcgen_fix.pl $(RPCGEN) -h \ $(AM_V_GEN)perl -w $(srcdir)/remote/rpcgen_fix.pl $(RPCGEN) -h \
$< $@ $< $@
endif
if WITH_XEN if WITH_XEN
if WITH_DRIVER_MODULES if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la mod_LTLIBRARIES += libvirt_driver_xen.la