From 67c0ec1640369e20f9cea3fbdef873a4da3e47d3 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 21 Jul 2020 21:44:17 -0400 Subject: InternalDependency: Add as_link_whole() method --- 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 bc162ac..3af5b51 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -431,6 +431,7 @@ class DependencyHolder(InterpreterObject, ObjectHolder): 'partial_dependency': self.partial_dependency_method, 'include_type': self.include_type_method, 'as_system': self.as_system_method, + 'as_link_whole': self.as_link_whole_method, }) def found(self): @@ -511,6 +512,15 @@ class DependencyHolder(InterpreterObject, ObjectHolder): new_dep = self.held_object.generate_system_dependency(new_is_system) return DependencyHolder(new_dep, self.subproject) + @FeatureNew('dep.as_link_whole', '0.56.0') + @permittedKwargs({}) + @noPosargs + def as_link_whole_method(self, args, kwargs): + if not isinstance(self.held_object, InternalDependency): + raise InterpreterException('as_link_whole method is only supported on declare_dependency() objects') + new_dep = self.held_object.generate_link_whole_dependency() + return DependencyHolder(new_dep, self.subproject) + class ExternalProgramHolder(InterpreterObject, ObjectHolder): def __init__(self, ep, subproject, backend=None): InterpreterObject.__init__(self) -- cgit v1.1