summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index f1f8ea8fb..a76a0cbd9 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -21,7 +21,7 @@ from ..interpreterbase import (
typed_pos_args, typed_kwargs, typed_operator,
noArgsFlattening, noPosargs, noKwargs, unholder_return,
flatten, resolve_second_level_holders, InterpreterException, InvalidArguments, InvalidCode)
-from ..interpreter.type_checking import NoneType, ENV_SEPARATOR_KW
+from ..interpreter.type_checking import NoneType, ENV_SEPARATOR_KW, PKGCONFIG_DEFINE_KW
from ..dependencies import Dependency, ExternalLibrary, InternalDependency
from ..programs import ExternalProgram
from ..mesonlib import HoldableObject, OptionKey, listify, Popen_safe
@@ -487,17 +487,18 @@ class DependencyHolder(ObjectHolder[Dependency]):
@typed_pos_args('dependency.get_pkgconfig_variable', str)
@typed_kwargs(
'dependency.get_pkgconfig_variable',
- KwargInfo('default', (str, NoneType)),
- KwargInfo(
- 'define_variable',
- ContainerTypeInfo(list, str, pairs=True),
- default=[],
- listify=True,
- validator=lambda x: 'must be of length 2 or empty' if len(x) not in {0, 2} else None,
- ),
+ KwargInfo('default', str, default=''),
+ PKGCONFIG_DEFINE_KW.evolve(name='define_variable')
)
def pkgconfig_method(self, args: T.Tuple[str], kwargs: 'kwargs.DependencyPkgConfigVar') -> str:
- return self.held_object.get_pkgconfig_variable(args[0], **kwargs)
+ from ..dependencies.pkgconfig import PkgConfigDependency
+ if not isinstance(self.held_object, PkgConfigDependency):
+ raise InvalidArguments(f'{self.held_object.get_name()!r} is not a pkgconfig dependency')
+ return self.held_object.get_variable(
+ pkgconfig=args[0],
+ default_value=kwargs['default'],
+ pkgconfig_define=kwargs['define_variable'],
+ )
@FeatureNew('dependency.get_configtool_variable', '0.44.0')
@FeatureDeprecated('dependency.get_configtool_variable', '0.56.0',
@@ -523,7 +524,7 @@ class DependencyHolder(ObjectHolder[Dependency]):
KwargInfo('configtool', (str, NoneType)),
KwargInfo('internal', (str, NoneType), since='0.54.0'),
KwargInfo('default_value', (str, NoneType)),
- KwargInfo('pkgconfig_define', ContainerTypeInfo(list, str, pairs=True), default=[], listify=True),
+ PKGCONFIG_DEFINE_KW,
)
def variable_method(self, args: T.Tuple[T.Optional[str]], kwargs: 'kwargs.DependencyGetVariable') -> str:
default_varname = args[0]