diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2019-07-02 10:53:44 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-07-15 10:59:22 -0700 |
commit | 675874c303222b1cd9df05e70757a6d802d44e6e (patch) | |
tree | b2cf7b4eccfaf070c3ba260119dc1895555f7e4a | |
parent | 4d5c745bdc402d7fe77026631237d9f5447e1a67 (diff) | |
download | meson-675874c303222b1cd9df05e70757a6d802d44e6e.zip meson-675874c303222b1cd9df05e70757a6d802d44e6e.tar.gz meson-675874c303222b1cd9df05e70757a6d802d44e6e.tar.bz2 |
compilers/mixins/ccrx: add type annotations
-rw-r--r-- | mesonbuild/compilers/mixins/ccrx.py | 107 |
1 files changed, 59 insertions, 48 deletions
diff --git a/mesonbuild/compilers/mixins/ccrx.py b/mesonbuild/compilers/mixins/ccrx.py index 3de0256..0e435e3 100644 --- a/mesonbuild/compilers/mixins/ccrx.py +++ b/mesonbuild/compilers/mixins/ccrx.py @@ -17,36 +17,47 @@ import os import typing -from ...mesonlib import Popen_safe - -ccrx_buildtype_args = {'plain': [], - 'debug': [], - 'debugoptimized': [], - 'release': [], - 'minsize': [], - 'custom': [], - } - -ccrx_buildtype_linker_args = {'plain': [], - 'debug': [], - 'debugoptimized': [], - 'release': [], - 'minsize': [], - 'custom': [], - } -ccrx_optimization_args = {'0': ['-optimize=0'], - 'g': ['-optimize=0'], - '1': ['-optimize=1'], - '2': ['-optimize=2'], - '3': ['-optimize=max'], - 's': ['-optimize=2', '-size'] - } -ccrx_debug_args = {False: [], - True: ['-debug']} +from ...mesonlib import Popen_safe, EnvironmentException + +if typing.TYPE_CHECKING: + from ..compilers import CompilerType + from ...environment import Environment + +ccrx_buildtype_args = { + 'plain': [], + 'debug': [], + 'debugoptimized': [], + 'release': [], + 'minsize': [], + 'custom': [], +} # type: typing.Dict[str, typing.List[str]] + +ccrx_buildtype_linker_args = { + 'plain': [], + 'debug': [], + 'debugoptimized': [], + 'release': [], + 'minsize': [], + 'custom': [], +} # type: typing.Dict[str, typing.List[str]] + +ccrx_optimization_args = { + '0': ['-optimize=0'], + 'g': ['-optimize=0'], + '1': ['-optimize=1'], + '2': ['-optimize=2'], + '3': ['-optimize=max'], + 's': ['-optimize=2', '-size'] +} # type: typing.Dict[str, typing.List[str]] + +ccrx_debug_args = { + False: [], + True: ['-debug'] +} # type: typing.Dict[bool, typing.List[str]] class CcrxCompiler: - def __init__(self, compiler_type): + def __init__(self, compiler_type: 'CompilerType'): if not self.is_cross: raise EnvironmentException('ccrx supports only cross-compilation.') # Check whether 'rlink.exe' is available in path @@ -61,70 +72,70 @@ class CcrxCompiler: self.compiler_type = compiler_type # Assembly self.can_compile_suffixes.update('s') - default_warn_args = [] + default_warn_args = [] # type: typing.List[str] self.warn_args = {'0': [], '1': default_warn_args, '2': default_warn_args + [], '3': default_warn_args + []} - def can_linker_accept_rsp(self): + def can_linker_accept_rsp(self) -> bool: return False - def get_pic_args(self): + def get_pic_args(self) -> typing.List[str]: # PIC support is not enabled by default for CCRX, # if users want to use it, they need to add the required arguments explicitly return [] - def get_buildtype_args(self, buildtype): + def get_buildtype_args(self, buildtype: str) -> typing.List[str]: return ccrx_buildtype_args[buildtype] - def get_buildtype_linker_args(self, buildtype): + def get_buildtype_linker_args(self, buildtype: str) -> typing.List[str]: return ccrx_buildtype_linker_args[buildtype] # Override CCompiler.get_std_shared_lib_link_args - def get_std_shared_lib_link_args(self): + def get_std_shared_lib_link_args(self) -> typing.List[str]: return [] - def get_pch_suffix(self): + def get_pch_suffix(self) -> str: return 'pch' - def get_pch_use_args(self, pch_dir, header): + def get_pch_use_args(self, pch_dir: str, header: str) -> typing.List[str]: return [] # Override CCompiler.get_dependency_gen_args - def get_dependency_gen_args(self, outtarget, outfile): + def get_dependency_gen_args(self, outtarget: str, outfile: str) -> typing.List[str]: return [] # Override CCompiler.build_rpath_args - def build_rpath_args(self, build_dir, from_dir, rpath_paths, build_rpath, install_rpath): + def build_rpath_args(self, build_dir: str, from_dir: str, rpath_paths: str, build_rpath: str, install_rpath: str) -> typing.List[str]: return [] - def thread_flags(self, env): + def thread_flags(self, env: 'Environment') -> typing.List[str]: return [] - def thread_link_flags(self, env): + def thread_link_flags(self, env: 'Environment') -> typing.List[str]: return [] - def get_linker_exelist(self): + def get_linker_exelist(self) -> typing.List[str]: return [self.linker_exe] - def get_linker_lib_prefix(self): + def get_linker_lib_prefix(self) -> str: return '-lib=' - def get_coverage_args(self): + def get_coverage_args(self) -> typing.List[str]: return [] - def get_coverage_link_args(self): + def get_coverage_link_args(self) -> typing.List[str]: return [] - def get_optimization_args(self, optimization_level): + def get_optimization_args(self, optimization_level: str) -> typing.List[str]: return ccrx_optimization_args[optimization_level] - def get_debug_args(self, is_debug): + def get_debug_args(self, is_debug: bool) -> typing.List[str]: return ccrx_debug_args[is_debug] @classmethod - def unix_args_to_native(cls, args): + def unix_args_to_native(cls, args: typing.List[str]) -> typing.List[str]: result = [] for i in args: if i.startswith('-D'): @@ -140,9 +151,9 @@ class CcrxCompiler: result.append(i) return result - def compute_parameters_with_absolute_paths(self, parameter_list, build_dir): + def compute_parameters_with_absolute_paths(self, parameter_list: typing.List[str], build_dir: str) -> typing.List[str]: for idx, i in enumerate(parameter_list): if i[:9] == '-include=': parameter_list[idx] = i[:9] + os.path.normpath(os.path.join(build_dir, i[9:])) - return parameter_list
\ No newline at end of file + return parameter_list |