diff options
author | complexoctonion <complex_octonion@protonmail.com> | 2021-12-06 10:59:43 +0100 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2021-12-06 09:27:02 -0500 |
commit | 798f5ef17867da9e47c6819d271178eaae0fcf0f (patch) | |
tree | b83ebf719e9be88f2dd2980305978663a62124e8 /mesonbuild | |
parent | a21c7d54fb9b6d07df9bd4708ea23098f69edb11 (diff) | |
download | meson-798f5ef17867da9e47c6819d271178eaae0fcf0f.zip meson-798f5ef17867da9e47c6819d271178eaae0fcf0f.tar.gz meson-798f5ef17867da9e47c6819d271178eaae0fcf0f.tar.bz2 |
Fix performance regression in build file generation
Re-use any already determined rpaths for a target.
Fixes #9695
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/backend/backends.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index ab02ae1..bb04fea 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -748,7 +748,8 @@ class Backend: raise MesonException(f'Invalid arg for --just-symbols, {dir} is a directory.') return dirs - def rpaths_for_bundled_shared_libraries(self, target: build.BuildTarget, exclude_system: bool = True) -> T.List[str]: + @lru_cache(maxsize=None) + def rpaths_for_bundled_shared_libraries(self, target: build.BuildTarget, exclude_system: bool = True) -> 'ImmutableListProtocol[str]': paths: T.List[str] = [] for dep in target.external_deps: if not isinstance(dep, (dependencies.ExternalLibrary, dependencies.PkgConfigDependency)): |