aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-09-11 10:48:19 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-09-17 17:03:54 +0100
commitd3900dea28f9ab8207c35365b5fee2058b68fe91 (patch)
treef5b0dfd717f5cc5795bcfd5101d0f9b558d7a52e /docs
parent730127d4a1f5fa60082c86e03e3b872b8e934819 (diff)
downloadxen-d3900dea28f9ab8207c35365b5fee2058b68fe91.tar.gz
xen-d3900dea28f9ab8207c35365b5fee2058b68fe91.tar.bz2
xen-d3900dea28f9ab8207c35365b5fee2058b68fe91.zip
docs: fix documentation index for hypercalls
This was broken by 118104e5eaf2 "docs: Build docs for ARM as well as x86_64". Move docs to hypercall/ARCH instead of hypercall-ARCH. Support mulitple levels of subdirectories in gen-html-index tool. This removes the need for a symlink hypercall->hypercall-x86_64 since there is now a proper index at hypercall/index.html. Update INDEX to human readable names for the architecture specific hypercalls. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/INDEX5
-rw-r--r--docs/Makefile12
-rw-r--r--docs/gen-html-index33
3 files changed, 32 insertions, 18 deletions
diff --git a/docs/INDEX b/docs/INDEX
index f5ccae23c4..fdf0ad82df 100644
--- a/docs/INDEX
+++ b/docs/INDEX
@@ -1,4 +1,7 @@
-hypercall/index Hypercall Interfaces
+hypercall Hypercall Interfaces
+hypercall/arm/index ARM
+hypercall/x86_32/index x86_32
+hypercall/x86_64/index x86_64
man Man Pages
diff --git a/docs/Makefile b/docs/Makefile
index f4801716b3..8d5d48e355 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -15,8 +15,7 @@ DOC_HTML := $(patsubst %.markdown,html/%.html,$(DOC_MARKDOWN)) \
$(patsubst man/%.pod.1,html/man/%.1.html,$(DOC_MAN1SRC)) \
$(patsubst man/%.pod.5,html/man/%.5.html,$(DOC_MAN5SRC)) \
$(patsubst %.txt,html/%.txt,$(wildcard misc/*.txt)) \
- html/hypercall/index.html \
- $(patsubst %,html/hypercall-%/index.html,$(DOC_ARCHES))
+ $(patsubst %,html/hypercall/%/index.html,$(DOC_ARCHES))
DOC_TXT := $(patsubst %.txt,txt/%.txt,$(wildcard misc/*.txt)) \
$(patsubst %.markdown,txt/%.txt,$(DOC_MARKDOWN)) \
$(patsubst man/%.pod.1,txt/man/%.1.txt,$(DOC_MAN1SRC)) \
@@ -125,9 +124,9 @@ else
endif
# For non-x86 arches exclude the subarch whole x86 arch.
-$(foreach i,$(filter-out x86_32 x86_64,$(DOC_ARCHES)),html/hypercall-$(i)/index.html): EXTRA_EXCLUDE := -X arch-x86
+$(foreach i,$(filter-out x86_32 x86_64,$(DOC_ARCHES)),html/hypercall/$(i)/index.html): EXTRA_EXCLUDE := -X arch-x86
-html/hypercall-%/index.html: $(CURDIR)/xen-headers Makefile
+html/hypercall/%/index.html: $(CURDIR)/xen-headers Makefile
rm -rf $(@D)
$(INSTALL_DIR) $(@D)
$(PERL) -w $(CURDIR)/xen-headers -O $(@D) \
@@ -137,10 +136,7 @@ html/hypercall-%/index.html: $(CURDIR)/xen-headers Makefile
$(EXTRA_EXCLUDE) \
$(XEN_ROOT)/xen include/public include/xen/errno.h
-html/hypercall/index.html: html/hypercall-x86_64/index.html
- ln -nfs hypercall-x86_64 html/hypercall
-
--include $(wildcard html/hypercall-*/.deps)
+-include $(wildcard html/hypercall/*/.deps)
txt/%.txt: %.txt
$(INSTALL_DIR) $(@D)
diff --git a/docs/gen-html-index b/docs/gen-html-index
index 7b36a191e3..e9792bf937 100644
--- a/docs/gen-html-index
+++ b/docs/gen-html-index
@@ -71,16 +71,16 @@ sub make_link ($$) {
my ($ref,$base) = @_;
my $txt = make_linktext($ref);
- $ref = basename($ref) if $base;
+ $ref =~ s,^$base/,, if $base; #/
return "<li><a href=\"$ref\">$txt</a></li>\n";
}
-sub make_links ($$@) {
- my ($dir,$base,@docs) = @_;
+sub make_links ($@) {
+ my ($dir,@docs) = @_;
my $idx = '';
foreach my $of (sort { make_linktext($a) cmp make_linktext($b) } @docs) {
- $idx .= make_link($of,$base);
+ $idx .= make_link($of,$dir);
}
return $idx;
}
@@ -103,22 +103,37 @@ sub uniq (@) {
foreach (@_) { $h{$_} = 1; }
return keys %h;
}
-
+
for (@docs) { s,^\Q$outdir\E/,, }
@docs = grep { -e "$outdir/$_" && (make_linktext($_) ne "NO-INDEX") } @docs;
my $top = '';
-foreach my $od (sort { $a cmp $b } uniq map { dirname($_) } @docs) {
+# Return a list of all directories leading to $path
+sub dirs($)
+{
+ my ($path) = @_;
+ my @dirs;
+ while ( $path =~ m,/, )
+ {
+ $path =~ m,/([^/]+)$,;
+ push @dirs, $`;#`
+ $path = $`;#`
+ }
+ return @dirs;
+}
+
+foreach my $od (sort { $a cmp $b } uniq map { dirs($_) } @docs) {
my @d = (grep /^\Q$od\E/, @docs);
if ( @d == 1 and $d[0] eq "$od/index.html" )
{
+ next if $d[0] =~ m,/,;#/ linked to from the subdirectory entry.
$top .= make_link("$od/index.html", 0);
}
else
{
- my $links = make_links($od,0,@d);
+ my $links = make_links(undef,@d);
my $secttitle = make_linktext($od);
$top .= <<END;
<li><a href=\"${od}/index.html\">$secttitle</a></li>
@@ -127,8 +142,8 @@ $links
</ul>
END
- $links = make_links($od,1,@d);
- my $idx = '';
+ $links = make_links($od,@d);
+ my $idx = '';
$idx .= <<END;
<li>$secttitle</li>
<ul>