diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-11-17 11:05:47 -0800 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-11-19 10:48:48 -0800 |
| commit | 67ffc65448358c62ff91e46cdf6b4f04f6c811b0 (patch) | |
| tree | 15db373ba0f7471cba11936936a490ebc44b8b7e | |
| parent | eb8ae929d97a060dac28b4a339e7c1df8d3118c8 (diff) | |
| download | meson-67ffc65448358c62ff91e46cdf6b4f04f6c811b0.tar.gz | |
compilers: Remove CoreDAta parameter from Compiler.cached_compile
| -rw-r--r-- | mesonbuild/compilers/compilers.py | 11 | ||||
| -rw-r--r-- | mesonbuild/compilers/cython.py | 2 | ||||
| -rw-r--r-- | mesonbuild/compilers/mixins/clike.py | 2 | ||||
| -rw-r--r-- | mesonbuild/compilers/vala.py | 4 |
4 files changed, 10 insertions, 9 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index cdb928822..6b6dade7d 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -877,7 +877,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): yield result @contextlib.contextmanager - def cached_compile(self, code: 'mesonlib.FileOrString', cdata: coredata.CoreData, *, + def cached_compile(self, code: 'mesonlib.FileOrString', *, extra_args: T.Union[None, T.List[str], CompilerArgs] = None, mode: CompileCheckMode = CompileCheckMode.LINK, temp_dir: T.Optional[str] = None) -> T.Iterator[CompileResult]: @@ -888,8 +888,9 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): key: coredata.CompilerCheckCacheKey = (tuple(self.exelist), self.version, code, textra_args, mode) # Check if not cached, and generate, otherwise get from the cache - if key in cdata.compiler_check_cache: - p = cdata.compiler_check_cache[key] + cache = self.environment.coredata.compiler_check_cache + if key in cache: + p = cache[key] p.cached = True mlog.debug('Using cached compile:') mlog.debug('Cached command line: ', ' '.join(p.command), '\n') @@ -899,7 +900,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): yield p else: with self.compile(code, extra_args=extra_args, mode=mode, want_output=False, temp_dir=temp_dir) as p: - cdata.compiler_check_cache[key] = p + cache[key] = p yield p def get_colorout_args(self, colortype: str) -> T.List[str]: @@ -1342,7 +1343,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): with self.compile(code, extra_args=args, mode=mode, want_output=want_output, temp_dir=self.environment.scratch_dir) as r: yield r else: - with self.cached_compile(code, self.environment.coredata, extra_args=args, mode=mode, temp_dir=self.environment.scratch_dir) as r: + with self.cached_compile(code, extra_args=args, mode=mode, temp_dir=self.environment.scratch_dir) as r: yield r def compiles(self, code: 'mesonlib.FileOrString', *, diff --git a/mesonbuild/compilers/cython.py b/mesonbuild/compilers/cython.py index 9dba74da7..b33147e34 100644 --- a/mesonbuild/compilers/cython.py +++ b/mesonbuild/compilers/cython.py @@ -50,7 +50,7 @@ class CythonCompiler(Compiler): def sanity_check(self, work_dir: str) -> None: code = 'print("hello world")' - with self.cached_compile(code, self.environment.coredata) as p: + with self.cached_compile(code) as p: if p.returncode != 0: raise EnvironmentException(f'Cython compiler {self.id!r} cannot compile programs') diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py index d186d885d..85ff469ad 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py @@ -650,7 +650,7 @@ class CLikeCompiler(Compiler): {delim_start}{dname}{delim_end}''' args = self.build_wrapper_args(extra_args, dependencies, mode=CompileCheckMode.PREPROCESS).to_native() - func = functools.partial(self.cached_compile, code, self.environment.coredata, extra_args=args, mode=CompileCheckMode.PREPROCESS) + func = functools.partial(self.cached_compile, code, extra_args=args, mode=CompileCheckMode.PREPROCESS) if disable_cache: func = functools.partial(self.compile, code, extra_args=args, mode=CompileCheckMode.PREPROCESS) with func() as p: diff --git a/mesonbuild/compilers/vala.py b/mesonbuild/compilers/vala.py index 854bd1f33..575cf4006 100644 --- a/mesonbuild/compilers/vala.py +++ b/mesonbuild/compilers/vala.py @@ -114,7 +114,7 @@ class ValaCompiler(Compiler): extra_flags += self.get_compile_only_args() else: extra_flags += self.environment.coredata.get_external_link_args(self.for_machine, self.language) - with self.cached_compile(code, self.environment.coredata, extra_args=extra_flags, mode=CompileCheckMode.COMPILE) as p: + with self.cached_compile(code, extra_args=extra_flags, mode=CompileCheckMode.COMPILE) as p: if p.returncode != 0: msg = f'Vala compiler {self.name_string()!r} cannot compile programs' raise EnvironmentException(msg) @@ -131,7 +131,7 @@ class ValaCompiler(Compiler): args += self.environment.coredata.get_external_args(self.for_machine, self.language) vapi_args = ['--pkg', libname] args += vapi_args - with self.cached_compile(code, self.environment.coredata, extra_args=args, mode=CompileCheckMode.COMPILE) as p: + with self.cached_compile(code, extra_args=args, mode=CompileCheckMode.COMPILE) as p: if p.returncode == 0: return vapi_args # Not found? Try to find the vapi file itself. |
