1#!/usr/bin/env python3 2# -*- coding: utf-8 -*- 3 4# 5# The Mesa 3D Graphics Library documentation build configuration file, created by 6# sphinx-quickstart on Wed Mar 29 14:08:51 2017. 7# 8# This file is execfile()d with the current directory set to its 9# containing dir. 10# 11# Note that not all possible configuration values are present in this 12# autogenerated file. 13# 14# All configuration values have a default; values that are commented out 15# serve to show the default. 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# 21import os 22import sys 23 24from hawkmoth.util import compiler 25 26# If extensions (or modules to document with autodoc) are in another directory, 27# add these directories to sys.path here. If the directory is relative to the 28# documentation root, use os.path.abspath to make it absolute, like shown here. 29sys.path.append(os.path.abspath('_exts')) 30 31 32# -- General configuration ------------------------------------------------ 33 34# If your documentation needs a minimal Sphinx version, state it here. 35# 36# needs_sphinx = '1.0' 37 38# Add any Sphinx extension module names here, as strings. They can be 39# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 40# ones. 41extensions = [ 42 'bootstrap', 43 'formatting', 44 'hawkmoth', 45 'nir', 46 'redirects', 47 'sphinx.ext.graphviz', 48] 49 50# Add any paths that contain templates here, relative to this directory. 51templates_path = ['_templates'] 52 53# The suffix(es) of source filenames. 54# You can specify multiple suffix as a list of string: 55# 56# source_suffix = ['.rst', '.md'] 57source_suffix = '.rst' 58 59# The master toctree document. 60master_doc = 'index' 61 62# General information about the project. 63project = 'The Mesa 3D Graphics Library' 64copyright = '1995-2018, Brian Paul' 65author = 'Brian Paul' 66html_show_copyright = False 67 68html_theme_path = ['.'] 69 70# The version info for the project you're documenting, acts as replacement for 71# |version| and |release|, also used in various other places throughout the 72# built documents. 73# 74# The short X.Y version. 75version = 'latest' 76# The full version, including alpha/beta/rc tags. 77release = 'latest' 78 79# The language for content autogenerated by Sphinx. Refer to documentation 80# for a list of supported languages. 81# 82# This is also used if you do content translation via gettext catalogs. 83# Usually you set "language" from the command line for these cases. 84language = 'en' 85 86# List of patterns, relative to source directory, that match files and 87# directories to ignore when looking for source files. 88# This patterns also effect to html_static_path and html_extra_path 89exclude_patterns = ['header-stubs'] 90 91# If true, `todo` and `todoList` produce output, else they produce nothing. 92todo_include_todos = False 93 94# Disable highlighting unless a language is specified, otherwise we'll get 95# python keywords highlit in literal blocks. 96highlight_language = 'none' 97 98default_role = 'c:expr' 99 100# -- Options for HTML output ---------------------------------------------- 101 102# The theme to use for HTML and HTML Help pages. See the documentation for 103# a list of builtin themes. 104# 105html_theme = 'mesa3d_theme' 106 107html_favicon = 'favicon.ico' 108 109html_copy_source = False 110 111# Add any paths that contain custom static files (such as style sheets) here, 112# relative to this directory. They are copied after the builtin static files, 113# so a file named "default.css" will overwrite the builtin "default.css". 114html_static_path = [ 115 '_static/', 116 'release-maintainers-keys.asc', 117 'features.txt', 118 'libGL.txt', 119 'README.UVD', 120 'README.VCE', 121] 122 123html_extra_path = [] 124 125html_redirects = [ 126 ('webmaster', 'https://www.mesa3d.org/website/'), 127 ('developers', 'https://www.mesa3d.org/developers/'), 128 ('thanks', 'https://gitlab.freedesktop.org/mesa/mesa/-/blob/amber/docs/thanks.rst'), 129] 130 131 132# -- Options for linkcheck ------------------------------------------------ 133 134linkcheck_ignore = [ 135 r'specs/.*\.spec', # gets copied during the build process 136 r'news:.*', # seems linkcheck doesn't like the news: URI-scheme... 137 r'http://mesa-ci-results.jf.intel.com', # only available for Intel employees 138 r'https://gitlab.com/.*#.*', # needs JS eval 139 r'https://gitlab.freedesktop.org/.*#.*', # needs JS eval 140 r'https://github.com/.*#.*', # needs JS eval 141] 142linkcheck_exclude_documents = [r'relnotes/.*'] 143 144linkcheck_allowed_redirects = { 145 # Pages that forward the front-page to a wiki or some explore-page 146 'https://www.freedesktop.org': 'https://www.freedesktop.org/wiki/', 147 'https://x.org': 'https://x.org/wiki/', 148 'https://perf.wiki.kernel.org/': 'https://perf.wiki.kernel.org/index.php/Main_Page', 149 'https://dri.freedesktop.org/': 'https://dri.freedesktop.org/wiki/', 150 'https://gitlab.freedesktop.org/': 'https://gitlab.freedesktop.org/explore/groups', 151 'https://www.sphinx-doc.org/': 'https://www.sphinx-doc.org/en/master/', 152 153 # Pages that requires authentication 154 'https://gitlab.freedesktop.org/admin/runners': 'https://gitlab.freedesktop.org/users/sign_in', 155 'https://gitlab.freedesktop.org/profile/personal_access_tokens': 'https://gitlab.freedesktop.org/users/sign_in', 156} 157 158 159# -- Options for HTMLHelp output ------------------------------------------ 160 161# Output file base name for HTML help builder. 162htmlhelp_basename = 'TheMesa3DGraphicsLibrarydoc' 163 164 165# -- Options for LaTeX output --------------------------------------------- 166 167latex_elements = { 168 # The paper size ('letterpaper' or 'a4paper'). 169 # 170 # 'papersize': 'letterpaper', 171 172 # The font size ('10pt', '11pt' or '12pt'). 173 # 174 # 'pointsize': '10pt', 175 176 # Additional stuff for the LaTeX preamble. 177 # 178 # 'preamble': '', 179 180 # Latex figure (float) alignment 181 # 182 # 'figure_align': 'htbp', 183} 184 185# Grouping the document tree into LaTeX files. List of tuples 186# (source start file, target name, title, 187# author, documentclass [howto, manual, or own class]). 188latex_documents = [ 189 (master_doc, 'TheMesa3DGraphicsLibrary.tex', 'The Mesa 3D Graphics Library Documentation', 190 'Brian Paul', 'manual'), 191] 192 193 194# -- Options for manual page output --------------------------------------- 195 196# One entry per manual page. List of tuples 197# (source start file, name, description, authors, manual section). 198man_pages = [ 199 (master_doc, 'themesa3dgraphicslibrary', 'The Mesa 3D Graphics Library Documentation', 200 [author], 1) 201] 202 203 204# -- Options for Texinfo output ------------------------------------------- 205 206# Grouping the document tree into Texinfo files. List of tuples 207# (source start file, target name, title, author, 208# dir menu entry, description, category) 209texinfo_documents = [ 210 (master_doc, 'TheMesa3DGraphicsLibrary', 'The Mesa 3D Graphics Library Documentation', 211 author, 'TheMesa3DGraphicsLibrary', 'One line description of project.', 212 'Miscellaneous'), 213] 214 215# -- Options for Graphviz ------------------------------------------------- 216 217graphviz_output_format = 'svg' 218 219# -- Options for hawkmoth ------------------------------------------------- 220 221hawkmoth_root = os.path.abspath('..') 222hawkmoth_clang = [ 223 '-Idocs/header-stubs/', 224 '-Iinclude/', 225 '-Isrc/', 226 '-Isrc/gallium/include/', 227 '-Isrc/intel/', 228 '-Isrc/mesa/', 229 '-DHAVE_STRUCT_TIMESPEC', 230 '-DHAVE_PTHREAD', 231 '-DHAVE_ENDIAN_H', 232] 233hawkmoth_clang.extend(compiler.get_include_args()) 234 235# helpers for definining parameter direction 236rst_prolog = ''' 237.. |in| replace:: **[in]** 238.. |out| replace:: **[out]** 239.. |inout| replace:: **[inout]** 240''' 241