Eric Blake wrote:
On 04/28/2010 04:29 AM, Jim Meyering wrote:
> Eric Blake wrote:
>> Match the fact that docs/Makefile.am dumps libvirt-api.xml in the
>> build dir, not the source dir.
>>
>> * python/Makefile.am (API_DESC): Point make to the builddir for .xml files.
>> * python/generator.py (buildStubs): Output in correct location.
>
> Hi Eric,
>
> Does this fix a failure or just ensure that we use more
> up to date .xml files?
It was an actual VPATH build failure. <goes to look in scrollback
buffer...>
make[3]: Entering directory `/home/eblake/libvirt/build-rawhide/python'
make[3]: *** No rule to make target `../../docs/libvirt-api.xml', needed
by `generated.stamp'. Stop.
> With just your cfg.mk patch, I ran a srcdir ./autogen.sh && make distclean
> followed by "make check syntax-check" from a non-srcdir build dir.
> It succeeded.
>
> The only potential down-side I see is that this requires running Python
> (though only in a VPATH build?), to recreate a distributed file that is
> available in $(srcdir).
That chunk of python/Makefile.am is guarded by WITH_PYTHON. So before
the patch, the file libvirt-override-api.xml was only available in
$(srcdir) if python was present _and_ builddir=srcdir; after the patch,
it is only available in $(builddir) if python is present. But since
docs/libvirt-api.xml was only available in $(builddir), we might as well
be consistent on the two .xml files.
Should we be distributing a pre-built libvirt-api.xml and
libvirt-override-api.xml? If so, then we should ditch this patch and
I doubt we've documented the criteria libvirt uses for deciding whether
to distribute generated files. However, one good reason to distribute
such files (generated by python scripts) is to be able to provide the
API xml files even to people who lack python support and to those who
choose to configure --without-python.
instead do a patch to stick docs/libvirt-api.xml into $(srcdir)
instead
of $(builddir). If not, then I need to tweak this patch to remove
libvirt-override-api.xml from EXTRA_DIST. Either way, I guess I need to
test 'make dist' before proposing v2 of this patch. Thoughts?