aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies
diff options
context:
space:
mode:
authorRemi Thebault <remi.thebault@gmail.com>2022-03-02 23:23:51 +0100
committerDylan Baker <dylan@pnwbakers.com>2022-03-03 08:42:56 -0800
commit4fe6f0dd2909d768bc764a39e24f16daf6e870e7 (patch)
tree5019d0ed01c1a21aa555f5d74acc5aab76c01ecc /mesonbuild/dependencies
parent2bcc204a11073628e95f01181a0b037d81b64178 (diff)
downloadmeson-4fe6f0dd2909d768bc764a39e24f16daf6e870e7.zip
meson-4fe6f0dd2909d768bc764a39e24f16daf6e870e7.tar.gz
meson-4fe6f0dd2909d768bc764a39e24f16daf6e870e7.tar.bz2
add D features to InternalDependency
Diffstat (limited to 'mesonbuild/dependencies')
-rw-r--r--mesonbuild/dependencies/base.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 714562f..c5c62d5 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -16,6 +16,7 @@
# Custom logic for several other packages are in separate files.
import copy
import os
+import collections
import itertools
import typing as T
from enum import Enum
@@ -93,6 +94,7 @@ class Dependency(HoldableObject):
self.sources: T.List[T.Union['FileOrString', 'CustomTarget']] = []
self.include_type = self._process_include_type_kw(kwargs)
self.ext_deps: T.List[Dependency] = []
+ self.d_features: T.DefaultDict[str, T.List[T.Any]] = collections.defaultdict(list)
self.featurechecks: T.List['FeatureCheckBase'] = []
self.feature_since: T.Optional[T.Tuple[str, str]] = None
@@ -227,7 +229,8 @@ class InternalDependency(Dependency):
libraries: T.List[T.Union['BuildTarget', 'CustomTarget']],
whole_libraries: T.List[T.Union['BuildTarget', 'CustomTarget']],
sources: T.Sequence[T.Union['FileOrString', 'CustomTarget']],
- ext_deps: T.List[Dependency], variables: T.Dict[str, T.Any]):
+ ext_deps: T.List[Dependency], variables: T.Dict[str, T.Any],
+ d_module_versions: T.List[str], d_import_dirs: T.List['IncludeDirs']):
super().__init__(DependencyTypeName('internal'), {})
self.version = version
self.is_found = True
@@ -239,6 +242,10 @@ class InternalDependency(Dependency):
self.sources = list(sources)
self.ext_deps = ext_deps
self.variables = variables
+ if d_module_versions:
+ self.d_features['versions'] = d_module_versions
+ if d_import_dirs:
+ self.d_features['import_dirs'] = d_import_dirs
def __deepcopy__(self, memo: T.Dict[int, 'InternalDependency']) -> 'InternalDependency':
result = self.__class__.__new__(self.__class__)
@@ -286,7 +293,7 @@ class InternalDependency(Dependency):
return InternalDependency(
self.version, final_includes, final_compile_args,
final_link_args, final_libraries, final_whole_libraries,
- final_sources, final_deps, self.variables)
+ final_sources, final_deps, self.variables, [], [])
def get_variable(self, *, cmake: T.Optional[str] = None, pkgconfig: T.Optional[str] = None,
configtool: T.Optional[str] = None, internal: T.Optional[str] = None,