diff options
Diffstat (limited to 'kconfiglib.py')
| -rw-r--r-- | kconfiglib.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/kconfiglib.py b/kconfiglib.py index 0714d48..68f157b 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -610,14 +610,20 @@ class Kconfig(object): the right Kconfig is included from there (arch/$SRCARCH/Kconfig as of writing). - If $srctree is set, 'filename' will be looked up relative to it. - $srctree is also used to look up source'd files within Kconfig files. - See the class documentation. - If you are using Kconfiglib via 'make scriptconfig', the filename of the base base Kconfig file will be in sys.argv[1]. It's currently always "Kconfig" in practice. + The $srctree environment variable is used to look up Kconfig files + referenced in Kconfig files if set. See the class documentation. + + Note: '(o)source' statements in Kconfig files always work relative to + $srctree (or the current directory if $srctree is unset), even if + 'filename' is a path with directories. This allows a subset of + Kconfig files to be loaded without breaking references to other + Kconfig files, e.g. by doing Kconfig("./sub/Kconfig"). sub/Kconfig + might expect to be sourced by ./Kconfig. + warn (default: True): True if warnings related to this configuration should be generated. This can be changed later with Kconfig.enable/disable_warnings(). It @@ -731,7 +737,7 @@ class Kconfig(object): self.top_node.prompt = ("Main menu", self.y) self.top_node.parent = None self.top_node.dep = self.y - self.top_node.filename = filename + self.top_node.filename = os.path.relpath(filename, self.srctree) self.top_node.linenr = 1 # Parse the Kconfig files @@ -745,11 +751,11 @@ class Kconfig(object): self._filestack = [] # The current parsing location - self._filename = filename + self._filename = os.path.relpath(filename, self.srctree) self._linenr = 0 # Open the top-level Kconfig file - self._file = self._open(os.path.join(self.srctree, filename), "r") + self._file = self._open(filename, "r") try: # Parse everything |
