diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-11-13 09:08:26 -0800 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-11-19 10:48:48 -0800 |
| commit | 86b2cf3d1da242e22e71e506159136dd40473d30 (patch) | |
| tree | 6da1a03c70954012dd20ac04b154b08a9707d82c /mesonbuild/compilers | |
| parent | b8d25da6e22f6d7d1e39f9b9bbc2299fc1ad090a (diff) | |
| download | meson-86b2cf3d1da242e22e71e506159136dd40473d30.tar.gz | |
compilers: Remove Environment parameter from Compiler.has_function
Diffstat (limited to 'mesonbuild/compilers')
| -rw-r--r-- | mesonbuild/compilers/c.py | 7 | ||||
| -rw-r--r-- | mesonbuild/compilers/compilers.py | 2 | ||||
| -rw-r--r-- | mesonbuild/compilers/cpp.py | 7 | ||||
| -rw-r--r-- | mesonbuild/compilers/fortran.py | 2 | ||||
| -rw-r--r-- | mesonbuild/compilers/mixins/clang.py | 5 | ||||
| -rw-r--r-- | mesonbuild/compilers/mixins/clike.py | 4 |
6 files changed, 10 insertions, 17 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index 8e084e62c..d82689446 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -340,15 +340,12 @@ class ElbrusCCompiler(ElbrusCompiler, CCompiler): # Elbrus C compiler does not have lchmod, but there is only linker warning, not compiler error. # So we should explicitly fail at this case. - def has_function(self, funcname: str, prefix: str, env: 'Environment', *, + def has_function(self, funcname: str, prefix: str, *, extra_args: T.Optional[T.List[str]] = None, dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: if funcname == 'lchmod': return False, False - else: - return super().has_function(funcname, prefix, env, - extra_args=extra_args, - dependencies=dependencies) + return super().has_function(funcname, prefix, extra_args=extra_args, dependencies=dependencies) class IntelCCompiler(IntelGnuLikeCompiler, CCompiler): diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index e72d4acf9..0cf711514 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -742,7 +742,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[int, bool]: raise EnvironmentException('Language %s does not support alignment checks.' % self.get_display_language()) - def has_function(self, funcname: str, prefix: str, env: 'Environment', *, + def has_function(self, funcname: str, prefix: str, *, extra_args: T.Optional[T.List[str]] = None, dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: """See if a function exists. diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py index bd80f3974..421046150 100644 --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py @@ -616,15 +616,12 @@ class ElbrusCPPCompiler(ElbrusCompiler, CPPCompiler): # Elbrus C++ compiler does not have lchmod, but there is only linker warning, not compiler error. # So we should explicitly fail at this case. - def has_function(self, funcname: str, prefix: str, env: 'Environment', *, + def has_function(self, funcname: str, prefix: str, *, extra_args: T.Optional[T.List[str]] = None, dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: if funcname == 'lchmod': return False, False - else: - return super().has_function(funcname, prefix, env, - extra_args=extra_args, - dependencies=dependencies) + return super().has_function(funcname, prefix, extra_args=extra_args, dependencies=dependencies) # Elbrus C++ compiler does not support RTTI, so don't check for it. def get_option_compile_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]: diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index ee88bc7df..78a352c7c 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -46,7 +46,7 @@ class FortranCompiler(CLikeCompiler, Compiler): full_version=full_version, linker=linker) CLikeCompiler.__init__(self) - def has_function(self, funcname: str, prefix: str, env: 'Environment', *, + def has_function(self, funcname: str, prefix: str, *, extra_args: T.Optional[T.List[str]] = None, dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: raise MesonException('Fortran does not have "has_function" capability.\n' diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py index a09dfe51f..4fd6a9c36 100644 --- a/mesonbuild/compilers/mixins/clang.py +++ b/mesonbuild/compilers/mixins/clang.py @@ -19,7 +19,6 @@ from .gnu import GnuLikeCompiler if T.TYPE_CHECKING: from ...options import MutableKeyedOptionDictType - from ...environment import Environment from ...dependencies import Dependency # noqa: F401 from ..compilers import Compiler @@ -149,7 +148,7 @@ class ClangCompiler(GnuLikeCompiler): myargs.append('-Werror=ignored-optimization-argument') return super().get_compiler_check_args(mode) + myargs - def has_function(self, funcname: str, prefix: str, env: 'Environment', *, + def has_function(self, funcname: str, prefix: str, *, extra_args: T.Optional[T.List[str]] = None, dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: if extra_args is None: @@ -161,7 +160,7 @@ class ClangCompiler(GnuLikeCompiler): # TODO: this really should be communicated by the linker if isinstance(self.linker, AppleDynamicLinker) and mesonlib.version_compare(self.version, '>=8.0'): extra_args.append('-Wl,-no_weak_imports') - return super().has_function(funcname, prefix, env, extra_args=extra_args, + return super().has_function(funcname, prefix, extra_args=extra_args, dependencies=dependencies) def openmp_flags(self) -> T.List[str]: diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py index fc7c86ecf..577248bc2 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py @@ -763,7 +763,7 @@ class CLikeCompiler(Compiler): }}''' return head, main - def has_function(self, funcname: str, prefix: str, env: 'Environment', *, + def has_function(self, funcname: str, prefix: str, *, extra_args: T.Optional[T.List[str]] = None, dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[bool, bool]: """Determine if a function exists. @@ -781,7 +781,7 @@ class CLikeCompiler(Compiler): varname = 'has function ' + funcname varname = varname.replace(' ', '_') if self.is_cross: - val = env.properties.host.get(varname, None) + val = self.environment.properties.host.get(varname, None) if val is not None: if isinstance(val, bool): return val, False |
