diff options
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r-- | mesonbuild/build.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 545575c..89c158e 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -251,6 +251,7 @@ class Build: self.man: T.List[Man] = [] self.emptydir: T.List[EmptyDir] = [] self.data: T.List[Data] = [] + self.symlinks: T.List[SymlinkData] = [] self.static_linker: PerMachine[StaticLinker] = PerMachine(None, None) self.subprojects = {} self.subproject_dir = '' @@ -329,6 +330,9 @@ class Build: def get_data(self) -> T.List['Data']: return self.data + def get_symlinks(self) -> T.List['SymlinkData']: + return self.symlinks + def get_emptydir(self) -> T.List['EmptyDir']: return self.emptydir @@ -2802,6 +2806,18 @@ class Data(HoldableObject): self.subproject = subproject self.data_type = data_type +class SymlinkData(HoldableObject): + def __init__(self, target: str, name: str, install_dir: str, + subproject: str, install_tag: T.Optional[str] = None): + self.target = target + if name != os.path.basename(name): + raise InvalidArguments(f'Link name is "{name}", but link names cannot contain path separators. ' + 'The dir part should be in install_dir.') + self.name = name + self.install_dir = install_dir + self.subproject = subproject + self.install_tag = install_tag + class TestSetup: def __init__(self, exe_wrapper: T.List[str], gdb: bool, timeout_multiplier: int, env: EnvironmentVariables, |