aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/backends.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 5232b65..a6bec06 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -26,6 +26,12 @@ from ..mesonlib import File
from ..compilers import CompilerArgs, get_macos_dylib_install_name
from collections import OrderedDict
import shlex
+from functools import lru_cache
+
+@lru_cache(maxsize=None)
+def get_target_macos_dylib_install_name(ld):
+ return get_macos_dylib_install_name(ld.prefix, ld.name, ld.suffix, ld.soversion)
+
class CleanTrees:
'''
@@ -1006,7 +1012,7 @@ class Backend:
for ld in t.get_all_link_deps():
if ld is t or not isinstance(ld, build.SharedLibrary):
continue
- old = get_macos_dylib_install_name(ld.prefix, ld.name, ld.suffix, ld.soversion)
+ old = get_target_macos_dylib_install_name(ld)
if old in result:
continue
fname = ld.get_filename()