diff options
| author | Xavier Claessens <xclaessens@netflix.com> | 2025-10-13 15:49:24 -0400 |
|---|---|---|
| committer | Xavier Claessens <xclaesse@gmail.com> | 2025-10-15 12:15:39 -0400 |
| commit | 569fe981b08f8fa38ff3533651ceff414decadf4 (patch) | |
| tree | 75dc96f5ba8fce8bbc8da7d0ce027b573ed20bce /mesonbuild/interpreter | |
| parent | bd33265b04ca609afe6bb895453c5757bbbbb27d (diff) | |
| download | meson-569fe981b08f8fa38ff3533651ceff414decadf4.tar.gz | |
Add common ABC for ExternalProgram and LocalProgram
Diffstat (limited to 'mesonbuild/interpreter')
| -rw-r--r-- | mesonbuild/interpreter/__init__.py | 4 | ||||
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 5 | ||||
| -rw-r--r-- | mesonbuild/interpreter/interpreterobjects.py | 11 |
3 files changed, 6 insertions, 14 deletions
diff --git a/mesonbuild/interpreter/__init__.py b/mesonbuild/interpreter/__init__.py index e2ccce479..5186b842b 100644 --- a/mesonbuild/interpreter/__init__.py +++ b/mesonbuild/interpreter/__init__.py @@ -20,7 +20,6 @@ __all__ = [ 'SubprojectHolder', 'DependencyHolder', 'GeneratedListHolder', - 'ExternalProgramHolder', 'extract_required_kwarg', 'ArrayHolder', @@ -35,8 +34,7 @@ from .compiler import CompilerHolder from .interpreterobjects import (ExecutableHolder, BuildTargetHolder, CustomTargetHolder, CustomTargetIndexHolder, MachineHolder, Test, ConfigurationDataHolder, SubprojectHolder, DependencyHolder, - GeneratedListHolder, ExternalProgramHolder, - extract_required_kwarg) + GeneratedListHolder, extract_required_kwarg) from .primitives import ( ArrayHolder, diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 552e1331b..7cf9ecc9c 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -21,7 +21,7 @@ from ..mesonlib import (EnvironmentVariables, ExecutableSerialisation, MesonBugE FileMode, MachineChoice, is_parent_path, listify, extract_as_list, has_path_sep, path_is_in_root, PerMachine) from ..options import OptionKey -from ..programs import ExternalProgram, NonExistingExternalProgram +from ..programs import ExternalProgram, NonExistingExternalProgram, BaseProgram from ..dependencies import Dependency from ..depfile import DepFile from ..interpreterbase import ContainerTypeInfo, InterpreterBase, KwargInfo, typed_kwargs, typed_pos_args @@ -440,7 +440,6 @@ class Interpreter(InterpreterBase, HoldableObject): build.Generator: OBJ.GeneratorHolder, build.GeneratedList: OBJ.GeneratedListHolder, build.ExtractedObjects: OBJ.GeneratedObjectsHolder, - build.LocalProgram: OBJ.LocalProgramHolder, build.RunTarget: OBJ.RunTargetHolder, build.AliasTarget: OBJ.AliasTargetHolder, build.Headers: OBJ.HeadersHolder, @@ -470,7 +469,7 @@ class Interpreter(InterpreterBase, HoldableObject): ''' self.bound_holder_map.update({ dependencies.Dependency: OBJ.DependencyHolder, - ExternalProgram: OBJ.ExternalProgramHolder, + BaseProgram: OBJ.BaseProgramHolder, compilers.Compiler: compilerOBJ.CompilerHolder, ModuleObject: OBJ.ModuleObjectHolder, MutableModuleObject: OBJ.MutableModuleObjectHolder, diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index 431086669..addc7d3db 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -23,7 +23,7 @@ from ..interpreterbase import ( flatten, resolve_second_level_holders, InterpreterException, InvalidArguments, InvalidCode) from ..interpreter.type_checking import NoneType, ENV_KW, ENV_SEPARATOR_KW, PKGCONFIG_DEFINE_KW from ..dependencies import Dependency, ExternalLibrary, InternalDependency -from ..programs import ExternalProgram +from ..programs import ExternalProgram, BaseProgram from ..mesonlib import HoldableObject, listify, Popen_safe import typing as T @@ -605,9 +605,9 @@ class DependencyHolder(ObjectHolder[Dependency]): raise InterpreterException('as_shared method is only supported on declare_dependency() objects') return self.held_object.get_as_shared(kwargs['recursive']) -_BASEPROG = T.TypeVar('_BASEPROG', bound=T.Union[ExternalProgram, build.LocalProgram]) +_BASEPROG = T.TypeVar('_BASEPROG', bound=BaseProgram) -class _BaseProgramHolder(ObjectHolder[_BASEPROG]): +class BaseProgramHolder(ObjectHolder[_BASEPROG]): def __init__(self, ep: _BASEPROG, interpreter: 'Interpreter') -> None: super().__init__(ep, interpreter) @@ -656,11 +656,6 @@ class _BaseProgramHolder(ObjectHolder[_BASEPROG]): def found(self) -> bool: return self.held_object.found() -class ExternalProgramHolder(_BaseProgramHolder[ExternalProgram]): - pass - -class LocalProgramHolder(_BaseProgramHolder[build.LocalProgram]): - pass class ExternalLibraryHolder(ObjectHolder[ExternalLibrary]): def __init__(self, el: ExternalLibrary, interpreter: 'Interpreter'): |
