diff options
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r-- | mesonbuild/build.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index a3cd993..3d43c89 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -71,6 +71,7 @@ buildtarget_kwargs = set([ 'objects', 'override_options', 'sources', + 'symbol_visibility', ]) known_build_target_kwargs = ( @@ -817,6 +818,14 @@ This will become a hard error in a future Meson release.''') self.implicit_include_directories = kwargs.get('implicit_include_directories', True) if not isinstance(self.implicit_include_directories, bool): raise InvalidArguments('Implicit_include_directories must be a boolean.') + self.symbol_visibility = kwargs.get('symbol_visibility', '') + if not isinstance(self.symbol_visibility, str): + raise InvalidArguments('Symbol visibility must be a string.') + if self.symbol_visibility != '': + permitted = ['default', 'internal', 'hidden', 'protected', 'inlineshidden'] + if self.symbol_visibility not in permitted: + raise InvalidArguments('Symbol visibility arg %s not one of: %s', + self.symbol_visibility, ', '.join(permitted)) def get_filename(self): return self.filename |