summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-11-13 09:08:26 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-11-19 10:48:48 -0800
commit86b2cf3d1da242e22e71e506159136dd40473d30 (patch)
tree6da1a03c70954012dd20ac04b154b08a9707d82c /mesonbuild/compilers
parentb8d25da6e22f6d7d1e39f9b9bbc2299fc1ad090a (diff)
downloadmeson-86b2cf3d1da242e22e71e506159136dd40473d30.tar.gz
compilers: Remove Environment parameter from Compiler.has_function
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/c.py7
-rw-r--r--mesonbuild/compilers/compilers.py2
-rw-r--r--mesonbuild/compilers/cpp.py7
-rw-r--r--mesonbuild/compilers/fortran.py2
-rw-r--r--mesonbuild/compilers/mixins/clang.py5
-rw-r--r--mesonbuild/compilers/mixins/clike.py4
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