diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-11-13 09:31:40 -0800 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-11-19 10:48:48 -0800 |
| commit | 81bd5d3fe409dd46cad307fbb18703fda1261e38 (patch) | |
| tree | 80ba6e26a22ff1d4816f65f6c1061e84236eec0e /mesonbuild | |
| parent | 99bb927a74bb0d0fdd836d8442d2595ebc5d054e (diff) | |
| download | meson-81bd5d3fe409dd46cad307fbb18703fda1261e38.tar.gz | |
compilers: Remove Environment parameter from Compiler.get_option_link_args
Diffstat (limited to 'mesonbuild')
| -rw-r--r-- | mesonbuild/backend/ninjabackend.py | 2 | ||||
| -rw-r--r-- | mesonbuild/backend/vs2010backend.py | 2 | ||||
| -rw-r--r-- | mesonbuild/compilers/c.py | 8 | ||||
| -rw-r--r-- | mesonbuild/compilers/compilers.py | 4 | ||||
| -rw-r--r-- | mesonbuild/compilers/cpp.py | 20 | ||||
| -rw-r--r-- | mesonbuild/compilers/cuda.py | 6 | ||||
| -rw-r--r-- | mesonbuild/compilers/mixins/islinker.py | 3 | ||||
| -rw-r--r-- | mesonbuild/compilers/vala.py | 2 | ||||
| -rw-r--r-- | mesonbuild/interpreter/compiler.py | 2 | ||||
| -rw-r--r-- | mesonbuild/linkers/linkers.py | 4 |
10 files changed, 26 insertions, 27 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 04d9dd0de..3ef5f6267 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -3758,7 +3758,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) # # We shouldn't check whether we are making a static library, because # in the LTO case we do use a real compiler here. - commands += linker.get_option_link_args(target, self.environment) + commands += linker.get_option_link_args(target) dep_targets = [] dep_targets.extend(self.guess_external_link_dependencies(linker, target, commands, internal)) diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index 724dfd8b0..8188b1826 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -1470,7 +1470,7 @@ class Vs2010Backend(backends.Backend): # to be after all internal and external libraries so that unresolved # symbols from those can be found here. This is needed when the # *_winlibs that we want to link to are static mingw64 libraries. - extra_link_args += compiler.get_option_link_args(target, self.environment, target.subproject) + extra_link_args += compiler.get_option_link_args(target, target.subproject) (additional_libpaths, additional_links, extra_link_args) = self.split_link_args(extra_link_args.to_native()) # Add more libraries to be linked if needed 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, diff --git a/mesonbuild/interpreter/compiler.py b/mesonbuild/interpreter/compiler.py index beff6eb4c..b24ea6d8b 100644 --- a/mesonbuild/interpreter/compiler.py +++ b/mesonbuild/interpreter/compiler.py @@ -233,7 +233,7 @@ class CompilerHolder(ObjectHolder['Compiler']): args += self.compiler.get_option_compile_args(None, self.interpreter.environment, self.subproject) args += self.compiler.get_option_std_args(None, self.interpreter.environment, self.subproject) if mode is CompileCheckMode.LINK: - args.extend(self.compiler.get_option_link_args(None, self.interpreter.environment, self.subproject)) + args.extend(self.compiler.get_option_link_args(None, self.subproject)) if kwargs.get('werror', False): args.extend(self.compiler.get_werror_args()) args.extend(kwargs['args']) diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index 15b1ea5b0..6122db9d8 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -77,7 +77,7 @@ class StaticLinker: def openmp_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 [] @classmethod @@ -192,7 +192,7 @@ class DynamicLinker(metaclass=abc.ABCMeta): def get_option_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]: + def get_option_link_args(self, target: 'BuildTarget', subproject: T.Optional[str] = None) -> T.List[str]: return [] def has_multi_arguments(self, args: T.List[str]) -> T.Tuple[bool, bool]: |
