diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2023-09-29 14:46:44 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2023-10-17 08:09:06 -0700 |
| commit | d38bf5fbb0b21e1f33ee81d52a361d4c8f8847a5 (patch) | |
| tree | 7a6466aa07a0eb636d8393baec95c6f4b8c9a907 /mesonbuild | |
| parent | 0f23dc5b03fda2e8958903eb25587a7e4e2daa67 (diff) | |
| download | meson-d38bf5fbb0b21e1f33ee81d52a361d4c8f8847a5.tar.gz | |
interpreter: use typed_kwargs for build_target.gnu_symbol_visibility
Diffstat (limited to 'mesonbuild')
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 6 | ||||
| -rw-r--r-- | mesonbuild/interpreter/kwargs.py | 1 | ||||
| -rw-r--r-- | mesonbuild/interpreter/type_checking.py | 7 | ||||
| -rw-r--r-- | mesonbuild/modules/python.py | 2 |
4 files changed, 9 insertions, 7 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 25e096b22..223ebddba 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -3292,12 +3292,6 @@ class Interpreter(InterpreterBase, HoldableObject): kwargs: T.Union[kwtypes.Executable, kwtypes.StaticLibrary, kwtypes.SharedLibrary, kwtypes.SharedModule, kwtypes.Jar], targetclass: T.Type[T.Union[build.Executable, build.StaticLibrary, build.SharedModule, build.SharedLibrary, build.Jar]] ) -> T.Union[build.Executable, build.StaticLibrary, build.SharedModule, build.SharedLibrary, build.Jar]: - @FeatureNewKwargs('build target', '0.48.0', ['gnu_symbol_visibility']) - def build_target_decorator_caller(self, node, args, kwargs): - return True - - build_target_decorator_caller(self, node, args, kwargs) - name, sources = args for_machine = kwargs['native'] if kwargs.get('rust_crate_type') == 'proc-macro': diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index d6d6220fd..31730e645 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -328,6 +328,7 @@ class _BaseBuildTarget(TypedDict): build_by_default: bool build_rpath: str extra_files: T.List[FileOrString] + gnu_symbol_visibility: str install: bool install_mode: FileMode install_rpath: str diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index c2ea63299..b67a4006a 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -577,6 +577,13 @@ _BUILD_TARGET_KWS: T.List[KwargInfo] = [ since='1.2.0', ), KwargInfo('build_rpath', str, default='', since='0.42.0'), + KwargInfo( + 'gnu_symbol_visibility', + str, + default='', + validator=in_set_validator({'', 'default', 'internal', 'hidden', 'protected', 'inlineshidden'}), + since='0.48.0', + ), KwargInfo('install_rpath', str, default=''), KwargInfo( 'link_language', diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index 432962cee..ec95374d3 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -232,7 +232,7 @@ class PythonInstallation(_ExternalProgramHolder['PythonExternalProgram']): kwargs['name_prefix'] = '' kwargs['name_suffix'] = target_suffix - if 'gnu_symbol_visibility' not in kwargs and \ + if kwargs['gnu_symbol_visibility'] == '' and \ (self.is_pypy or mesonlib.version_compare(self.version, '>=3.9')): kwargs['gnu_symbol_visibility'] = 'inlineshidden' |
