Skip to content

Commit 09b8c0f

Browse files
committed
[docs] Stub out structure for Sphinx-based docs.
- Work in progress, this is just the basic structure. llvm-svn: 155132
1 parent 58cfaf8 commit 09b8c0f

File tree

15 files changed

+1059
-0
lines changed

15 files changed

+1059
-0
lines changed

llvm/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,5 @@ projects/*
4040
tools/clang
4141
# LLDB, which is tracked independently.
4242
tools/lldb
43+
# Sphinx build tree, if building in-source dir.
44+
docs/_build

llvm/docs/Makefile.sphinx

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
PAPER =
8+
BUILDDIR = _build
9+
10+
# Internal variables.
11+
PAPEROPT_a4 = -D latex_paper_size=a4
12+
PAPEROPT_letter = -D latex_paper_size=letter
13+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14+
# the i18n builder cannot share the environment and doctrees with the others
15+
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
16+
17+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
18+
19+
all: html
20+
21+
help:
22+
@echo "Please use \`make <target>' where <target> is one of"
23+
@echo " html to make standalone HTML files"
24+
@echo " dirhtml to make HTML files named index.html in directories"
25+
@echo " singlehtml to make a single large HTML file"
26+
@echo " pickle to make pickle files"
27+
@echo " json to make JSON files"
28+
@echo " htmlhelp to make HTML files and a HTML help project"
29+
@echo " qthelp to make HTML files and a qthelp project"
30+
@echo " devhelp to make HTML files and a Devhelp project"
31+
@echo " epub to make an epub"
32+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
33+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
34+
@echo " text to make text files"
35+
@echo " man to make manual pages"
36+
@echo " texinfo to make Texinfo files"
37+
@echo " info to make Texinfo files and run them through makeinfo"
38+
@echo " gettext to make PO message catalogs"
39+
@echo " changes to make an overview of all changed/added/deprecated items"
40+
@echo " linkcheck to check all external links for integrity"
41+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
42+
43+
clean:
44+
-rm -rf $(BUILDDIR)/*
45+
46+
html:
47+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
48+
@echo
49+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
50+
51+
dirhtml:
52+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
53+
@echo
54+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
55+
56+
singlehtml:
57+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
58+
@echo
59+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
60+
61+
pickle:
62+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
63+
@echo
64+
@echo "Build finished; now you can process the pickle files."
65+
66+
json:
67+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
68+
@echo
69+
@echo "Build finished; now you can process the JSON files."
70+
71+
htmlhelp:
72+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
73+
@echo
74+
@echo "Build finished; now you can run HTML Help Workshop with the" \
75+
".hhp project file in $(BUILDDIR)/htmlhelp."
76+
77+
qthelp:
78+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
79+
@echo
80+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
81+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
82+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/llvm.qhcp"
83+
@echo "To view the help file:"
84+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/llvm.qhc"
85+
86+
devhelp:
87+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
88+
@echo
89+
@echo "Build finished."
90+
@echo "To view the help file:"
91+
@echo "# mkdir -p $$HOME/.local/share/devhelp/llvm"
92+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/llvm"
93+
@echo "# devhelp"
94+
95+
epub:
96+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
97+
@echo
98+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
99+
100+
latex:
101+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
102+
@echo
103+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
104+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
105+
"(use \`make latexpdf' here to do that automatically)."
106+
107+
latexpdf:
108+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
109+
@echo "Running LaTeX files through pdflatex..."
110+
$(MAKE) -C $(BUILDDIR)/latex all-pdf
111+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
112+
113+
text:
114+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
115+
@echo
116+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
117+
118+
man:
119+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
120+
@echo
121+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
122+
123+
texinfo:
124+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
125+
@echo
126+
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
127+
@echo "Run \`make' in that directory to run these through makeinfo" \
128+
"(use \`make info' here to do that automatically)."
129+
130+
info:
131+
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
132+
@echo "Running Texinfo files through makeinfo..."
133+
make -C $(BUILDDIR)/texinfo info
134+
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
135+
136+
gettext:
137+
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
138+
@echo
139+
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
140+
141+
changes:
142+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
143+
@echo
144+
@echo "The overview file is in $(BUILDDIR)/changes."
145+
146+
linkcheck:
147+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
148+
@echo
149+
@echo "Link check complete; look for any errors in the above output " \
150+
"or in $(BUILDDIR)/linkcheck/output.txt."
151+
152+
doctest:
153+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
154+
@echo "Testing of doctests in the sources finished, look at the " \
155+
"results in $(BUILDDIR)/doctest/output.txt."

llvm/docs/README.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
LLVM Documentation
2+
==================
3+
4+
The LLVM documentation is currently written in two formats:
5+
6+
* Plain HTML documentation.
7+
8+
* reStructured Text documentation using the Sphinx documentation generator. It
9+
is currently tested with Sphinx 1.1.3.
10+
11+
For more information, see the "Sphinx Introduction for LLVM Developers"
12+
document.

llvm/docs/_templates/index.html

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{# This template defines the 'index.html' page which we currently only use as
2+
the entry point to the HTML-based documentation, but later can use to provide
3+
an entry point for a Sphinx based LLVM website.
4+
5+
Conceptually, this page is not supposed to be part of the documentation per
6+
se (i.e., the content that would be rendered into a PDF, for example), but
7+
rather provides entry points into the documentation and links to other
8+
content which would only be part of the website. #}
9+
10+
{% extends "layout.html" %}
11+
{% set title = 'lld' %}
12+
{% block body %}
13+
<h1>LLVM System Documentation</h1>
14+
15+
<p class="doc_warning">
16+
This is the front page for the Sphinx-based LLVM documentation. This is
17+
currently a work in progress.
18+
</p>
19+
20+
<h2>Documentation</h2>
21+
<table class="contentstable" align="center" style="margin-left: 30px">
22+
<tr>
23+
<td width="50%">
24+
<p class="biglink"><a class="biglink" href="{{ pathto('contents') }}">
25+
Contents</a><br/>
26+
<span class="linkdescr">for a complete overview</span></p>
27+
<p class="biglink"><a class="biglink" href="{{ pathto('search') }}">
28+
Search page</a><br/>
29+
<span class="linkdescr">search the documentation</span></p>
30+
<p class="biglink"><a class="biglink" href="{{ pathto('genindex') }}">
31+
General Index</a><br/>
32+
<span class="linkdescr">all functions, classes, terms</span></p>
33+
</td></tr>
34+
</table>
35+
36+
<h2>Source</h2>
37+
<p>LLVM is available via public SVN repository:
38+
<tt>svn co
39+
<a href="http://llvm.org/svn/llvm-project/llvm/trunk">
40+
http://llvm.org/svn/llvm-project/llvm/trunk</a></tt>.</p>
41+
42+
<p>LLVM source can be browsed
43+
via <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk">ViewVC</a>.</p>
44+
45+
<p>LLVM is also available via a read-only git mirror:
46+
<tt>git clone
47+
<a href="http://llvm.org/git/llvm.git">
48+
http://llvm.org/git/llvm.git</a></tt>.</p>
49+
50+
{% endblock %}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{# This template defines sidebar which can be used to provide common links on
2+
all documentation pages. #}
3+
4+
<h3>Bugs</h3>
5+
6+
<p>LLVM bugs should be reported to
7+
<a href="http://llvm.org/bugs">Bugzilla</a>.</p>

llvm/docs/_templates/layout.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{% extends "!layout.html" %}
2+
3+
{% block extrahead %}
4+
<style type="text/css">
5+
table.right { float: right; margin-left: 20px; }
6+
table.right td { border: 1px solid #ccc; }
7+
</style>
8+
{% endblock %}
9+
10+
{% block rootrellink %}
11+
<li><a href="{{ pathto('index') }}">LLVM Home</a>&nbsp;|&nbsp;</li>
12+
<li><a href="{{ pathto('contents') }}">Documentation</a>&raquo;</li>
13+
{% endblock %}

0 commit comments

Comments
 (0)