mirror of https://gitee.com/openkylin/libvirt.git
docs: generate files into build dir and stop distributing them
Historically we did not support VPATH builds and everything was generated into source directory. The introduction of VPATH builds did not changed the way how our documentation is handled. This patch changes the rules to generate everything into build directory and stops distributing generated files in order to have properly separated VPATH builds. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
2b2c3361b6
commit
67a61a1bf6
113
docs/Makefile.am
113
docs/Makefile.am
|
@ -116,15 +116,15 @@ kbase_html_in = \
|
|||
$(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/kbase/*.html.in))
|
||||
kbase_html = $(kbase_html_in:%.html.in=%.html)
|
||||
|
||||
# Since we ship pre-built html in the tarball, we must also
|
||||
# ship the sources, even when those sources are themselves
|
||||
# generated.
|
||||
# Generate hvsupport.html and news.html first, since they take one extra step.
|
||||
dot_html_in = \
|
||||
dot_html_generated_in = \
|
||||
hvsupport.html.in \
|
||||
news.html.in \
|
||||
news.html.in
|
||||
dot_html_in = \
|
||||
$(notdir $(wildcard $(srcdir)/*.html.in))
|
||||
dot_html = $(dot_html_in:%.html.in=%.html)
|
||||
dot_html = \
|
||||
$(dot_html_generated_in:%.html.in=%.html) \
|
||||
$(dot_html_in:%.html.in=%.html)
|
||||
|
||||
xml = \
|
||||
libvirt-api.xml \
|
||||
|
@ -166,27 +166,32 @@ EXTRA_DIST= \
|
|||
apibuild.py genaclperms.pl \
|
||||
site.xsl subsite.xsl newapi.xsl page.xsl \
|
||||
wrapstring.xsl \
|
||||
$(dot_html) $(dot_html_in) $(gif) $(apihtml) $(apipng) \
|
||||
$(xml) $(qemu_xml) $(lxc_xml) $(admin_xml) $(fig) $(png) $(css) \
|
||||
$(dot_html_in) $(gif) $(apipng) \
|
||||
$(fig) $(png) $(css) \
|
||||
$(javascript) $(logofiles) \
|
||||
$(internals_html_in) $(internals_html) $(fonts) \
|
||||
$(kbase_html_in) $(kbase_html) \
|
||||
$(internals_html_in) $(fonts) \
|
||||
$(kbase_html_in) \
|
||||
aclperms.htmlinc \
|
||||
hvsupport.pl \
|
||||
$(schema_DATA)
|
||||
|
||||
acl_generated = aclperms.htmlinc
|
||||
|
||||
$(srcdir)/aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
|
||||
aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
|
||||
$(srcdir)/genaclperms.pl Makefile.am
|
||||
$(AM_V_GEN)$(PERL) $(srcdir)/genaclperms.pl $< > $@
|
||||
|
||||
MAINTAINERCLEANFILES = \
|
||||
$(addprefix $(srcdir)/,$(dot_html)) \
|
||||
$(addprefix $(srcdir)/,$(apihtml)) \
|
||||
$(addprefix $(srcdir)/,$(internals_html)) \
|
||||
$(addprefix $(srcdir)/,$(kbase_html)) \
|
||||
$(srcdir)/hvsupport.html.in $(srcdir)/aclperms.htmlinc
|
||||
CLEANFILES = \
|
||||
$(dot_html) \
|
||||
$(apihtml) \
|
||||
$(internals_html) \
|
||||
$(kbase_html) \
|
||||
$(xml) \
|
||||
$(qemu_xml) \
|
||||
$(lxc_xml) \
|
||||
$(admin_xml) \
|
||||
$(dot_html_generated_in) \
|
||||
aclperms.htmlinc
|
||||
|
||||
timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
|
||||
then \
|
||||
|
@ -197,21 +202,21 @@ timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
|
|||
|
||||
all-am: web
|
||||
|
||||
api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
|
||||
qemu_api: $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
|
||||
lxc_api: $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
|
||||
admin_api: $(srcdir)/libvirt-admin-api.xml $(srcdir)/libvirt-admin-refs.xml
|
||||
api: libvirt-api.xml libvirt-refs.xml
|
||||
qemu_api: libvirt-qemu-api.xml libvirt-qemu-refs.xml
|
||||
lxc_api: libvirt-lxc-api.xml libvirt-lxc-refs.xml
|
||||
admin_api: libvirt-admin-api.xml libvirt-admin-refs.xml
|
||||
|
||||
web: $(dot_html) $(internals_html) $(kbase_html) \
|
||||
html/index.html
|
||||
|
||||
hvsupport.html: $(srcdir)/hvsupport.html.in
|
||||
hvsupport.html: hvsupport.html.in
|
||||
|
||||
$(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
|
||||
hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
|
||||
$(top_srcdir)/src/libvirt_public.syms \
|
||||
$(top_srcdir)/src/libvirt_qemu.syms $(top_srcdir)/src/libvirt_lxc.syms \
|
||||
$(top_srcdir)/src/driver.h
|
||||
$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir)/src > $@ \
|
||||
$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir) $(top_builddir) > $@ \
|
||||
|| { rm $@ && exit 1; }
|
||||
|
||||
news.html.in: \
|
||||
|
@ -226,8 +231,6 @@ EXTRA_DIST += \
|
|||
$(srcdir)/news.xml \
|
||||
$(srcdir)/news.rng \
|
||||
$(srcdir)/news-html.xsl
|
||||
MAINTAINERCLEANFILES += \
|
||||
$(srcdir)/news.html.in
|
||||
|
||||
%.png: %.fig
|
||||
convert -rotate 90 $< $@
|
||||
|
@ -249,36 +252,36 @@ MAINTAINERCLEANFILES += \
|
|||
|| { rm $@ && exit 1; }
|
||||
|
||||
%.html: %.html.tmp
|
||||
$(AM_V_GEN)$(XMLLINT) --nonet --format $< > $(srcdir)/$@ \
|
||||
|| { rm $(srcdir)/$@ && exit 1; }
|
||||
$(AM_V_GEN)$(XMLLINT) --nonet --format $< > $@ \
|
||||
|| { rm $@ && exit 1; }
|
||||
|
||||
$(apihtml_generated): html/index.html
|
||||
|
||||
html/index.html: libvirt-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
|
||||
$(AM_V_GEN)$(XSLTPROC) --nonet -o $(srcdir)/ \
|
||||
$(AM_V_GEN)$(XSLTPROC) --nonet -o ./ \
|
||||
--stringparam builddir '$(abs_top_builddir)' \
|
||||
--stringparam timestamp $(timestamp) \
|
||||
$(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml && \
|
||||
$(XMLLINT) --nonet --noout $(srcdir)/html/*.html
|
||||
$(srcdir)/newapi.xsl libvirt-api.xml && \
|
||||
$(XMLLINT) --nonet --noout html/*.html
|
||||
|
||||
python_generated_files = \
|
||||
$(srcdir)/html/libvirt-libvirt-lxc.html \
|
||||
$(srcdir)/html/libvirt-libvirt-qemu.html \
|
||||
$(srcdir)/html/libvirt-libvirt-admin.html \
|
||||
$(srcdir)/html/libvirt-virterror.html \
|
||||
$(srcdir)/libvirt-api.xml \
|
||||
$(srcdir)/libvirt-refs.xml \
|
||||
$(srcdir)/libvirt-lxc-api.xml \
|
||||
$(srcdir)/libvirt-lxc-refs.xml \
|
||||
$(srcdir)/libvirt-qemu-api.xml \
|
||||
$(srcdir)/libvirt-qemu-refs.xml \
|
||||
$(srcdir)/libvirt-admin-api.xml \
|
||||
$(srcdir)/libvirt-admin-refs.xml \
|
||||
html/libvirt-libvirt-lxc.html \
|
||||
html/libvirt-libvirt-qemu.html \
|
||||
html/libvirt-libvirt-admin.html \
|
||||
html/libvirt-virterror.html \
|
||||
libvirt-api.xml \
|
||||
libvirt-refs.xml \
|
||||
libvirt-lxc-api.xml \
|
||||
libvirt-lxc-refs.xml \
|
||||
libvirt-qemu-api.xml \
|
||||
libvirt-qemu-refs.xml \
|
||||
libvirt-admin-api.xml \
|
||||
libvirt-admin-refs.xml \
|
||||
$(NULL)
|
||||
|
||||
APIBUILD=$(srcdir)/apibuild.py
|
||||
APIBUILD_STAMP=$(APIBUILD).stamp
|
||||
EXTRA_DIST += $(APIBUILD_STAMP)
|
||||
APIBUILD_STAMP=apibuild.py.stamp
|
||||
CLEANFILES += $(APIBUILD_STAMP)
|
||||
|
||||
$(python_generated_files): $(APIBUILD_STAMP)
|
||||
|
||||
|
@ -327,22 +330,14 @@ $(APIBUILD_STAMP): $(srcdir)/apibuild.py \
|
|||
check-local: all
|
||||
dist-local: all
|
||||
|
||||
clean-local:
|
||||
rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html html/*.html
|
||||
|
||||
maintainer-clean-local: clean-local
|
||||
rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
|
||||
rm -rf $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
|
||||
rm -rf $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
|
||||
rm -rf $(srcdir)/libvirt-admin-api.xml $(srcdir)/libvirt-admin-refs.xml
|
||||
rm -rf $(APIBUILD_STAMP)
|
||||
|
||||
rebuild: api qemu_api lxc_api admin_api all
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
|
||||
for f in $(css) $(dot_html) $(gif) $(png); do \
|
||||
for f in $(css) $(gif) $(png); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR); done
|
||||
for f in $(dot_html); do \
|
||||
$(INSTALL) -m 0644 $$f $(DESTDIR)$(HTML_DIR); done
|
||||
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/js
|
||||
for f in $(javascript); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/js/; done
|
||||
|
@ -351,15 +346,15 @@ install-data-local:
|
|||
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/logos; done
|
||||
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
|
||||
for h in $(apihtml); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$h $(DESTDIR)$(HTML_DIR)/html; done
|
||||
$(INSTALL) -m 0644 $$h $(DESTDIR)$(HTML_DIR)/html; done
|
||||
for p in $(apipng); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$p $(DESTDIR)$(HTML_DIR)/html; done
|
||||
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/internals
|
||||
for f in $(internals_html); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/internals; done
|
||||
$(INSTALL) -m 0644 $$f $(DESTDIR)$(HTML_DIR)/internals; done
|
||||
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/kbase
|
||||
for f in $(kbase_html); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/kbase; done
|
||||
$(INSTALL) -m 0644 $$f $(DESTDIR)$(HTML_DIR)/kbase; done
|
||||
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/fonts
|
||||
for f in $(fonts); do \
|
||||
$(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/fonts; \
|
||||
|
|
|
@ -2551,7 +2551,7 @@ class app:
|
|||
srcdir + "/../src/util",
|
||||
srcdir + "/../include/libvirt",
|
||||
builddir + "/../include/libvirt"]
|
||||
builder = docBuilder(name, srcdir, dirs, [])
|
||||
builder = docBuilder(name, builddir, dirs, [])
|
||||
else:
|
||||
self.warning("rebuild() failed, unable to guess the module")
|
||||
return None
|
||||
|
|
|
@ -5,23 +5,24 @@ use warnings;
|
|||
|
||||
use File::Find;
|
||||
|
||||
die "syntax: $0 SRCDIR\n" unless int(@ARGV) == 1;
|
||||
die "syntax: $0 SRCDIR BUILDDIR\n" unless int(@ARGV) == 2;
|
||||
|
||||
my $srcdir = shift @ARGV;
|
||||
my $builddir = shift @ARGV;
|
||||
|
||||
my $symslibvirt = "$srcdir/libvirt_public.syms";
|
||||
my $symsqemu = "$srcdir/libvirt_qemu.syms";
|
||||
my $symslxc = "$srcdir/libvirt_lxc.syms";
|
||||
my $symslibvirt = "$srcdir/src/libvirt_public.syms";
|
||||
my $symsqemu = "$srcdir/src/libvirt_qemu.syms";
|
||||
my $symslxc = "$srcdir/src/libvirt_lxc.syms";
|
||||
my @drivertable = (
|
||||
"$srcdir/driver-hypervisor.h",
|
||||
"$srcdir/driver-interface.h",
|
||||
"$srcdir/driver-network.h",
|
||||
"$srcdir/driver-nodedev.h",
|
||||
"$srcdir/driver-nwfilter.h",
|
||||
"$srcdir/driver-secret.h",
|
||||
"$srcdir/driver-state.h",
|
||||
"$srcdir/driver-storage.h",
|
||||
"$srcdir/driver-stream.h",
|
||||
"$srcdir/src/driver-hypervisor.h",
|
||||
"$srcdir/src/driver-interface.h",
|
||||
"$srcdir/src/driver-network.h",
|
||||
"$srcdir/src/driver-nodedev.h",
|
||||
"$srcdir/src/driver-nwfilter.h",
|
||||
"$srcdir/src/driver-secret.h",
|
||||
"$srcdir/src/driver-state.h",
|
||||
"$srcdir/src/driver-storage.h",
|
||||
"$srcdir/src/driver-stream.h",
|
||||
);
|
||||
|
||||
my %groupheaders = (
|
||||
|
@ -38,10 +39,10 @@ my %groupheaders = (
|
|||
my @srcs;
|
||||
find({
|
||||
wanted => sub {
|
||||
if (m!$srcdir/.*/\w+_(driver|common|tmpl|monitor|hal|udev)\.c$!) {
|
||||
if (m!$srcdir/src/.*/\w+_(driver|common|tmpl|monitor|hal|udev)\.c$!) {
|
||||
push @srcs, $_ if $_ !~ /vbox_driver\.c/;
|
||||
}
|
||||
}, no_chdir => 1}, $srcdir);
|
||||
}, no_chdir => 1}, "$srcdir/src");
|
||||
|
||||
# Map API functions to the header and documentation files they're in
|
||||
# so that we can generate proper hyperlinks to their documentation.
|
||||
|
@ -120,13 +121,13 @@ sub parseSymsFile {
|
|||
|
||||
my %apis;
|
||||
# Get the list of all public APIs and their corresponding version
|
||||
parseSymsFile(\%apis, "LIBVIRT", $symslibvirt, "$srcdir/../docs/libvirt-api.xml");
|
||||
parseSymsFile(\%apis, "LIBVIRT", $symslibvirt, "$builddir/docs/libvirt-api.xml");
|
||||
|
||||
# And the same for the QEMU specific APIs
|
||||
parseSymsFile(\%apis, "LIBVIRT_QEMU", $symsqemu, "$srcdir/../docs/libvirt-qemu-api.xml");
|
||||
parseSymsFile(\%apis, "LIBVIRT_QEMU", $symsqemu, "$builddir/docs/libvirt-qemu-api.xml");
|
||||
|
||||
# And the same for the LXC specific APIs
|
||||
parseSymsFile(\%apis, "LIBVIRT_LXC", $symslxc, "$srcdir/../docs/libvirt-lxc-api.xml");
|
||||
parseSymsFile(\%apis, "LIBVIRT_LXC", $symslxc, "$builddir/docs/libvirt-lxc-api.xml");
|
||||
|
||||
|
||||
# Some special things which aren't public APIs,
|
||||
|
|
Loading…
Reference in New Issue