aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py16
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,