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-04-28 23:02:50 +0300
commitc47a9bf56024fc5443d6a1ae11790b796f6ea18a (patch)
tree871b08adb8f7f68cb6e348c6aab868273c028e6e /mesonbuild/interpreter/interpreterobjects.py
parent566fefedc2d408e8b2ed1f754599cf1851f5a295 (diff)
downloadmeson-sysprops.tar.gz
Add kernel and userland properties to machine objects.sysprops
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 fa9171485..680732102 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,
+ 'userland': self.userland_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 userland_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str:
+ if self.held_object.userland is not None:
+ return self.held_object.userland
+ raise InterpreterException('Userland not defined or could not be autodetected.')
+
+
class IncludeDirsHolder(ObjectHolder[build.IncludeDirs]):
pass