diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-10-15 11:22:54 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-20 09:22:25 -0700 |
| commit | 16d84666b9072245ff7c5960ad9f1948fbdfd32b (patch) | |
| tree | e1672f3029a03c9e72fbbf5dbba63bcaeb66e3fc | |
| parent | 2a4be34b8e981ddb2b2726b55d0a3d2fe78632a3 (diff) | |
| download | meson-16d84666b9072245ff7c5960ad9f1948fbdfd32b.tar.gz | |
interpreter|build: Add type checking for vala specific arguments
| -rw-r--r-- | mesonbuild/build.py | 12 | ||||
| -rw-r--r-- | mesonbuild/interpreter/kwargs.py | 3 | ||||
| -rw-r--r-- | mesonbuild/interpreter/type_checking.py | 3 |
3 files changed, 12 insertions, 6 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index cf4f31a1a..201cb9a79 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -102,9 +102,9 @@ if T.TYPE_CHECKING: rust_abi: Literal['c', 'rust'] rust_crate_type: str # Literal? rust_dependency_map: T.Dict[str, str] - vala_gir: str - vala_header: str - vala_vapi: str + vala_gir: T.Optional[str] + vala_header: T.Optional[str] + vala_vapi: T.Optional[str] win_subsystem: str _allow_no_sources: bool @@ -1247,9 +1247,9 @@ class BuildTarget(Target): self.add_pch('cpp', extract_as_list(kwargs, 'cpp_pch')) if not isinstance(self, Executable) or kwargs.get('export_dynamic', False): - self.vala_header = kwargs.get('vala_header', self.name + '.h') - self.vala_vapi = kwargs.get('vala_vapi', self.name + '.vapi') - self.vala_gir = kwargs.get('vala_gir', None) + self.vala_header = kwargs.get('vala_header') or self.name + '.h' + self.vala_vapi = kwargs.get('vala_vapi') or self.name + '.vapi' + self.vala_gir = kwargs.get('vala_gir') self.link_args = extract_as_list(kwargs, 'link_args') for i in self.link_args: diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index e95d47341..fe45f3b2b 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -350,6 +350,9 @@ class _BaseBuildTarget(TypedDict): override_options: T.Dict[OptionKey, options.ElementaryOptionValues] depend_files: NotRequired[T.List[File]] resources: T.List[str] + vala_header: T.Optional[str] + vala_vapi: T.Optional[str] + vala_gir: T.Optional[str] class _BuildTarget(_BaseBuildTarget): diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index 4f961bb60..946635374 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -673,6 +673,9 @@ _BUILD_TARGET_KWS: T.List[KwargInfo] = [ validator=in_set_validator(set(compilers.all_languages)), since='0.51.0', ), + KwargInfo('vala_gir', (str, NoneType)), + KwargInfo('vala_header', (str, NoneType)), + KwargInfo('vala_vapi', (str, NoneType)), ] def _validate_win_subsystem(value: T.Optional[str]) -> T.Optional[str]: |
