diff options
| author | Eli Schwartz <eschwartz@archlinux.org> | 2023-03-05 14:12:06 -0500 |
|---|---|---|
| committer | Eli Schwartz <eschwartz@archlinux.org> | 2023-05-02 19:28:35 -0400 |
| commit | 4a2530802c8d1d7a92f3f9b4b9683636ba5c92e1 (patch) | |
| tree | 9409d274669340c9c1df84620313499c07725008 /mesonbuild/modules | |
| parent | 6823cabb83c77fa19ebf594acceea7314b9e8fd7 (diff) | |
| download | meson-4a2530802c8d1d7a92f3f9b4b9683636ba5c92e1.tar.gz | |
update the devenv module hooks to support generic modifications to Build
We may want to do things like update install scripts as well, which have
to happen before generating the backend. Instead of adding one module
method per thing to do, use a single function that allows for modifying
the Build object directly.
Diffstat (limited to 'mesonbuild/modules')
| -rw-r--r-- | mesonbuild/modules/__init__.py | 6 | ||||
| -rw-r--r-- | mesonbuild/modules/gnome.py | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py index 3b7c29942..98ac18aee 100644 --- a/mesonbuild/modules/__init__.py +++ b/mesonbuild/modules/__init__.py @@ -31,7 +31,7 @@ if T.TYPE_CHECKING: from ..interpreterbase import TYPE_var, TYPE_kwargs from ..programs import OverrideProgram from ..wrap import WrapMode - from ..build import EnvironmentVariables, Executable + from ..build import Executable from ..dependencies import Dependency class ModuleState: @@ -219,8 +219,8 @@ class NewExtensionModule(ModuleObject): def found() -> bool: return True - def get_devenv(self) -> T.Optional['EnvironmentVariables']: - return None + def postconf_hook(self, b: build.Build) -> None: + pass # FIXME: Port all modules to stop using self.interpreter and use API on # ModuleState instead. Modules should stop using this class and instead use diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index 7d471e4ce..3b856227e 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -784,8 +784,9 @@ class GnomeModule(ExtensionModule): self.devenv = build.EnvironmentVariables() self.devenv.prepend(varname, [value]) - def get_devenv(self) -> T.Optional[build.EnvironmentVariables]: - return self.devenv + def postconf_hook(self, b: build.Build) -> None: + if self.devenv is not None: + b.devenv.append(self.devenv) def _get_gir_dep(self, state: 'ModuleState') -> T.Tuple[Dependency, T.Union[build.Executable, 'ExternalProgram', 'OverrideProgram'], T.Union[build.Executable, 'ExternalProgram', 'OverrideProgram']]: |
