diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2021-01-12 11:31:25 -0800 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-01-13 13:32:48 -0800 |
commit | e36aca42d0980ce4b43e5753d798c986135e9f43 (patch) | |
tree | be24e9dca9f08196ac83dfffa5d6b6aef9d6e026 /mesonbuild/build.py | |
parent | 59328aba2929b969a7e7ce1390d891dafe391a7f (diff) | |
download | meson-e36aca42d0980ce4b43e5753d798c986135e9f43.zip meson-e36aca42d0980ce4b43e5753d798c986135e9f43.tar.gz meson-e36aca42d0980ce4b43e5753d798c986135e9f43.tar.bz2 |
build/interpreter: Split InstallDir to fix layering violation
Currently InstallDir is part of the interpreter, and is an Interpreter
object, which is then put in the Build object. This is a layering
violation, the interperter should have a Holder for build data. This
patch fixes that.
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r-- | mesonbuild/build.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 23d2ff7..017b0f0 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -171,6 +171,21 @@ class Man: return self.sources +class InstallDir: + + def __init__(self, src_subdir: str, inst_subdir: str, install_dir: str, + install_mode: T.Optional['FileMode'], + exclude: T.Tuple[T.Set[str], T.Set[str]], + strip_directory: bool, from_source_dir: bool = True): + self.source_subdir = src_subdir + self.installable_subdir = inst_subdir + self.install_dir = install_dir + self.install_mode = install_mode + self.exclude = exclude + self.strip_directory = strip_directory + self.from_source_dir = from_source_dir + + class Build: """A class that holds the status of one build including all dependencies and so on. @@ -198,7 +213,7 @@ class Build: self.install_scripts = [] self.postconf_scripts = [] self.dist_scripts = [] - self.install_dirs = [] + self.install_dirs: T.List[InstallDir] = [] self.dep_manifest_name = None self.dep_manifest = {} self.stdlibs = PerMachine({}, {}) |