diff options
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 14 |
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: |