import re
from itertools import chain
-from kernel_abi import kernel_abi
+from kernel_abi import get_kernel_abi
#
# Python 2 lacks re.ASCII...
#
# Go through the dance of getting an xref out of the std domain
#
+ kernel_abi = get_kernel_abi()
+
fname = match.group(1)
target = kernel_abi.xref(fname)
logger = logging.getLogger('kernel_abi')
path = os.path.join(srctree, "Documentation/ABI")
-# Parse ABI symbols only once
-kernel_abi = AbiParser(path, logger=logger)
-kernel_abi.parse_abi()
-kernel_abi.check_issues()
+_kernel_abi = None
+
+def get_kernel_abi():
+ u"""
+ Initialize kernel_abi global var, if not initialized yet.
+
+ This is needed to avoid warnings during Sphinx module initialization.
+ """
+ global _kernel_abi
+
+ if not _kernel_abi:
+ # Parse ABI symbols only once
+ _kernel_abi = AbiParser(path, logger=logger)
+ _kernel_abi.parse_abi()
+ _kernel_abi.check_issues()
+
+ return _kernel_abi
def setup(app):
}
def run(self):
+ kernel_abi = get_kernel_abi()
+
doc = self.state.document
if not doc.settings.file_insertion_enabled:
raise self.warning("docutils: file insertion disabled")