aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index ff67e0e..3d4f092 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -543,6 +543,10 @@ class SharedLibraryHolder(BuildTargetHolder):
def __init__(self, target, interp):
super().__init__(target, interp)
+class SharedModuleHolder(BuildTargetHolder):
+ def __init__(self, target, interp):
+ super().__init__(target, interp)
+
class JarHolder(BuildTargetHolder):
def __init__(self, target, interp):
super().__init__(target, interp)
@@ -988,6 +992,7 @@ class MesonMain(InterpreterObject):
'version': self.version_method,
'project_name' : self.project_name_method,
'get_cross_property': self.get_cross_property_method,
+ 'backend' : self.backend_method,
})
def add_install_script_method(self, args, kwargs):
@@ -1026,6 +1031,9 @@ class MesonMain(InterpreterObject):
return src
return os.path.join(src, sub)
+ def backend_method(self, args, kwargs):
+ return self.interpreter.backend.name
+
def source_root_method(self, args, kwargs):
return self.interpreter.environment.source_dir
@@ -1154,6 +1162,7 @@ class Interpreter(InterpreterBase):
'dependency' : self.func_dependency,
'static_library' : self.func_static_lib,
'shared_library' : self.func_shared_lib,
+ 'shared_module' : self.func_shared_module,
'library' : self.func_library,
'jar' : self.func_jar,
'build_target': self.func_build_target,
@@ -1777,6 +1786,9 @@ requirements use the version keyword argument instead.''')
def func_shared_lib(self, node, args, kwargs):
return self.build_target(node, args, kwargs, SharedLibraryHolder)
+ def func_shared_module(self, node, args, kwargs):
+ return self.build_target(node, args, kwargs, SharedModuleHolder)
+
def func_library(self, node, args, kwargs):
if self.coredata.get_builtin_option('default_library') == 'shared':
return self.func_shared_lib(node, args, kwargs)
@@ -2252,6 +2264,8 @@ requirements use the version keyword argument instead.''')
targetclass = build.Executable
elif targetholder is SharedLibraryHolder:
targetclass = build.SharedLibrary
+ elif targetholder is SharedModuleHolder:
+ targetclass = build.SharedModule
elif targetholder is StaticLibraryHolder:
targetclass = build.StaticLibrary
elif targetholder is JarHolder: