1# -*- coding: utf-8 -*-
2# SPDX-License-Identifier: CC-BY-4.0
3#
4# Configuration file for the Sphinx documentation builder.
5#
6# This file does only contain a selection of the most common options. For a
7# full list see the documentation:
8# http://www.sphinx-doc.org/en/master/config
9
10# -- Path setup --------------------------------------------------------------
11
12# If extensions (or modules to document with autodoc) are in another directory,
13# add these directories to sys.path here. If the directory is relative to the
14# documentation root, use os.path.abspath to make it absolute, like shown here.
15#
16# import os
17# import sys
18# sys.path.insert(0, os.path.abspath('.'))
19
20
21# -- Project information -----------------------------------------------------
22
23project = u'Xen'
24copyright = u'2019, The Xen development community'
25author = u'The Xen development community'
26
27# Pull the Xen version straight out of the Makefile
28try:
29    xen_ver = xen_subver = xen_extra = None
30
31    for line in open(u"../xen/Makefile"):
32        if line.startswith(u"export XEN_VERSION"):
33            xen_ver = line.split(u"=")[1].strip()
34        elif line.startswith(u"export XEN_SUBVERSION"):
35            xen_subver = line.split(u"=")[1].strip()
36        elif line.startswith(u"export XEN_EXTRAVERSION"):
37            xen_extra = line.split(u"=")[1].split(u"$", 1)[0].strip()
38except:
39    pass
40finally:
41    if xen_ver and xen_subver and xen_extra:
42        version = xen_ver + u"." + xen_subver
43        release = version + xen_extra
44    else:
45        version = release = u"unknown version"
46
47# -- General configuration ---------------------------------------------------
48
49# If your documentation needs a minimal Sphinx version, state it here.
50#
51needs_sphinx = '1.4'
52
53# Add any Sphinx extension module names here, as strings. They can be
54# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
55# ones.
56extensions = []
57
58# Add any paths that contain templates here, relative to this directory.
59templates_path = ['_templates']
60
61# The suffix(es) of source filenames.
62# You can specify multiple suffix as a list of string:
63#
64# source_suffix = ['.rst', '.md']
65source_suffix = '.rst'
66
67# The master toctree document.
68master_doc = 'index'
69
70# The language for content autogenerated by Sphinx. Refer to documentation
71# for a list of supported languages.
72#
73# This is also used if you do content translation via gettext catalogs.
74# Usually you set "language" from the command line for these cases.
75language = None
76
77# List of patterns, relative to source directory, that match files and
78# directories to ignore when looking for source files.
79# This pattern also affects html_static_path and html_extra_path.
80exclude_patterns = [u'sphinx/output', 'Thumbs.db', '.DS_Store']
81
82# The name of the Pygments (syntax highlighting) style to use.
83pygments_style = None
84
85primary_domain = 'c'
86highlight_language = 'none'
87
88# -- Options for HTML output -------------------------------------------------
89
90# The theme to use for HTML and HTML Help pages.  See the documentation for
91# a list of builtin themes.
92#
93try:
94    import sphinx_rtd_theme
95    html_theme = 'sphinx_rtd_theme'
96    html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
97except ImportError:
98    sys.stderr.write('Warning: The Sphinx \'sphinx_rtd_theme\' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.\n')
99
100# Theme options are theme-specific and customize the look and feel of a theme
101# further.  For a list of options available for each theme, see the
102# documentation.
103#
104# html_theme_options = {}
105
106# Add any paths that contain custom static files (such as style sheets) here,
107# relative to this directory. They are copied after the builtin static files,
108# so a file named "default.css" will overwrite the builtin "default.css".
109html_static_path = []
110
111# Custom sidebar templates, must be a dictionary that maps document names
112# to template names.
113#
114# The default sidebars (for documents that don't match any pattern) are
115# defined by theme itself.  Builtin themes are using these templates by
116# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
117# 'searchbox.html']``.
118#
119# html_sidebars = {}
120
121
122# -- Options for HTMLHelp output ---------------------------------------------
123
124# Output file base name for HTML help builder.
125htmlhelp_basename = 'Xendoc'
126
127
128# -- Options for LaTeX output ------------------------------------------------
129
130latex_elements = {
131    # The paper size ('letterpaper' or 'a4paper').
132    #
133    # 'papersize': 'letterpaper',
134
135    # The font size ('10pt', '11pt' or '12pt').
136    #
137    # 'pointsize': '10pt',
138
139    # Additional stuff for the LaTeX preamble.
140    #
141    # 'preamble': '',
142
143    # Latex figure (float) alignment
144    #
145    # 'figure_align': 'htbp',
146}
147
148# Grouping the document tree into LaTeX files. List of tuples
149# (source start file, target name, title,
150#  author, documentclass [howto, manual, or own class]).
151latex_documents = [
152    (master_doc, 'Xen.tex', u'Xen Documentation',
153     u'The Xen development community', 'manual'),
154]
155
156
157# -- Options for manual page output ------------------------------------------
158
159# One entry per manual page. List of tuples
160# (source start file, name, description, authors, manual section).
161man_pages = [
162    (master_doc, 'xen', u'Xen Documentation',
163     [author], 1)
164]
165
166
167# -- Options for Texinfo output ----------------------------------------------
168
169# Grouping the document tree into Texinfo files. List of tuples
170# (source start file, target name, title, author,
171#  dir menu entry, description, category)
172texinfo_documents = [
173    (master_doc, 'Xen', u'Xen Documentation',
174     author, 'Xen', 'One line description of project.',
175     'Miscellaneous'),
176]
177
178
179# -- Options for Epub output -------------------------------------------------
180
181# Bibliographic Dublin Core info.
182epub_title = project
183
184# The unique identifier of the text. This can be a ISBN number
185# or the project homepage.
186#
187# epub_identifier = ''
188
189# A unique identification for the text.
190#
191# epub_uid = ''
192
193# A list of files that should not be packed into the epub file.
194epub_exclude_files = ['search.html']
195