diff options
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 52a2788..3400c48 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -13,8 +13,7 @@ # limitations under the License. import contextlib, os.path, re, tempfile -import typing -from typing import Optional, Tuple, List +from typing import TYPE_CHECKING, Optional, Tuple, List, Union from ..linkers import StaticLinker, GnuLikeDynamicLinkerMixin, SolarisDynamicLinker from .. import coredata @@ -28,7 +27,7 @@ from ..envconfig import ( Properties, ) -if typing.TYPE_CHECKING: +if TYPE_CHECKING: from ..coredata import OptionDictType from ..envconfig import MachineInfo from ..environment import Environment @@ -522,7 +521,7 @@ class CompilerArgs(list): return True return False - def to_native(self, copy: bool = False) -> typing.List[str]: + def to_native(self, copy: bool = False) -> List[str]: # Check if we need to add --start/end-group for circular dependencies # between static libraries, and for recursively searching for symbols # needed by static libraries that are provided by object files or @@ -669,10 +668,10 @@ class Compiler: # manually searched. internal_libs = () - LINKER_PREFIX = None # type: typing.Union[None, str, typing.List[str]] + LINKER_PREFIX = None # type: Union[None, str, List[str]] def __init__(self, exelist, version, for_machine: MachineChoice, info: 'MachineInfo', - linker: typing.Optional['DynamicLinker'] = None, **kwargs): + linker: Optional['DynamicLinker'] = None, **kwargs): if isinstance(exelist, str): self.exelist = [exelist] elif isinstance(exelist, list): @@ -747,10 +746,10 @@ class Compiler: def get_exelist(self): return self.exelist[:] - def get_linker_exelist(self) -> typing.List[str]: + def get_linker_exelist(self) -> List[str]: return self.linker.get_exelist() - def get_linker_output_args(self, outputname: str) -> typing.List[str]: + def get_linker_output_args(self, outputname: str) -> List[str]: return self.linker.get_output_args(outputname) def get_builtin_define(self, *args, **kwargs): @@ -793,10 +792,10 @@ class Compiler: """ return self.get_language() in languages_using_ldflags - def get_linker_args_from_envvars(self) -> typing.List[str]: + def get_linker_args_from_envvars(self) -> List[str]: return self.linker.get_args_from_envvars() - def get_args_from_envvars(self) -> typing.Tuple[typing.List[str], typing.List[str]]: + def get_args_from_envvars(self) -> Tuple[List[str], List[str]]: """ Returns a tuple of (compile_flags, link_flags) for the specified language from the inherited environment @@ -813,8 +812,8 @@ class Compiler: if lang not in cflags_mapping: return [], [] - compile_flags = [] # type: typing.List[str] - link_flags = [] # type: typing.List[str] + compile_flags = [] # type: List[str] + link_flags = [] # type: List[str] env_compile_flags = os.environ.get(cflags_mapping[lang]) log_var(cflags_mapping[lang], env_compile_flags) @@ -885,7 +884,7 @@ class Compiler: def get_option_compile_args(self, options): return [] - def get_option_link_args(self, options: 'OptionDictType') -> typing.List[str]: + def get_option_link_args(self, options: 'OptionDictType') -> List[str]: return self.linker.get_option_args(options) def check_header(self, *args, **kwargs) -> Tuple[bool, bool]: @@ -921,7 +920,7 @@ class Compiler: return args[:] @classmethod - def native_args_to_unix(cls, args: typing.List[str]) -> typing.List[str]: + def native_args_to_unix(cls, args: List[str]) -> List[str]: "Always returns a copy that can be independently mutated" return args[:] @@ -939,7 +938,7 @@ class Compiler: 'Language {} does not support has_multi_arguments.'.format( self.get_display_language())) - def has_multi_link_arguments(self, args: typing.List[str], env: 'Environment') -> Tuple[bool, bool]: + def has_multi_link_arguments(self, args: List[str], env: 'Environment') -> Tuple[bool, bool]: return self.linker.has_multi_arguments(args, env) def _get_compile_output(self, dirname, mode): @@ -1053,22 +1052,22 @@ class Compiler: def get_compile_debugfile_args(self, rel_obj, **kwargs): return [] - def get_link_debugfile_args(self, targetfile: str) -> typing.List[str]: + def get_link_debugfile_args(self, targetfile: str) -> List[str]: return self.linker.get_debugfile_args(targetfile) - def get_std_shared_lib_link_args(self) -> typing.List[str]: + def get_std_shared_lib_link_args(self) -> List[str]: return self.linker.get_std_shared_lib_args() - def get_std_shared_module_link_args(self, options: 'OptionDictType') -> typing.List[str]: + def get_std_shared_module_link_args(self, options: 'OptionDictType') -> List[str]: return self.linker.get_std_shared_module_args(options) - def get_link_whole_for(self, args: typing.List[str]) -> typing.List[str]: + def get_link_whole_for(self, args: List[str]) -> List[str]: return self.linker.get_link_whole_for(args) - def get_allow_undefined_link_args(self) -> typing.List[str]: + def get_allow_undefined_link_args(self) -> List[str]: return self.linker.get_allow_undefined_args() - def no_undefined_link_args(self) -> typing.List[str]: + def no_undefined_link_args(self) -> List[str]: return self.linker.no_undefined_args() # Compiler arguments needed to enable the given instruction set. @@ -1079,7 +1078,7 @@ class Compiler: def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, rpath_paths: str, build_rpath: str, - install_rpath: str) -> typing.List[str]: + install_rpath: str) -> List[str]: return self.linker.build_rpath_args( env, build_dir, from_dir, rpath_paths, build_rpath, install_rpath) @@ -1110,7 +1109,7 @@ class Compiler: m = 'Language {} does not support position-independent executable' raise EnvironmentException(m.format(self.get_display_language())) - def get_pie_link_args(self) -> typing.List[str]: + def get_pie_link_args(self) -> List[str]: return self.linker.get_pie_args() def get_argument_syntax(self): @@ -1132,7 +1131,7 @@ class Compiler: raise EnvironmentException( '%s does not support get_profile_use_args ' % self.get_id()) - def get_undefined_link_args(self) -> typing.List[str]: + def get_undefined_link_args(self) -> List[str]: return self.linker.get_undefined_link_args() def remove_linkerlike_args(self, args): @@ -1150,21 +1149,21 @@ class Compiler: def sanitizer_link_args(self, value: str) -> List[str]: return self.linker.sanitizer_args(value) - def get_asneeded_args(self) -> typing.List[str]: + def get_asneeded_args(self) -> List[str]: return self.linker.get_asneeded_args() - def bitcode_args(self) -> typing.List[str]: + def bitcode_args(self) -> List[str]: return self.linker.bitcode_args() - def get_linker_debug_crt_args(self) -> typing.List[str]: + def get_linker_debug_crt_args(self) -> List[str]: return self.linker.get_debug_crt_args() - def get_buildtype_linker_args(self, buildtype: str) -> typing.List[str]: + def get_buildtype_linker_args(self, buildtype: str) -> List[str]: return self.linker.get_buildtype_args(buildtype) def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: typing.Tuple[str, str], - is_shared_module: bool) -> typing.List[str]: + suffix: str, soversion: str, darwin_versions: Tuple[str, str], + is_shared_module: bool) -> List[str]: return self.linker.get_soname_args( env, prefix, shlib_name, suffix, soversion, darwin_versions, is_shared_module) |