From 6d84b9b6468eca57763895efe51347047ca3088d Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 2 Dec 2016 21:55:56 +0200 Subject: Created new shared module build target type, and make sure -Wl,--no-undefined is not used when linking it. --- mesonbuild/interpreter.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'mesonbuild/interpreter.py') diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index ef99511..fefc1ff 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -586,6 +586,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) @@ -1203,6 +1207,7 @@ class Interpreter(): '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, @@ -1961,6 +1966,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) @@ -2448,6 +2456,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: -- cgit v1.1 From dc1f537fb364833697406e7eb26f9a59d5d1d105 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Wed, 7 Dec 2016 00:30:28 +0200 Subject: Skip shared module test on VS because it fails for some reason nobody understands. --- mesonbuild/interpreter.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mesonbuild/interpreter.py') diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index fefc1ff..502caff 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1027,6 +1027,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): @@ -1065,6 +1066,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 -- cgit v1.1