Home | History | Annotate | Download | only in docs
      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.9'
     53 # The full version, including alpha/beta/rc tags.
     54 release = '3.9'
     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