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.zip meson-4a2530802c8d1d7a92f3f9b4b9683636ba5c92e1.tar.gz meson-4a2530802c8d1d7a92f3f9b4b9683636ba5c92e1.tar.bz2 |
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 3b7c299..98ac18a 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 7d471e4..3b85622 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']]: |