On Tue, Nov 29, 2011 at 12:58:33PM +0000, Daniel P. Berrange wrote:
On Tue, Nov 29, 2011 at 12:32:48PM +0100, Christophe Fergeau wrote:
> libvirt-gconfig genum files are generated in $srcdir but g-ir-scanner
> was told to look for them in $builddir which didn't work so well :)
> ---
> libvirt-gconfig/Makefile.am | 6 ++----
> 1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am
> index b8f3605..f40d32e 100644
> --- a/libvirt-gconfig/Makefile.am
> +++ b/libvirt-gconfig/Makefile.am
> @@ -121,10 +121,8 @@ LibvirtGConfig-1.0.gir: libvirt-gconfig-1.0.la $(G_IR_SCANNER)
Makefile.am
> --c-include="libvirt-gconfig/libvirt-gconfig.h" \
> --pkg-export=libvirt-gconfig-1.0 \
> $(srcdir)/libvirt-gconfig.h \
> - $(GCONFIG_SOURCE_FILES:%=$(srcdir)/%) \
> - $(GCONFIG_HEADER_FILES:%=$(srcdir)/%) \
> - $(builddir)/libvirt-gconfig-enum-types.c \
> - $(builddir)/libvirt-gconfig-enum-types.h
> + $(libvirt_gconfig_1_0_la_HEADERS:%=$(srcdir)/%) \
> + $(libvirt_gconfig_1_0_la_SOURCES:%=$(srcdir)/%)
NACK, this isn't correct.
The enum files *are* generated in $builddir. The problem is that the
libvirt-gconfig/Makefile.am rules are causing the generatd files to
be included by make dist, so when you then unpack the dist you get
the enums in $srcdir instead. Take a look at libvirt-gobject/Makefile.am
which handles enums differently thus avoiding including them in the
dist.
Ok, thanks a lot for the explanation. I'll post an updated patch, and
this hunk needs to go from the patch cleaning up gir generation:
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am
index 7f57aa5..b14bd92 100644
--- a/libvirt-gconfig/Makefile.am
+++ b/libvirt-gconfig/Makefile.am
@@ -117,6 +117,7 @@ LibvirtGConfig-1.0.gir: libvirt-gconfig-1.0.la
$(G_IR_SCANNER) Makefile.am
--symbol-prefix=gvir \
--library=$(builddir)/libvirt-gconfig-1.0.la \
--output $@ \
- -I$(top_builddir) \
-I$(top_srcdir) \
$(LIBXML2_CFLAGS) \
--verbose \
Christophe