summaryrefslogtreecommitdiff
path: root/mesonbuild/utils
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2022-12-09 15:26:06 +0200
committerGitHub <noreply@github.com>2022-12-09 15:26:06 +0200
commit2ec3fe7a4af5bd4d8a83947d675f9233805f3dfd (patch)
tree57c5fa9c668d8488042a6b71282c1035996cce0e /mesonbuild/utils
parent7b2c47eb45e7a5b4787e89a6b6f98a8753868d1a (diff)
parent09cbc53f57f63709c952333fe7d7950926dff7b7 (diff)
downloadmeson-2ec3fe7a4af5bd4d8a83947d675f9233805f3dfd.tar.gz
Merge pull request #10990 from xclaesse/devenv
devenv: various improvements
Diffstat (limited to 'mesonbuild/utils')
-rw-r--r--mesonbuild/utils/core.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/mesonbuild/utils/core.py b/mesonbuild/utils/core.py
index ed413cace..5450cdc29 100644
--- a/mesonbuild/utils/core.py
+++ b/mesonbuild/utils/core.py
@@ -119,23 +119,24 @@ class EnvironmentVariables(HoldableObject):
self.envvars.append((self._prepend, name, values, separator))
@staticmethod
- def _set(env: T.Dict[str, str], name: str, values: T.List[str], separator: str) -> str:
+ def _set(env: T.Dict[str, str], name: str, values: T.List[str], separator: str, default_value: T.Optional[str]) -> str:
return separator.join(values)
@staticmethod
- def _append(env: T.Dict[str, str], name: str, values: T.List[str], separator: str) -> str:
- curr = env.get(name)
+ def _append(env: T.Dict[str, str], name: str, values: T.List[str], separator: str, default_value: T.Optional[str]) -> str:
+ curr = env.get(name, default_value)
return separator.join(values if curr is None else [curr] + values)
@staticmethod
- def _prepend(env: T.Dict[str, str], name: str, values: T.List[str], separator: str) -> str:
- curr = env.get(name)
+ def _prepend(env: T.Dict[str, str], name: str, values: T.List[str], separator: str, default_value: T.Optional[str]) -> str:
+ curr = env.get(name, default_value)
return separator.join(values if curr is None else values + [curr])
- def get_env(self, full_env: T.MutableMapping[str, str]) -> T.Dict[str, str]:
+ def get_env(self, full_env: T.MutableMapping[str, str], dump: bool = False) -> T.Dict[str, str]:
env = full_env.copy()
for method, name, values, separator in self.envvars:
- env[name] = method(env, name, values, separator)
+ default_value = f'${name}' if dump else None
+ env[name] = method(env, name, values, separator, default_value)
return env