summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-11-17 11:05:47 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-11-19 10:48:48 -0800
commit67ffc65448358c62ff91e46cdf6b4f04f6c811b0 (patch)
tree15db373ba0f7471cba11936936a490ebc44b8b7e /mesonbuild/compilers
parenteb8ae929d97a060dac28b4a339e7c1df8d3118c8 (diff)
downloadmeson-67ffc65448358c62ff91e46cdf6b4f04f6c811b0.tar.gz
compilers: Remove CoreDAta parameter from Compiler.cached_compile
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/compilers.py11
-rw-r--r--mesonbuild/compilers/cython.py2
-rw-r--r--mesonbuild/compilers/mixins/clike.py2
-rw-r--r--mesonbuild/compilers/vala.py4
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.