From 9f384e92075022af73f1a75bb746b71ea11b2f21 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Thu, 16 Dec 2021 22:50:15 -0500 Subject: [PATCH] fix type annotations for compiler toolchain rpaths We pass around a tuple of rpaths, because rpaths *can* be more than one. But all the annotations said it would be a str instead. --- mesonbuild/compilers/compilers.py | 2 +- mesonbuild/compilers/cuda.py | 2 +- mesonbuild/compilers/d.py | 2 +- mesonbuild/compilers/mixins/islinker.py | 2 +- mesonbuild/linkers/linkers.py | 24 ++++++++++++------------ 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index e0745c205..b652f5a8a 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -875,7 +875,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): return None def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return self.linker.build_rpath_args( env, build_dir, from_dir, rpath_paths, build_rpath, install_rpath) diff --git a/mesonbuild/compilers/cuda.py b/mesonbuild/compilers/cuda.py index 1f396e4e1..32e75a5e8 100644 --- a/mesonbuild/compilers/cuda.py +++ b/mesonbuild/compilers/cuda.py @@ -706,7 +706,7 @@ class CudaCompiler(Compiler): return self._to_host_flags(self.host_compiler.get_buildtype_linker_args(buildtype), _Phase.LINKER) def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: (rpath_args, rpath_dirs_to_remove) = self.host_compiler.build_rpath_args( env, build_dir, from_dir, rpath_paths, build_rpath, install_rpath) diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index 4201d82d9..a83c15b64 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -249,7 +249,7 @@ class DmdLikeCompilerMixin(CompilerMixinBase): return self.linker.import_library_args(implibname) def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: if self.info.is_windows(): return ([], set()) diff --git a/mesonbuild/compilers/mixins/islinker.py b/mesonbuild/compilers/mixins/islinker.py index 144bc70b6..9513aa5d1 100644 --- a/mesonbuild/compilers/mixins/islinker.py +++ b/mesonbuild/compilers/mixins/islinker.py @@ -108,7 +108,7 @@ class BasicLinkerIsCompilerMixin(Compiler): raise MesonException("This linker doesn't support soname args") def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return ([], set()) diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index 54915582d..c8489dafe 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -72,7 +72,7 @@ class StaticLinker: return [] def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return ([], set()) @@ -309,7 +309,7 @@ class AIXArLinker(ArLikeLinker): std_args = ['-csr', '-Xany'] -def prepare_rpaths(raw_rpaths: str, build_dir: str, from_dir: str) -> T.List[str]: +def prepare_rpaths(raw_rpaths: T.Tuple[str, ...], build_dir: str, from_dir: str) -> T.List[str]: # The rpaths we write must be relative if they point to the build dir, # because otherwise they have different length depending on the build # directory. This breaks reproducible builds. @@ -518,7 +518,7 @@ class DynamicLinker(metaclass=abc.ABCMeta): raise MesonException('This linker does not support bitcode bundles') def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return ([], set()) @@ -627,7 +627,7 @@ class GnuLikeDynamicLinkerMixin: return self._apply_prefix(f'-soname,{prefix}{shlib_name}.{suffix}{sostr}') def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: m = env.machines[self.for_machine] if m.is_windows() or m.is_cygwin(): @@ -765,7 +765,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return args def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: if not rpath_paths and not install_rpath and not build_rpath: return ([], set()) @@ -846,7 +846,7 @@ class WASMDynamicLinker(GnuLikeDynamicLinkerMixin, PosixDynamicLinkerMixin, Dyna return [] def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return ([], set()) @@ -924,7 +924,7 @@ class Xc16DynamicLinker(DynamicLinker): return [] def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return ([], set()) @@ -967,7 +967,7 @@ class CompCertDynamicLinker(DynamicLinker): raise MesonException(f'{self.id} does not support shared libraries.') def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: return ([], set()) @@ -1065,7 +1065,7 @@ class NAGDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): id = 'nag' def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: if not rpath_paths and not install_rpath and not build_rpath: return ([], set()) @@ -1110,7 +1110,7 @@ class PGIDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return [] def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: if not env.machines[self.for_machine].is_windows(): return (['-R' + os.path.join(build_dir, p) for p in rpath_paths], set()) @@ -1317,7 +1317,7 @@ class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return ['-z', 'fatal-warnings'] def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: if not rpath_paths and not install_rpath and not build_rpath: return ([], set()) @@ -1364,7 +1364,7 @@ class AIXDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return self._apply_prefix(['-berok']) def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, - rpath_paths: str, build_rpath: str, + rpath_paths: T.Tuple[str, ...], build_rpath: str, install_rpath: str) -> T.Tuple[T.List[str], T.Set[bytes]]: all_paths = mesonlib.OrderedSet() # type: mesonlib.OrderedSet[str] # install_rpath first, followed by other paths, and the system path last