1 # -*- coding: utf-8 -*- 2 # 3 # Clang documentation build configuration file, created by 4 # sphinx-quickstart on Sun Dec 9 20:01:55 2012. 5 # 6 # This file is execfile()d with the current directory set to its containing dir. 7 # 8 # Note that not all possible configuration values are present in this 9 # autogenerated file. 10 # 11 # All configuration values have a default; values that are commented out 12 # serve to show the default. 13 14 import sys, os 15 from datetime import date 16 17 # If extensions (or modules to document with autodoc) are in another directory, 18 # add these directories to sys.path here. If the directory is relative to the 19 # documentation root, use os.path.abspath to make it absolute, like shown here. 20 #sys.path.insert(0, os.path.abspath('.')) 21 22 # -- General configuration ----------------------------------------------------- 23 24 # If your documentation needs a minimal Sphinx version, state it here. 25 #needs_sphinx = '1.0' 26 27 # Add any Sphinx extension module names here, as strings. They can be extensions 28 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. 29 extensions = ['sphinx.ext.todo', 'sphinx.ext.mathjax'] 30 31 # Add any paths that contain templates here, relative to this directory. 32 templates_path = ['_templates'] 33 34 # The suffix of source filenames. 35 source_suffix = '.rst' 36 37 # The encoding of source files. 38 #source_encoding = 'utf-8-sig' 39 40 # The master toctree document. 41 master_doc = 'index' 42 43 # General information about the project. 44 project = u'Clang' 45 copyright = u'2007-%d, The Clang Team' % date.today().year 46 47 # The version info for the project you're documenting, acts as replacement for 48 # |version| and |release|, also used in various other places throughout the 49 # built documents. 50 # 51 # The short X.Y version. 52 version = '3.8' 53 # The full version, including alpha/beta/rc tags. 54 release = '3.8' 55 56 # The language for content autogenerated by Sphinx. Refer to documentation 57 # for a list of supported languages. 58 #language = None 59 60 # There are two options for replacing |today|: either, you set today to some 61 # non-false value, then it is used: 62 #today = '' 63 # Else, today_fmt is used as the format for a strftime call. 64 #today_fmt = '%B %d, %Y' 65 66 # List of patterns, relative to source directory, that match files and 67 # directories to ignore when looking for source files. 68 exclude_patterns = ['_build', 'analyzer'] 69 70 # The reST default role (used for this markup: `text`) to use for all documents. 71 #default_role = None 72 73 # If true, '()' will be appended to :func: etc. cross-reference text. 74 #add_function_parentheses = True 75 76 # If true, the current module name will be prepended to all description 77 # unit titles (such as .. function::). 78 #add_module_names = True 79 80 # If true, sectionauthor and moduleauthor directives will be shown in the 81 # output. They are ignored by default. 82 #show_authors = False 83 84 # The name of the Pygments (syntax highlighting) style to use. 85 pygments_style = 'friendly' 86 87 # A list of ignored prefixes for module index sorting. 88 #modindex_common_prefix = [] 89 90 91 # -- Options for HTML output --------------------------------------------------- 92 93 # The theme to use for HTML and HTML Help pages. See the documentation for 94 # a list of builtin themes. 95 html_theme = 'haiku' 96 97 # Theme options are theme-specific and customize the look and feel of a theme 98 # further. For a list of options available for each theme, see the 99 # documentation. 100 #html_theme_options = {} 101 102 # Add any paths that contain custom themes here, relative to this directory. 103 #html_theme_path = [] 104 105 # The name for this set of Sphinx documents. If None, it defaults to 106 # "<project> v<release> documentation". 107 #html_title = None 108 109 # A shorter title for the navigation bar. Default is the same as html_title. 110 #html_short_title = None 111 112 # The name of an image file (relative to this directory) to place at the top 113 # of the sidebar. 114 #html_logo = None 115 116 # The name of an image file (within the static path) to use as favicon of the 117 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 118 # pixels large. 119 #html_favicon = None 120 121 # Add any paths that contain custom static files (such as style sheets) here, 122 # relative to this directory. They are copied after the builtin static files, 123 # so a file named "default.css" will overwrite the builtin "default.css". 124 html_static_path = [] 125 126 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, 127 # using the given strftime format. 128 #html_last_updated_fmt = '%b %d, %Y' 129 130 # If true, SmartyPants will be used to convert quotes and dashes to 131 # typographically correct entities. 132 #html_use_smartypants = True 133 134 # Custom sidebar templates, maps document names to template names. 135 #html_sidebars = {} 136 137 # Additional templates that should be rendered to pages, maps page names to 138 # template names. 139 #html_additional_pages = {} 140 141 # If false, no module index is generated. 142 #html_domain_indices = True 143 144 # If false, no index is generated. 145 #html_use_index = True 146 147 # If true, the index is split into individual pages for each letter. 148 #html_split_index = False 149 150 # If true, links to the reST sources are added to the pages. 151 #html_show_sourcelink = True 152 153 # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. 154 #html_show_sphinx = True 155 156 # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. 157 #html_show_copyright = True 158 159 # If true, an OpenSearch description file will be output, and all pages will 160 # contain a <link> tag referring to it. The value of this option must be the 161 # base URL from which the finished HTML is served. 162 #html_use_opensearch = '' 163 164 # This is the file name suffix for HTML files (e.g. ".xhtml"). 165 #html_file_suffix = None 166 167 # Output file base name for HTML help builder. 168 htmlhelp_basename = 'Clangdoc' 169 170 171 # -- Options for LaTeX output -------------------------------------------------- 172 173 latex_elements = { 174 # The paper size ('letterpaper' or 'a4paper'). 175 #'papersize': 'letterpaper', 176 177 # The font size ('10pt', '11pt' or '12pt'). 178 #'pointsize': '10pt', 179 180 # Additional stuff for the LaTeX preamble. 181 #'preamble': '', 182 } 183 184 # Grouping the document tree into LaTeX files. List of tuples 185 # (source start file, target name, title, author, documentclass [howto/manual]). 186 latex_documents = [ 187 ('index', 'Clang.tex', u'Clang Documentation', 188 u'The Clang Team', 'manual'), 189 ] 190 191 # The name of an image file (relative to this directory) to place at the top of 192 # the title page. 193 #latex_logo = None 194 195 # For "manual" documents, if this is true, then toplevel headings are parts, 196 # not chapters. 197 #latex_use_parts = False 198 199 # If true, show page references after internal links. 200 #latex_show_pagerefs = False 201 202 # If true, show URL addresses after external links. 203 #latex_show_urls = False 204 205 # Documents to append as an appendix to all manuals. 206 #latex_appendices = [] 207 208 # If false, no module index is generated. 209 #latex_domain_indices = True 210 211 212 # -- Options for manual page output -------------------------------------------- 213 214 # One entry per manual page. List of tuples 215 # (source start file, name, description, authors, manual section). 216 man_pages = [] 217 218 # Automatically derive the list of man pages from the contents of the command 219 # guide subdirectory. This was copied from llvm/docs/conf.py. 220 basedir = os.path.dirname(__file__) 221 man_page_authors = u'Maintained by the Clang / LLVM Team (<http://clang.llvm.org>)' 222 command_guide_subpath = 'CommandGuide' 223 command_guide_path = os.path.join(basedir, command_guide_subpath) 224 for name in os.listdir(command_guide_path): 225 # Ignore non-ReST files and the index page. 226 if not name.endswith('.rst') or name in ('index.rst',): 227 continue 228 229 # Otherwise, automatically extract the description. 230 file_subpath = os.path.join(command_guide_subpath, name) 231 with open(os.path.join(command_guide_path, name)) as f: 232 title = f.readline().rstrip('\n') 233 header = f.readline().rstrip('\n') 234 235 if len(header) != len(title): 236 print >>sys.stderr, ( 237 "error: invalid header in %r (does not match title)" % ( 238 file_subpath,)) 239 if ' - ' not in title: 240 print >>sys.stderr, ( 241 ("error: invalid title in %r " 242 "(expected '<name> - <description>')") % ( 243 file_subpath,)) 244 245 # Split the name out of the title. 246 name,description = title.split(' - ', 1) 247 man_pages.append((file_subpath.replace('.rst',''), name, 248 description, man_page_authors, 1)) 249 250 251 # If true, show URL addresses after external links. 252 #man_show_urls = False 253 254 255 # -- Options for Texinfo output ------------------------------------------------ 256 257 # Grouping the document tree into Texinfo files. List of tuples 258 # (source start file, target name, title, author, 259 # dir menu entry, description, category) 260 texinfo_documents = [ 261 ('index', 'Clang', u'Clang Documentation', 262 u'The Clang Team', 'Clang', 'One line description of project.', 263 'Miscellaneous'), 264 ] 265 266 # Documents to append as an appendix to all manuals. 267 #texinfo_appendices = [] 268 269 # If false, no module index is generated. 270 #texinfo_domain_indices = True 271 272 # How to display URL addresses: 'footnote', 'no', or 'inline'. 273 #texinfo_show_urls = 'footnote' 274