mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	The logic with seeks for a subdir passed via SPHINXDIRS is incomplete: if one uses something like: make SPHINXDIRS=arm pdfdocs It will find both "arm" and "arm64" directories. Worse than that, it will convert "arm64/index" to "4/index". Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8; mode: python -*-
 | 
						|
# pylint: disable=R0903, C0330, R0914, R0912, E0401
 | 
						|
 | 
						|
import os
 | 
						|
import sys
 | 
						|
from sphinx.util.pycompat import execfile_
 | 
						|
 | 
						|
# ------------------------------------------------------------------------------
 | 
						|
def loadConfig(namespace):
 | 
						|
# ------------------------------------------------------------------------------
 | 
						|
 | 
						|
    u"""Load an additional configuration file into *namespace*.
 | 
						|
 | 
						|
    The name of the configuration file is taken from the environment
 | 
						|
    ``SPHINX_CONF``. The external configuration file extends (or overwrites) the
 | 
						|
    configuration values from the origin ``conf.py``.  With this you are able to
 | 
						|
    maintain *build themes*.  """
 | 
						|
 | 
						|
    config_file = os.environ.get("SPHINX_CONF", None)
 | 
						|
    if (config_file is not None
 | 
						|
        and os.path.normpath(namespace["__file__"]) != os.path.normpath(config_file) ):
 | 
						|
        config_file = os.path.abspath(config_file)
 | 
						|
 | 
						|
        # Let's avoid one conf.py file just due to latex_documents
 | 
						|
        start = config_file.find('Documentation/')
 | 
						|
        if start >= 0:
 | 
						|
            start = config_file.find('/', start + 1)
 | 
						|
 | 
						|
        end = config_file.rfind('/')
 | 
						|
        if start >= 0 and end > 0:
 | 
						|
            dir = config_file[start + 1:end]
 | 
						|
 | 
						|
            print("source directory: %s" % dir)
 | 
						|
            new_latex_docs = []
 | 
						|
            latex_documents = namespace['latex_documents']
 | 
						|
 | 
						|
            for l in latex_documents:
 | 
						|
                if l[0].find(dir + '/') == 0:
 | 
						|
                    has = True
 | 
						|
                    fn = l[0][len(dir) + 1:]
 | 
						|
                    new_latex_docs.append((fn, l[1], l[2], l[3], l[4]))
 | 
						|
                    break
 | 
						|
 | 
						|
            namespace['latex_documents'] = new_latex_docs
 | 
						|
 | 
						|
        # If there is an extra conf.py file, load it
 | 
						|
        if os.path.isfile(config_file):
 | 
						|
            sys.stdout.write("load additional sphinx-config: %s\n" % config_file)
 | 
						|
            config = namespace.copy()
 | 
						|
            config['__file__'] = config_file
 | 
						|
            execfile_(config_file, config)
 | 
						|
            del config['__file__']
 | 
						|
            namespace.update(config)
 | 
						|
        else:
 | 
						|
            config = namespace.copy()
 | 
						|
            config['tags'].add("subproject")
 | 
						|
            namespace.update(config)
 |