modules/pkgconfig: remove type checking abstraction
Which confuses the heck out of mypy
@@ -372,8 +372,8 @@ class PkgConfigModule(ExtensionModule):
})
def _get_lname(self, l: T.Union[build.SharedLibrary, build.StaticLibrary, build.CustomTarget, build.CustomTargetIndex],
- msg: str, pcfile: str, is_custom_target: bool) -> str:
- if is_custom_target:
+ msg: str, pcfile: str) -> str:
+ if isinstance(l, (build.CustomTargetIndex, build.CustomTarget)):
basename = os.path.basename(l.get_filename())
name = os.path.splitext(basename)[0]
if name.startswith('lib'):
@@ -530,8 +530,7 @@ class PkgConfigModule(ExtensionModule):
install_dir = _i[0] if _i else None
if install_dir is False:
continue
- is_custom_target = isinstance(l, (build.CustomTarget, build.CustomTargetIndex))
- if not is_custom_target and 'cs' in l.compilers:
+ if isinstance(l, build.BuildTarget) and 'cs' in l.compilers:
if isinstance(install_dir, str):
Lflag = '-r{}/{}'.format(self._escape(self._make_relative(prefix, install_dir)), l.filename)
else: # install_dir is True
@@ -544,12 +543,12 @@ class PkgConfigModule(ExtensionModule):
if Lflag not in Lflags:
Lflags.append(Lflag)
yield Lflag
- lname = self._get_lname(l, msg, pcfile, is_custom_target)
+ lname = self._get_lname(l, msg, pcfile)
# If using a custom suffix, the compiler may not be able to
# find the library
- if not is_custom_target and l.name_suffix_set:
+ if isinstance(l, build.BuildTarget) and l.name_suffix_set:
mlog.warning(msg.format(l.name, 'name_suffix', lname, pcfile))
- if is_custom_target or 'cs' not in l.compilers:
+ if isinstance(l, (build.CustomTarget, build.CustomTargetIndex)) or 'cs' not in l.compilers:
yield f'-l{lname}'
def get_uninstalled_include_dirs(libs: T.List[LIBS]) -> T.List[str]:
@@ -644,7 +643,7 @@ class PkgConfigModule(ExtensionModule):
if dataonly:
default_subdirs = []
blocked_vars = ['libraries', 'libraries_private', 'requires_private', 'extra_cflags', 'subdirs']
- if any(kwargs[k] for k in blocked_vars):
+ if any(kwargs[k] for k in blocked_vars): # type: ignore
raise mesonlib.MesonException(f'Cannot combine dataonly with any of {blocked_vars}')
default_install_dir = os.path.join(state.environment.get_datadir(), 'pkgconfig')
