From 10cc5d9ceef64a536c301eb3bdfa3584568aa8dc Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 7 Oct 2025 16:04:32 +0200 Subject: environment, compilers: move is_library caching to the source Signed-off-by: Paolo Bonzini --- mesonbuild/compilers/compilers.py | 11 +++++++---- mesonbuild/environment.py | 2 -- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 624226d33..c50c6229c 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -173,16 +173,19 @@ def is_object(fname: 'mesonlib.FileOrString') -> bool: fname = fname.fname return cached_is_object_by_name(fname) -def is_library(fname: 'mesonlib.FileOrString') -> bool: - if isinstance(fname, mesonlib.File): - fname = fname.fname - +@lru_cache(maxsize=None) +def cached_is_library_by_name(fname: str) -> bool: if soregex.match(fname): return True suffix = fname.split('.')[-1] return suffix in lib_suffixes +def is_library(fname: 'mesonlib.FileOrString') -> bool: + if isinstance(fname, mesonlib.File): + fname = fname.fname + return cached_is_library_by_name(fname) + def is_known_suffix(fname: 'mesonlib.FileOrString') -> bool: if isinstance(fname, mesonlib.File): fname = fname.fname diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py index fe364442e..dd6938366 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py @@ -38,7 +38,6 @@ from .compilers import ( is_source, ) -from functools import lru_cache from mesonbuild import envconfig if T.TYPE_CHECKING: @@ -953,7 +952,6 @@ class Environment: def is_object(self, fname: 'mesonlib.FileOrString') -> bool: return is_object(fname) - @lru_cache(maxsize=None) def is_library(self, fname: mesonlib.FileOrString) -> bool: return is_library(fname) -- cgit v1.2.3