Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a84d9e89 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

docs: load_config.py: avoid needing a conf.py just due to LaTeX docs



Right now, for every directory that we need to have LaTeX output,
a conf.py file is required.

That causes an extra overhead and it is actually a hack, as
the latex_documents line there are usually a copy of the ones
that are there already at the main conf.py.

So, instead, re-use the global latex_documents var, just
adjusting the path to be relative ones.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 27eed923
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -21,6 +21,29 @@ def loadConfig(namespace):
        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()
@@ -29,4 +52,6 @@ def loadConfig(namespace):
            del config['__file__']
            namespace.update(config)
        else:
            sys.stderr.write("WARNING: additional sphinx-config not found: %s\n" % config_file)
            config = namespace.copy()
            config['tags'].add("subproject")
            namespace.update(config)