~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/conf.py

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/conf.py (Version linux-6.11.5) and /Documentation/conf.py (Version linux-3.10.108)


  1 # -*- coding: utf-8 -*-                           
  2 #                                                 
  3 # The Linux Kernel documentation build configu    
  4 # sphinx-quickstart on Fri Feb 12 13:51:46 201    
  5 #                                                 
  6 # This file is execfile()d with the current di    
  7 # containing dir.                                 
  8 #                                                 
  9 # Note that not all possible configuration val    
 10 # autogenerated file.                             
 11 #                                                 
 12 # All configuration values have a default; val    
 13 # serve to show the default.                      
 14                                                   
 15 import sys                                        
 16 import os                                         
 17 import sphinx                                     
 18 import shutil                                     
 19                                                   
 20 # helper                                          
 21 # ------                                          
 22                                                   
 23 def have_command(cmd):                            
 24     """Search ``cmd`` in the ``PATH`` environm    
 25                                                   
 26     If found, return True.                        
 27     If not found, return False.                   
 28     """                                           
 29     return shutil.which(cmd) is not None          
 30                                                   
 31 # Get Sphinx version                              
 32 major, minor, patch = sphinx.version_info[:3]     
 33                                                   
 34 #                                                 
 35 # Warn about older versions that we don't want    
 36 # longer.                                         
 37 #                                                 
 38 if (major < 2) or (major == 2 and minor < 4):     
 39     print('WARNING: support for Sphinx < 2.4 w    
 40                                                   
 41 # If extensions (or modules to document with a    
 42 # add these directories to sys.path here. If t    
 43 # documentation root, use os.path.abspath to m    
 44 sys.path.insert(0, os.path.abspath('sphinx'))     
 45 from load_config import loadConfig                
 46                                                   
 47 # -- General configuration -------------------    
 48                                                   
 49 # If your documentation needs a minimal Sphinx    
 50 needs_sphinx = '2.4.4'                            
 51                                                   
 52 # Add any Sphinx extension module names here,     
 53 # extensions coming with Sphinx (named 'sphinx    
 54 # ones.                                           
 55 extensions = ['kerneldoc', 'rstFlatTable', 'ke    
 56               'kfigure', 'sphinx.ext.ifconfig'    
 57               'maintainers_include', 'sphinx.e    
 58               'kernel_abi', 'kernel_feat', 'tr    
 59                                                   
 60 if major >= 3:                                    
 61     if (major > 3) or (minor > 0 or patch >= 2    
 62         # Sphinx c function parser is more ped    
 63         # checking. Due to that, having macros    
 64         # Those needed to be scaped by using c    
 65         c_id_attributes = [                       
 66             # GCC Compiler types not parsed by    
 67             "__restrict__",                       
 68                                                   
 69             # include/linux/compiler_types.h:     
 70             "__iomem",                            
 71             "__kernel",                           
 72             "noinstr",                            
 73             "notrace",                            
 74             "__percpu",                           
 75             "__rcu",                              
 76             "__user",                             
 77             "__force",                            
 78             "__counted_by_le",                    
 79             "__counted_by_be",                    
 80                                                   
 81             # include/linux/compiler_attribute    
 82             "__alias",                            
 83             "__aligned",                          
 84             "__aligned_largest",                  
 85             "__always_inline",                    
 86             "__assume_aligned",                   
 87             "__cold",                             
 88             "__attribute_const__",                
 89             "__copy",                             
 90             "__pure",                             
 91             "__designated_init",                  
 92             "__visible",                          
 93             "__printf",                           
 94             "__scanf",                            
 95             "__gnu_inline",                       
 96             "__malloc",                           
 97             "__mode",                             
 98             "__no_caller_saved_registers",        
 99             "__noclone",                          
100             "__nonstring",                        
101             "__noreturn",                         
102             "__packed",                           
103             "__pure",                             
104             "__section",                          
105             "__always_unused",                    
106             "__maybe_unused",                     
107             "__used",                             
108             "__weak",                             
109             "noinline",                           
110             "__fix_address",                      
111             "__counted_by",                       
112                                                   
113             # include/linux/memblock.h:           
114             "__init_memblock",                    
115             "__meminit",                          
116                                                   
117             # include/linux/init.h:               
118             "__init",                             
119             "__ref",                              
120                                                   
121             # include/linux/linkage.h:            
122             "asmlinkage",                         
123                                                   
124             # include/linux/btf.h                 
125             "__bpf_kfunc",                        
126         ]                                         
127                                                   
128 else:                                             
129     extensions.append('cdomain')                  
130                                                   
131 # Ensure that autosectionlabel will produce un    
132 autosectionlabel_prefix_document = True           
133 autosectionlabel_maxdepth = 2                     
134                                                   
135 # Load math renderer:                             
136 # For html builder, load imgmath only when its    
137 # mathjax is the default math renderer since S    
138 have_latex =  have_command('latex')               
139 have_dvipng = have_command('dvipng')              
140 load_imgmath = have_latex and have_dvipng         
141                                                   
142 # Respect SPHINX_IMGMATH (for html docs only)     
143 if 'SPHINX_IMGMATH' in os.environ:                
144     env_sphinx_imgmath = os.environ['SPHINX_IM    
145     if 'yes' in env_sphinx_imgmath:               
146         load_imgmath = True                       
147     elif 'no' in env_sphinx_imgmath:              
148         load_imgmath = False                      
149     else:                                         
150         sys.stderr.write("Unknown env SPHINX_I    
151                                                   
152 # Always load imgmath for Sphinx <1.8 or for e    
153 load_imgmath = (load_imgmath or (major == 1 an    
154                 or 'epub' in sys.argv)            
155                                                   
156 if load_imgmath:                                  
157     extensions.append("sphinx.ext.imgmath")       
158     math_renderer = 'imgmath'                     
159 else:                                             
160     math_renderer = 'mathjax'                     
161                                                   
162 # Add any paths that contain templates here, r    
163 templates_path = ['sphinx/templates']             
164                                                   
165 # The suffix(es) of source filenames.             
166 # You can specify multiple suffix as a list of    
167 # source_suffix = ['.rst', '.md']                 
168 source_suffix = '.rst'                            
169                                                   
170 # The encoding of source files.                   
171 #source_encoding = 'utf-8-sig'                    
172                                                   
173 # The master toctree document.                    
174 master_doc = 'index'                              
175                                                   
176 # General information about the project.          
177 project = 'The Linux Kernel'                      
178 copyright = 'The kernel development community'    
179 author = 'The kernel development community'       
180                                                   
181 # The version info for the project you're docu    
182 # |version| and |release|, also used in variou    
183 # built documents.                                
184 #                                                 
185 # In a normal build, version and release are a    
186 # KERNELRELEASE, respectively, from the Makefi    
187 # arguments.                                      
188 #                                                 
189 # The following code tries to extract the info    
190 # when Sphinx is run directly (e.g. by Read th    
191 try:                                              
192     makefile_version = None                       
193     makefile_patchlevel = None                    
194     for line in open('../Makefile'):              
195         key, val = [x.strip() for x in line.sp    
196         if key == 'VERSION':                      
197             makefile_version = val                
198         elif key == 'PATCHLEVEL':                 
199             makefile_patchlevel = val             
200         if makefile_version and makefile_patch    
201             break                                 
202 except:                                           
203     pass                                          
204 finally:                                          
205     if makefile_version and makefile_patchleve    
206         version = release = makefile_version +    
207     else:                                         
208         version = release = "unknown version"     
209                                                   
210 #                                                 
211 # HACK: there seems to be no easy way for us t    
212 # release information passed in from the makef    
213 # command-line options and find it for ourselv    
214 #                                                 
215 def get_cline_version():                          
216     c_version = c_release = ''                    
217     for arg in sys.argv:                          
218         if arg.startswith('version='):            
219             c_version = arg[8:]                   
220         elif arg.startswith('release='):          
221             c_release = arg[8:]                   
222     if c_version:                                 
223         if c_release:                             
224             return c_version + '-' + c_release    
225         return c_version                          
226     return version # Whatever we came up with     
227                                                   
228 # The language for content autogenerated by Sp    
229 # for a list of supported languages.              
230 #                                                 
231 # This is also used if you do content translat    
232 # Usually you set "language" from the command     
233 language = 'en'                                   
234                                                   
235 # There are two options for replacing |today|:    
236 # non-false value, then it is used:               
237 #today = ''                                       
238 # Else, today_fmt is used as the format for a     
239 #today_fmt = '%B %d, %Y'                          
240                                                   
241 # List of patterns, relative to source directo    
242 # directories to ignore when looking for sourc    
243 exclude_patterns = ['output']                     
244                                                   
245 # The reST default role (used for this markup:    
246 # documents.                                      
247 #default_role = None                              
248                                                   
249 # If true, '()' will be appended to :func: etc    
250 #add_function_parentheses = True                  
251                                                   
252 # If true, the current module name will be pre    
253 # unit titles (such as .. function::).            
254 #add_module_names = True                          
255                                                   
256 # If true, sectionauthor and moduleauthor dire    
257 # output. They are ignored by default.            
258 #show_authors = False                             
259                                                   
260 # The name of the Pygments (syntax highlightin    
261 pygments_style = 'sphinx'                         
262                                                   
263 # A list of ignored prefixes for module index     
264 #modindex_common_prefix = []                      
265                                                   
266 # If true, keep warnings as "system message" p    
267 #keep_warnings = False                            
268                                                   
269 # If true, `todo` and `todoList` produce outpu    
270 todo_include_todos = False                        
271                                                   
272 primary_domain = 'c'                              
273 highlight_language = 'none'                       
274                                                   
275 # -- Options for HTML output -----------------    
276                                                   
277 # The theme to use for HTML and HTML Help page    
278 # a list of builtin themes.                       
279                                                   
280 # Default theme                                   
281 html_theme = 'alabaster'                          
282 html_css_files = []                               
283                                                   
284 if "DOCS_THEME" in os.environ:                    
285     html_theme = os.environ["DOCS_THEME"]         
286                                                   
287 if html_theme == 'sphinx_rtd_theme' or html_th    
288     # Read the Docs theme                         
289     try:                                          
290         import sphinx_rtd_theme                   
291         html_theme_path = [sphinx_rtd_theme.ge    
292                                                   
293         # Add any paths that contain custom st    
294         # relative to this directory. They are    
295         # so a file named "default.css" will o    
296         html_css_files = [                        
297             'theme_overrides.css',                
298         ]                                         
299                                                   
300         # Read the Docs dark mode override the    
301         if html_theme == 'sphinx_rtd_dark_mode    
302             try:                                  
303                 import sphinx_rtd_dark_mode       
304                 extensions.append('sphinx_rtd_    
305             except ImportError:                   
306                 html_theme == 'sphinx_rtd_them    
307                                                   
308         if html_theme == 'sphinx_rtd_theme':      
309                 # Add color-specific RTD norma    
310                 html_css_files.append('theme_r    
311                                                   
312         html_theme_options = {                    
313             'navigation_depth': -1,               
314         }                                         
315                                                   
316     except ImportError:                           
317         html_theme = 'alabaster'                  
318                                                   
319 if "DOCS_CSS" in os.environ:                      
320     css = os.environ["DOCS_CSS"].split(" ")       
321                                                   
322     for l in css:                                 
323         html_css_files.append(l)                  
324                                                   
325 if major <= 1 and minor < 8:                      
326     html_context = {                              
327         'css_files': [],                          
328     }                                             
329                                                   
330     for l in html_css_files:                      
331         html_context['css_files'].append('_sta    
332                                                   
333 if  html_theme == 'alabaster':                    
334     html_theme_options = {                        
335         'description': get_cline_version(),       
336         'page_width': '65em',                     
337         'sidebar_width': '15em',                  
338         'fixed_sidebar': 'true',                  
339         'font_size': 'inherit',                   
340         'font_family': 'serif',                   
341     }                                             
342                                                   
343 sys.stderr.write("Using %s theme\n" % html_the    
344                                                   
345 # Add any paths that contain custom static fil    
346 # relative to this directory. They are copied     
347 # so a file named "default.css" will overwrite    
348 html_static_path = ['sphinx-static']              
349                                                   
350 # If true, Docutils "smart quotes" will be use    
351 # to typographically correct entities.  Howeve    
352 # is not always what we want, so enable only q    
353 smartquotes_action = 'q'                          
354                                                   
355 # Custom sidebar templates, maps document name    
356 # Note that the RTD theme ignores this            
357 html_sidebars = { '**': ['searchbox.html', 'ke    
358                                                   
359 # about.html is available for alabaster theme.    
360 if html_theme == 'alabaster':                     
361     html_sidebars['**'].insert(0, 'about.html'    
362                                                   
363 # The name of an image file (relative to this     
364 # of the sidebar.                                 
365 html_logo = 'images/logo.svg'                     
366                                                   
367 # Output file base name for HTML help builder.    
368 htmlhelp_basename = 'TheLinuxKerneldoc'           
369                                                   
370 # -- Options for LaTeX output ----------------    
371                                                   
372 latex_elements = {                                
373     # The paper size ('letterpaper' or 'a4pape    
374     'papersize': 'a4paper',                       
375                                                   
376     # The font size ('10pt', '11pt' or '12pt')    
377     'pointsize': '11pt',                          
378                                                   
379     # Latex figure (float) alignment              
380     #'figure_align': 'htbp',                      
381                                                   
382     # Don't mangle with UTF-8 chars               
383     'inputenc': '',                               
384     'utf8extra': '',                              
385                                                   
386     # Set document margins                        
387     'sphinxsetup': '''                            
388         hmargin=0.5in, vmargin=1in,               
389         parsedliteralwraps=true,                  
390         verbatimhintsturnover=false,              
391     ''',                                          
392                                                   
393     #                                             
394     # Some of our authors are fond of deep nes    
395     # cope.                                       
396     #                                             
397     'maxlistdepth': '10',                         
398                                                   
399     # For CJK One-half spacing, need to be in     
400     'extrapackages': r'\usepackage{setspace}',    
401                                                   
402     # Additional stuff for the LaTeX preamble.    
403     'preamble': '''                               
404         % Use some font with UTF-8 support wit    
405         \\usepackage{fontspec}                    
406         \\setsansfont{DejaVu Sans}                
407         \\setromanfont{DejaVu Serif}              
408         \\setmonofont{DejaVu Sans Mono}           
409     ''',                                          
410 }                                                 
411                                                   
412 # Fix reference escape troubles with Sphinx 1.    
413 if major == 1:                                    
414     latex_elements['preamble']  += '\\renewcom    
415                                                   
416                                                   
417 # Load kerneldoc specific LaTeX settings          
418 latex_elements['preamble'] += '''                 
419         % Load kerneldoc specific LaTeX settin    
420         \\input{kerneldoc-preamble.sty}           
421 '''                                               
422                                                   
423 # With Sphinx 1.6, it is possible to change th    
424 # by using:                                       
425 #       \definecolor{sphinxnoteBgColor}{RGB}{2    
426 #       \definecolor{sphinxwarningBgColor}{RGB    
427 #       \definecolor{sphinxattentionBgColor}{R    
428 #       \definecolor{sphinximportantBgColor}{R    
429 #                                                 
430 # However, it require to use sphinx heavy box     
431 #                                                 
432 #       \renewenvironment{sphinxlightbox} {%      
433 #               \\begin{sphinxheavybox}           
434 #       }                                         
435 #               \\end{sphinxheavybox}             
436 #       }                                         
437 #                                                 
438 # Unfortunately, the implementation is buggy:     
439 # table, it isn't displayed well. So, for now,    
440 # black and white notes.                          
441                                                   
442 # Grouping the document tree into LaTeX files.    
443 # (source start file, target name, title,         
444 #  author, documentclass [howto, manual, or ow    
445 # Sorted in alphabetical order                    
446 latex_documents = [                               
447 ]                                                 
448                                                   
449 # Add all other index files from Documentation    
450 for fn in os.listdir('.'):                        
451     doc = os.path.join(fn, "index")               
452     if os.path.exists(doc + ".rst"):              
453         has = False                               
454         for l in latex_documents:                 
455             if l[0] == doc:                       
456                 has = True                        
457                 break                             
458         if not has:                               
459             latex_documents.append((doc, fn +     
460                                     'Linux %s     
461                                     'The kerne    
462                                     'manual'))    
463                                                   
464 # The name of an image file (relative to this     
465 # the title page.                                 
466 #latex_logo = None                                
467                                                   
468 # For "manual" documents, if this is true, the    
469 # not chapters.                                   
470 #latex_use_parts = False                          
471                                                   
472 # If true, show page references after internal    
473 #latex_show_pagerefs = False                      
474                                                   
475 # If true, show URL addresses after external l    
476 #latex_show_urls = False                          
477                                                   
478 # Documents to append as an appendix to all ma    
479 #latex_appendices = []                            
480                                                   
481 # If false, no module index is generated.         
482 #latex_domain_indices = True                      
483                                                   
484 # Additional LaTeX stuff to be copied to build    
485 latex_additional_files = [                        
486     'sphinx/kerneldoc-preamble.sty',              
487 ]                                                 
488                                                   
489                                                   
490 # -- Options for manual page output ----------    
491                                                   
492 # One entry per manual page. List of tuples       
493 # (source start file, name, description, autho    
494 man_pages = [                                     
495     (master_doc, 'thelinuxkernel', 'The Linux     
496      [author], 1)                                 
497 ]                                                 
498                                                   
499 # If true, show URL addresses after external l    
500 #man_show_urls = False                            
501                                                   
502                                                   
503 # -- Options for Texinfo output --------------    
504                                                   
505 # Grouping the document tree into Texinfo file    
506 # (source start file, target name, title, auth    
507 #  dir menu entry, description, category)         
508 texinfo_documents = [                             
509     (master_doc, 'TheLinuxKernel', 'The Linux     
510      author, 'TheLinuxKernel', 'One line descr    
511      'Miscellaneous'),                            
512 ]                                                 
513                                                   
514 # -- Options for Epub output -----------------    
515                                                   
516 # Bibliographic Dublin Core info.                 
517 epub_title = project                              
518 epub_author = author                              
519 epub_publisher = author                           
520 epub_copyright = copyright                        
521                                                   
522 # A list of files that should not be packed in    
523 epub_exclude_files = ['search.html']              
524                                                   
525 #=======                                          
526 # rst2pdf                                         
527 #                                                 
528 # Grouping the document tree into PDF files. L    
529 # (source start file, target name, title, auth    
530 #                                                 
531 # See the Sphinx chapter of https://ralsina.me    
532 #                                                 
533 # FIXME: Do not add the index file here; the r    
534 # multiple PDF files here actually tries to ge    
535 # *between* PDF files.                            
536 pdf_documents = [                                 
537     ('kernel-documentation', u'Kernel', u'Kern    
538 ]                                                 
539                                                   
540 # kernel-doc extension configuration for runni    
541 # the Docs). In a normal build, these are supp    
542 # line arguments.                                 
543 kerneldoc_bin = '../scripts/kernel-doc'           
544 kerneldoc_srctree = '..'                          
545                                                   
546 # --------------------------------------------    
547 # Since loadConfig overwrites settings from th    
548 # the last statement in the conf.py file          
549 # --------------------------------------------    
550 loadConfig(globals())                             
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php