[libvirt] [PATCH] build: fix 'make dist' without dtrace
Daniel P. Berrange
berrange at redhat.com
Thu Dec 1 17:45:09 UTC 2011
On Thu, Dec 01, 2011 at 10:17:04AM -0700, Eric Blake wrote:
> probes.h can only be generated on Linux, and then only with dtrace
> installed. If it is part of the tarball, then either 'make dist'
> will fail if you don't have that setup, or we would have to start
> keeping probes.h in libvirt.git. Since we only need it to be
> generated when dtrace is in use, it's better to avoid shipping
> it in the first place, and avoid tracking it in git.
>
> Meanwhile, there is a build dependency - since the RPC code is
> generated, it can be built early; but when dtrace is enabled, we
> must ensure probes.h is built even earlier. Commit 1afcfbdd tried
> to fix this, but did so in a way that added probes.h into the
> tarball, and broke VPATH as well. Commit ecbca767 fixed VPATH,
> but didn't fix the more fundamental problem. This patch solves
> the issue by adding a dependency instead.
>
> Tested with 'make dist' in a clean VPATH builds, for both
> './configure --without-dtrace' and './configure --with-dtrace';
> all configurations were able to correctly build a tarball, and
> the dtrace configuration no longer sticks probes.h in the tarball.
>
> * src/Makefile.am (REMOTE_DRIVER_GENERATED): Don't ship probes.h;
> rather, make it a dependency.
> ---
>
> Pushing under the build-breaker rule, since I reproduced a
> failure with './configure --without-dtrace && make dist' without
> this patch.
>
> src/Makefile.am | 9 +++------
> 1 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 4c98397..93bf54c 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -202,11 +202,6 @@ REMOTE_DRIVER_GENERATED = \
> $(srcdir)/remote/qemu_protocol.h \
> $(srcdir)/remote/qemu_client_bodies.h
>
> -# The remote RPC driver needs probes.h
> -if WITH_DTRACE
> -REMOTE_DRIVER_GENERATED += probes.h
> -endif
> -
> REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
> QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
> REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL)
> @@ -646,7 +641,6 @@ libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
> endif
> libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
>
> -
> $(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
>
> endif WITH_REMOTE
> @@ -1283,6 +1277,9 @@ if WITH_DTRACE
> libvirt_la_BUILT_LIBADD += probes.o
> libvirt_la_DEPENDENCIES += probes.o
> nodist_libvirt_la_SOURCES = probes.h
> +if WITH_REMOTE
> +$(REMOTE_DRIVER_GENERATED): probes.h
> +endif WITH_REMOTE
>
> BUILT_SOURCES += probes.h libvirt_probes.stp libvirt_functions.stp
>
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list