[libvirt] [RESEND PATCHv3 2/3] build: fix VPATH build of docs
Matthias Bolte
matthias.bolte at googlemail.com
Fri Jun 25 18:00:02 UTC 2010
2010/6/25 Eric Blake <eblake at redhat.com>:
> The rule of thumb for generated files:
> If they are distributed, they should be generated in $(srcdir);
> otherwise, they should be built by the end user in $(builddir).
> Since our .xml docs are built with python, and we want them
> available even to end users that don't build with python, we
> want them distributed; hence, they must live in $(srcdir).
>
> Tested with 'make distcheck' in both an in-tree build and a
> VPATH build.
> -
> -html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
> +$(srcdir)/html/index.html: $(srcdir)/libvirt-api.xml newapi.xsl page.xsl \
> + sitemap.html.in
> - at if [ -x $(XSLTPROC) ] ; then \
> echo "Rebuilding the HTML pages from the XML API" ; \
> - $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi
> + $(XSLTPROC) --nonet -o $(srcdir)/ \
> + $(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml; \
> + fi
> - at if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
> if $(XMLCATALOG) /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN" \
> > /dev/null ; then \
> @@ -129,19 +132,24 @@ html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
> $(XMLLINT) --nonet --valid --noout html/*.html ; \
> else echo "missing XHTML1 DTD" ; fi ; fi
>
> -$(devhelphtml): libvirt-api.xml $(devhelpxsl)
> +$(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
> - at echo Rebuilding devhelp files
> - at if [ -x $(XSLTPROC) ] ; then \
> - $(XSLTPROC) --nonet -o devhelp/libvirt.devhelp \
> - $(top_srcdir)/docs/devhelp/devhelp.xsl libvirt-api.xml ; fi
> -
> -html/%-%.html html/%-virterror.html %-api.xml %-refs.xml: $(srcdir)/apibuild.py
> - -srcdir=$(srcdir) $(srcdir)/apibuild.py
> -
> -html/%-%.html html/%-virterror.html %-api.xml %-refs.xml: \
> - $(srcdir)/../include/%/*.h \
> - $(srcdir)/../src/%.c \
> + $(XSLTPROC) --nonet -o $(srcdir)/devhelp/ \
> + $(srcdir)/devhelp/devhelp.xsl $(srcdir)/libvirt-api.xml ; \
> + fi
This makes xsltproc report and "I/O error : Is a directory" for me. I
think the problem is that we need to specify the output file instead
of the output directory here.
I think the same applies to your change to the xsltproc command some
lines above for $(srcdir)/html/index.html.
> diff --git a/docs/apibuild.py b/docs/apibuild.py
> index 2dda4df..990451c 100755
> --- a/docs/apibuild.py
> +++ b/docs/apibuild.py
> @@ -2109,10 +2116,11 @@ def rebuild():
> builder = docBuilder("libvirt",
> [srcdir + "/../src",
> srcdir + "/../src/util",
> - srcdir + "/../include/libvirt"],
> + srcdir + "/../include/libvirt",
> + "../include/libvirt"],
> [])
This triggers tons or warnings/errors for me:
function virDomainResume from ./../include/libvirt/libvirt.h
redeclared in ../include/libvirt/libvirt.h
Adding "./../include/libvirt" instead of "../include/libvirt" as last
item to the list fixes this for me.
Matthias
More information about the libvir-list
mailing list