diff options
| author | Mauro Carvalho Chehab <[email protected]> | 2025-04-08 10:09:22 +0000 |
|---|---|---|
| committer | Jonathan Corbet <[email protected]> | 2025-04-09 18:10:33 +0000 |
| commit | 668b9d1dceb86b570ff28d913e8464ba62f57e91 (patch) | |
| tree | 13a747bf16b0321f10b42c7f7de0e84db5612617 /Documentation/sphinx/kerneldoc.py | |
| parent | docs: add a .pylintrc file with sys path for docs scripts (diff) | |
| download | kernel-668b9d1dceb86b570ff28d913e8464ba62f57e91.tar.gz kernel-668b9d1dceb86b570ff28d913e8464ba62f57e91.zip | |
docs: sphinx: kerneldoc: verbose kernel-doc command if V=1
It is useful to know what kernel-doc command was used during
document build time, as it allows one to check the output the same
way as Sphinx extension does.
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Jonathan Corbet <[email protected]>
Link: https://lore.kernel.org/r/a2f01590814b111e138f278e8a721024fdf2d445.1744106242.git.mchehab+huawei@kernel.org
Diffstat (limited to 'Documentation/sphinx/kerneldoc.py')
| -rw-r--r-- | Documentation/sphinx/kerneldoc.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py index 39ddae6ae7dd..d206eb2be10a 100644 --- a/Documentation/sphinx/kerneldoc.py +++ b/Documentation/sphinx/kerneldoc.py @@ -43,6 +43,29 @@ from sphinx.util import logging __version__ = '1.0' +def cmd_str(cmd): + """ + Helper function to output a command line that can be used to produce + the same records via command line. Helpful to debug troubles at the + script. + """ + + cmd_line = "" + + for w in cmd: + if w == "" or " " in w: + esc_cmd = "'" + w + "'" + else: + esc_cmd = w + + if cmd_line: + cmd_line += " " + esc_cmd + continue + else: + cmd_line = esc_cmd + + return cmd_line + class KernelDocDirective(Directive): """Extract kernel-doc comments from the specified file""" required_argument = 1 @@ -57,6 +80,7 @@ class KernelDocDirective(Directive): } has_content = False logger = logging.getLogger('kerneldoc') + verbose = 0 def run(self): env = self.state.document.settings.env @@ -65,6 +89,13 @@ class KernelDocDirective(Directive): filename = env.config.kerneldoc_srctree + '/' + self.arguments[0] export_file_patterns = [] + verbose = os.environ.get("V") + if verbose: + try: + self.verbose = int(verbose) + except ValueError: + pass + # Tell sphinx of the dependency env.note_dependency(os.path.abspath(filename)) @@ -104,6 +135,9 @@ class KernelDocDirective(Directive): cmd += [filename] + if self.verbose >= 1: + print(cmd_str(cmd)) + try: self.logger.verbose("calling kernel-doc '%s'" % (" ".join(cmd))) |
