aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-12-07 21:49:16 +0200
committerGitHub <noreply@github.com>2016-12-07 21:49:16 +0200
commitf62f73082178644d25a480d93609e6a8866b5d74 (patch)
tree046780d0d2abf4e09e2c0f1a10e38268ff457246 /mesonbuild/interpreter.py
parent344231d336339c0ea4c1eb072ef37ba5e15ff901 (diff)
parentf5a9b3b249efdafacbff1060999c60257c0ff72c (diff)
downloadmeson-f62f73082178644d25a480d93609e6a8866b5d74.zip
meson-f62f73082178644d25a480d93609e6a8866b5d74.tar.gz
meson-f62f73082178644d25a480d93609e6a8866b5d74.tar.bz2
Merge pull request #1126 from mesonbuild/sharedmodule
Support for shared modules
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: