summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
authorCharles Brunet <charles.brunet@optelgroup.com>2024-10-29 16:51:36 -0400
committerDylan Baker <dylan@pnwbakers.com>2024-12-06 10:50:32 -0800
commitd8ea5c4d8875bf198f088c603868edf66a3c7c65 (patch)
treeb9f6460e2969a01216f72b8e569cf39a8184548f /mesonbuild/interpreter/interpreterobjects.py
parent2fd0dacf06712857993496b7da1dc16dce71f523 (diff)
downloadmeson-d8ea5c4d8875bf198f088c603868edf66a3c7c65.tar.gz
fix generate_gir with BothLibraries dependency
Co-authored-by: Xavier Claessens <xclaesse@gmail.com>
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index a91910260..f4a2b4107 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -1001,8 +1001,6 @@ class SharedLibraryHolder(BuildTargetHolder[build.SharedLibrary]):
class BothLibrariesHolder(BuildTargetHolder[build.BothLibraries]):
def __init__(self, libs: build.BothLibraries, interp: 'Interpreter'):
- # FIXME: This build target always represents the shared library, but
- # that should be configurable.
super().__init__(libs, interp)
self.methods.update({'get_shared_lib': self.get_shared_lib_method,
'get_static_lib': self.get_static_lib_method,
@@ -1017,12 +1015,16 @@ class BothLibrariesHolder(BuildTargetHolder[build.BothLibraries]):
@noPosargs
@noKwargs
def get_shared_lib_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> build.SharedLibrary:
- return self.held_object.shared
+ lib = copy.copy(self.held_object.shared)
+ lib.both_lib = None
+ return lib
@noPosargs
@noKwargs
def get_static_lib_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> build.StaticLibrary:
- return self.held_object.static
+ lib = copy.copy(self.held_object.static)
+ lib.both_lib = None
+ return lib
class SharedModuleHolder(BuildTargetHolder[build.SharedModule]):
pass