build: get_default_install_dir() can be (None, None) or (str, str)

pull/12057/merge
Dylan Baker 1 year ago
parent 477783a65b
commit 8283e4900d
  1. 16
      mesonbuild/build.py

@ -564,7 +564,7 @@ class Target(HoldableObject, metaclass=abc.ABCMeta):
return NotImplemented
return self.get_id() >= other.get_id()
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
raise NotImplementedError
def get_custom_install_dir(self) -> T.List[T.Union[str, Literal[False]]]:
@ -1103,7 +1103,7 @@ class BuildTarget(Target):
result.update(i.get_link_dep_subdirs())
return result
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return self.environment.get_libdir(), '{libdir}'
def get_custom_install_dir(self) -> T.List[T.Union[str, Literal[False]]]:
@ -2030,7 +2030,7 @@ class Executable(BuildTarget):
if self.rust_crate_type != 'bin':
raise InvalidArguments('Invalid rust_crate_type: must be "bin" for executables.')
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return self.environment.get_bindir(), '{bindir}'
def description(self):
@ -2141,7 +2141,7 @@ class StaticLibrary(BuildTarget):
def get_link_deps_mapping(self, prefix: str) -> T.Mapping[str, str]:
return {}
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return self.environment.get_static_lib_dir(), '{libdir_static}'
def type_suffix(self):
@ -2232,7 +2232,7 @@ class SharedLibrary(BuildTarget):
mappings.update(result)
return mappings
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return self.environment.get_shared_lib_dir(), '{libdir_shared}'
def determine_filenames(self):
@ -2468,7 +2468,7 @@ class SharedModule(SharedLibrary):
# to build targets, see: https://github.com/mesonbuild/meson/issues/9492
self.force_soname = False
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return self.environment.get_shared_module_dir(), '{moduledir_shared}'
class BothLibraries(SecondLevelHolder):
@ -2607,7 +2607,7 @@ class CustomTarget(Target, CustomTargetBase, CommandBase):
# Whether to use absolute paths for all files on the commandline
self.absolute_paths = absolute_paths
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return None, None
def __repr__(self):
@ -2925,7 +2925,7 @@ class Jar(BuildTarget):
return ['-cp', os.pathsep.join(cp_paths)]
return []
def get_default_install_dir(self) -> T.Tuple[str, str]:
def get_default_install_dir(self) -> T.Union[T.Tuple[str, str], T.Tuple[None, None]]:
return self.environment.get_jar_dir(), '{jardir}'
@dataclass(eq=False)

Loading…
Cancel
Save