summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-11-13 09:31:40 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-11-19 10:48:48 -0800
commit81bd5d3fe409dd46cad307fbb18703fda1261e38 (patch)
tree80ba6e26a22ff1d4816f65f6c1061e84236eec0e /mesonbuild/compilers
parent99bb927a74bb0d0fdd836d8442d2595ebc5d054e (diff)
downloadmeson-81bd5d3fe409dd46cad307fbb18703fda1261e38.tar.gz
compilers: Remove Environment parameter from Compiler.get_option_link_args
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/c.py8
-rw-r--r--mesonbuild/compilers/compilers.py4
-rw-r--r--mesonbuild/compilers/cpp.py20
-rw-r--r--mesonbuild/compilers/cuda.py6
-rw-r--r--mesonbuild/compilers/mixins/islinker.py3
-rw-r--r--mesonbuild/compilers/vala.py2
6 files changed, 21 insertions, 22 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index 99761f99b..adad9179c 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -136,7 +136,7 @@ class ClangCCompiler(ClangCStds, ClangCompiler, CCompiler):
args.append('-std=' + std)
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
if self.info.is_windows() or self.info.is_cygwin():
retval = self.get_compileropt_value('winlibs', target, subproject)
assert isinstance(retval, list)
@@ -221,7 +221,7 @@ class ArmclangCCompiler(ArmclangCompiler, CCompiler):
args.append('-std=' + std)
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
@@ -265,7 +265,7 @@ class GnuCCompiler(GnuCStds, GnuCompiler, CCompiler):
args.append('-std=' + std)
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
if self.info.is_windows() or self.info.is_cygwin():
# without a typeddict mypy can't figure this out
retval = self.get_compileropt_value('winlibs', target, subproject)
@@ -400,7 +400,7 @@ class VisualStudioLikeCCompilerMixin(CompilerMixinBase):
msvc_winlibs)
return opts
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
retval = self.get_compileropt_value('winlibs', target, subproject)
assert isinstance(retval, list)
libs: T.List[str] = retval.copy()
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 732203c61..845f798d7 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -638,8 +638,8 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta):
def get_option_std_args(self, target: BuildTarget, env: Environment, subproject: T.Optional[str] = None) -> T.List[str]:
return []
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
- return self.linker.get_option_link_args(target, env, subproject)
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
+ return self.linker.get_option_link_args(target, subproject)
def check_header(self, hname: str, prefix: str, *,
extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index 46c7bf5d8..857fccef3 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -294,7 +294,7 @@ class ClangCPPCompiler(_StdCPPLibMixin, ClangCPPStds, ClangCompiler, CPPCompiler
args.append(self._find_best_cpp_std(std))
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
if self.info.is_windows() or self.info.is_cygwin():
# without a typedict mypy can't understand this.
retval = self.get_compileropt_value('winlibs', target, subproject)
@@ -415,7 +415,7 @@ class ArmclangCPPCompiler(ArmclangCompiler, CPPCompiler):
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
@@ -496,7 +496,7 @@ class GnuCPPCompiler(_StdCPPLibMixin, GnuCPPStds, GnuCompiler, CPPCompiler):
args.append(self._find_best_cpp_std(std))
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
if self.info.is_windows() or self.info.is_cygwin():
# without a typedict mypy can't understand this.
retval = self.get_compileropt_value('winlibs', target, subproject)
@@ -733,7 +733,7 @@ class IntelCPPCompiler(IntelGnuLikeCompiler, CPPCompiler):
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
@@ -760,13 +760,13 @@ class VisualStudioLikeCPPCompilerMixin(CompilerMixinBase):
'c++latest': (False, "latest"),
}
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
# need a typeddict for this
key = self.form_compileropt_key('winlibs').evolve(subproject=subproject)
if target:
- value = env.coredata.get_option_for_target(target, key)
+ value = self.environment.coredata.get_option_for_target(target, key)
else:
- value = env.coredata.optstore.get_value_for(key)
+ value = self.environment.coredata.optstore.get_value_for(key)
return T.cast('T.List[str]', value)[:]
def _get_options_impl(self, opts: 'MutableKeyedOptionDictType', cpp_stds: T.List[str]) -> 'MutableKeyedOptionDictType':
@@ -977,7 +977,7 @@ class ArmCPPCompiler(ArmCompiler, CPPCompiler):
args.append('--cpp')
return args
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
def get_compiler_check_args(self, mode: CompileCheckMode) -> T.List[str]:
@@ -1002,7 +1002,7 @@ class CcrxCPPCompiler(CcrxCompiler, CPPCompiler):
def get_output_args(self, outputname: str) -> T.List[str]:
return [f'-output=obj={outputname}']
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
def get_compiler_check_args(self, mode: CompileCheckMode) -> T.List[str]:
@@ -1035,7 +1035,7 @@ class TICPPCompiler(TICompiler, CPPCompiler):
def get_always_args(self) -> T.List[str]:
return []
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
class C2000CPPCompiler(TICPPCompiler):
diff --git a/mesonbuild/compilers/cuda.py b/mesonbuild/compilers/cuda.py
index e7cf21963..3978632ec 100644
--- a/mesonbuild/compilers/cuda.py
+++ b/mesonbuild/compilers/cuda.py
@@ -673,9 +673,9 @@ class CudaCompiler(Compiler):
host_compiler_args = []
return self._to_host_flags(host_compiler_args)
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
- args = self.get_ccbin_args(target, env, subproject)
- return args + self._to_host_flags(self.host_compiler.get_option_link_args(target, env, subproject), Phase.LINKER)
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
+ args = self.get_ccbin_args(target, self.environment, subproject)
+ return args + self._to_host_flags(self.host_compiler.get_option_link_args(target, subproject), Phase.LINKER)
def get_soname_args(self, prefix: str, shlib_name: str, suffix: str, soversion: str,
darwin_versions: T.Tuple[str, str]) -> T.List[str]:
diff --git a/mesonbuild/compilers/mixins/islinker.py b/mesonbuild/compilers/mixins/islinker.py
index 7adbe8039..4106f76cc 100644
--- a/mesonbuild/compilers/mixins/islinker.py
+++ b/mesonbuild/compilers/mixins/islinker.py
@@ -17,7 +17,6 @@ import typing as T
from ...mesonlib import EnvironmentException, MesonException, is_windows
if T.TYPE_CHECKING:
- from ...environment import Environment
from ...compilers.compilers import Compiler
from ...build import BuildTarget
from ...options import OptionStore
@@ -60,7 +59,7 @@ class BasicLinkerIsCompilerMixin(Compiler):
def get_linker_lib_prefix(self) -> str:
return ''
- def get_option_link_args(self, target: BuildTarget, env: Environment, subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: BuildTarget, subproject: T.Optional[str] = None) -> T.List[str]:
return []
def has_multi_link_args(self, args: T.List[str]) -> T.Tuple[bool, bool]:
diff --git a/mesonbuild/compilers/vala.py b/mesonbuild/compilers/vala.py
index c9b415326..854bd1f33 100644
--- a/mesonbuild/compilers/vala.py
+++ b/mesonbuild/compilers/vala.py
@@ -148,7 +148,7 @@ class ValaCompiler(Compiler):
def thread_link_flags(self) -> T.List[str]:
return []
- def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subproject: T.Optional[str] = None) -> T.List[str]:
+ def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]:
return []
def build_wrapper_args(self,