Skip to content

Commit 9e0f784

Browse files
committed
deps: Do not deepcopy internal libraries (fixes mesonbuild#7457)
1 parent 2353d67 commit 9e0f784

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

mesonbuild/dependencies/base.py

+10
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,16 @@ def __init__(self, version, incdirs, compile_args, link_args, libraries,
252252
self.ext_deps = ext_deps
253253
self.variables = variables
254254

255+
def __deepcopy__(self, memo: dict) -> 'InternalDependency':
256+
result = self.__class__.__new__(self.__class__)
257+
memo[id(self)] = result
258+
for k, v in self.__dict__.items():
259+
if k in ['libraries', 'whole_libraries']:
260+
setattr(result, k, copy.copy(v))
261+
else:
262+
setattr(result, k, copy.deepcopy(v, memo))
263+
return result
264+
255265
def get_pkgconfig_variable(self, variable_name, kwargs):
256266
raise DependencyException('Method "get_pkgconfig_variable()" is '
257267
'invalid for an internal dependency')

0 commit comments

Comments
 (0)