diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2021-11-04 11:32:54 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-11-22 11:28:43 -0800 |
commit | f9478c573b9ec37772f8f529608f6897eb8bf968 (patch) | |
tree | de6affc1f251583ae7f2b61f3c7736f32b4fff54 /mesonbuild/interpreter | |
parent | 38b4673a94201075e9d24d14777d2f0ea121fd38 (diff) | |
download | meson-f9478c573b9ec37772f8f529608f6897eb8bf968.zip meson-f9478c573b9ec37772f8f529608f6897eb8bf968.tar.gz meson-f9478c573b9ec37772f8f529608f6897eb8bf968.tar.bz2 |
interpreter: use typed_pos_args for find_program
Diffstat (limited to 'mesonbuild/interpreter')
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 88cec10..d591a49 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1493,19 +1493,17 @@ external dependencies (including libraries) must go to "dependencies".''') @FeatureNewKwargs('find_program', '0.49.0', ['disabler']) @disablerIfNotFound @permittedKwargs({'required', 'native', 'version', 'dirs'}) - def func_find_program(self, node, args, kwargs) -> T.Union['build.Executable', ExternalProgram, 'OverrideProgram']: - if not args: - raise InterpreterException('No program name specified.') - + @typed_pos_args('find_program', varargs=(str, mesonlib.File), min_varargs=1) + def func_find_program(self, node: mparser.BaseNode, args: T.Tuple[T.List[mesonlib.FileOrString]], kwargs) -> T.Union['build.Executable', ExternalProgram, 'OverrideProgram']: disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) if disabled: - mlog.log('Program', mlog.bold(' '.join(args)), 'skipped: feature', mlog.bold(feature), 'disabled') - return self.notfound_program(args) + mlog.log('Program', mlog.bold(' '.join(args[0])), 'skipped: feature', mlog.bold(feature), 'disabled') + return self.notfound_program(args[0]) search_dirs = extract_search_dirs(kwargs) wanted = mesonlib.stringlistify(kwargs.get('version', [])) for_machine = self.machine_from_native_kwarg(kwargs) - return self.find_program_impl(args, for_machine, required=required, + return self.find_program_impl(args[0], for_machine, required=required, silent=False, wanted=wanted, search_dirs=search_dirs) @@ -2385,7 +2383,7 @@ This will become a hard error in the future.''', location=self.current_node) if re.fullmatch('([_a-zA-Z][_0-9a-zA-Z]*:)?[_a-zA-Z][_0-9a-zA-Z]*', setup_name) is None: raise InterpreterException('Setup name may only contain alphanumeric characters.') if ":" not in setup_name: - setup_name = f'{(self.subproject if self.subproject else self.build.project_name)}: {setup_name}' + setup_name = f'{(self.subproject if self.subproject else self.build.project_name)}:{setup_name}' exe_wrapper: T.List[str] = [] for i in kwargs['exe_wrapper']: |