[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