aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-07-03 23:16:33 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-08-09 19:46:49 +0300
commit6a0e6740432dfd22c54976ae3fe2fc1c9fea0b3d (patch)
tree6e858ee5ae062f23737806bd44215b941a150673 /mesonbuild/build.py
parent15fb2843955b53414cf292cf0a6b7faf7ffc883a (diff)
downloadmeson-6a0e6740432dfd22c54976ae3fe2fc1c9fea0b3d.zip
meson-6a0e6740432dfd22c54976ae3fe2fc1c9fea0b3d.tar.gz
meson-6a0e6740432dfd22c54976ae3fe2fc1c9fea0b3d.tar.bz2
Add kwarg for specifying symbol visibility.
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py9
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