aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2021-10-06 10:31:37 -0400
committerEli Schwartz <eschwartz93@gmail.com>2021-10-08 17:47:35 -0400
commit5316c7df62926d49149053b5d8ccfb4a0042856e (patch)
treec9db447b55541ec1c73a62e3f675bbecee4dde95
parent2628ce576ce8269aa2e4988d7b0f5fdd81099f72 (diff)
downloadmeson-5316c7df62926d49149053b5d8ccfb4a0042856e.zip
meson-5316c7df62926d49149053b5d8ccfb4a0042856e.tar.gz
meson-5316c7df62926d49149053b5d8ccfb4a0042856e.tar.bz2
ModuleState: Add wrapper to get option
-rw-r--r--mesonbuild/modules/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py
index 74fe145..d09fa86 100644
--- a/mesonbuild/modules/__init__.py
+++ b/mesonbuild/modules/__init__.py
@@ -18,13 +18,14 @@ import os
import typing as T
from .. import build, mesonlib
-from ..mesonlib import relpath, HoldableObject
+from ..mesonlib import relpath, HoldableObject, MachineChoice, OptionKey
from ..interpreterbase.decorators import noKwargs, noPosargs
if T.TYPE_CHECKING:
from ..interpreter import Interpreter
from ..interpreterbase import TYPE_var, TYPE_kwargs
from ..programs import ExternalProgram
+ from ..wrap import WrapMode
class ModuleState:
"""Object passed to all module methods.
@@ -102,6 +103,12 @@ class ModuleState:
# TODO: Use interpreter internal API, but we need to go through @typed_kwargs
self._interpreter.func_test(self.current_node, args, kwargs)
+ def get_option(self, name: str, subproject: str = '',
+ machine: MachineChoice = MachineChoice.HOST,
+ lang: T.Optional[str] = None,
+ module: T.Optional[str] = None) -> T.Union[str, int, bool, 'WrapMode']:
+ return self.environment.coredata.get_option(mesonlib.OptionKey(name, subproject, machine, lang, module))
+
class ModuleObject(HoldableObject):
"""Base class for all objects returned by modules