From c68460e2eeee5194cc81f3afdb213c11f11895ee Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Sun, 9 Sep 2018 18:42:10 +0200 Subject: backends: save up the dylib generated names this saves about 6 sec. --- mesonbuild/backend/backends.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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() -- cgit v1.1