aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/interpreter.py6
-rw-r--r--mesonbuild/modules/gnome.py4
-rw-r--r--mesonbuild/programs.py5
3 files changed, 8 insertions, 7 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index f4e296d..5cf3dde 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -22,7 +22,7 @@ from . import compilers
from .wrap import wrap, WrapMode
from . import mesonlib
from .mesonlib import FileMode, MachineChoice, OptionKey, Popen_safe, listify, extract_as_list, has_path_sep, unholder
-from .programs import ExternalProgram, NonExistingExternalProgram
+from .programs import ExternalProgram, NonExistingExternalProgram, OverrideProgram
from .dependencies import InternalDependency, Dependency, NotFoundDependency, DependencyException
from .depfile import DepFile
from .interpreterbase import InterpreterBase, typed_pos_args
@@ -72,10 +72,6 @@ def stringifyUserArguments(args, quote=False):
raise InvalidArguments('Function accepts only strings, integers, lists, dictionaries and lists thereof.')
-class OverrideProgram(ExternalProgram):
- pass
-
-
class FeatureOptionHolder(InterpreterObject, ObjectHolder[coredata.UserFeatureOption]):
def __init__(self, env: 'Environment', name: str, option: coredata.UserFeatureOption):
InterpreterObject.__init__(self)
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 6ca866f..8a48ca8 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -34,8 +34,8 @@ from ..mesonlib import (
join_args, unholder,
)
from ..dependencies import Dependency, PkgConfigDependency, InternalDependency
-from ..programs import ExternalProgram
from ..interpreterbase import noPosargs, noKwargs, permittedKwargs, FeatureNew, FeatureNewKwargs, FeatureDeprecatedKwargs
+from ..programs import ExternalProgram, OverrideProgram
if T.TYPE_CHECKING:
from ..compilers import Compiler
@@ -492,7 +492,7 @@ class GnomeModule(ExtensionModule):
exe = self.giscanner
if hasattr(exe, 'held_object'):
exe = exe.held_object
- if isinstance(exe, interpreter.OverrideProgram):
+ if isinstance(exe, OverrideProgram):
# Handle overridden g-ir-scanner
assert option in ['--extra-library', '--sources-top-dirs']
return True
diff --git a/mesonbuild/programs.py b/mesonbuild/programs.py
index b436a15..1d93b8a 100644
--- a/mesonbuild/programs.py
+++ b/mesonbuild/programs.py
@@ -333,6 +333,11 @@ class EmptyExternalProgram(ExternalProgram): # lgtm [py/missing-call-to-init]
return True
+class OverrideProgram(ExternalProgram):
+
+ """A script overriding a program."""
+
+
def find_external_program(env: 'Environment', for_machine: MachineChoice, name: str,
display_name: str, default_names: T.List[str],
allow_default_for_cross: bool = True) -> T.Generator['ExternalProgram', None, None]: