summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2023-04-17 12:46:46 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2023-06-19 18:03:57 +0300
commitb0d2a925849be8826ec5f18755a5aed743f5c72d (patch)
tree0cafe07707aeb97d71cc27ff0f7fe87281b8a9b1 /mesonbuild/interpreter/interpreterobjects.py
parent23efc1abeac2a7b95e22aaeb6ca178b492bf5247 (diff)
downloadmeson-b0d2a925849be8826ec5f18755a5aed743f5c72d.tar.gz
Add kernel and subsystem properties to machine objects.
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index 4ca7f5298..fac3b0e55 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -639,6 +639,8 @@ class MachineHolder(ObjectHolder['MachineInfo']):
'cpu': self.cpu_method,
'cpu_family': self.cpu_family_method,
'endian': self.endian_method,
+ 'kernel': self.kernel_method,
+ 'subsystem': self.subsystem_method,
})
@noPosargs
@@ -661,6 +663,21 @@ class MachineHolder(ObjectHolder['MachineInfo']):
def endian_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str:
return self.held_object.endian
+ @noPosargs
+ @noKwargs
+ def kernel_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str:
+ if self.held_object.kernel is not None:
+ return self.held_object.kernel
+ raise InterpreterException('Kernel not defined or could not be autodetected.')
+
+ @noPosargs
+ @noKwargs
+ def subsystem_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str:
+ if self.held_object.subsystem is not None:
+ return self.held_object.subsystem
+ raise InterpreterException('Subsystem not defined or could not be autodetected.')
+
+
class IncludeDirsHolder(ObjectHolder[build.IncludeDirs]):
pass