aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-08-11 19:59:34 +0300
committerGitHub <noreply@github.com>2018-08-11 19:59:34 +0300
commitf91b463bf4625bfc167b78b52f091f45cddfdff4 (patch)
tree13747f96c8f68d8b6bb1b4a442de755a6cdb8ae4 /mesonbuild/build.py
parentf80c11e7ee4f521b1b4e3af56293fdcac15676fe (diff)
parentfb2cdd0fe2797b30e1fd4c118407302402739a3b (diff)
downloadmeson-f91b463bf4625bfc167b78b52f091f45cddfdff4.zip
meson-f91b463bf4625bfc167b78b52f091f45cddfdff4.tar.gz
meson-f91b463bf4625bfc167b78b52f091f45cddfdff4.tar.bz2
Merge pull request #3831 from mesonbuild/symvisibility
Add gnu_symbol_visibility keyword argument
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..c1cb8a8 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -71,6 +71,7 @@ buildtarget_kwargs = set([
'objects',
'override_options',
'sources',
+ 'gnu_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.gnu_symbol_visibility = kwargs.get('gnu_symbol_visibility', '')
+ if not isinstance(self.gnu_symbol_visibility, str):
+ raise InvalidArguments('GNU symbol visibility must be a string.')
+ if self.gnu_symbol_visibility != '':
+ permitted = ['default', 'internal', 'hidden', 'protected', 'inlineshidden']
+ if self.gnu_symbol_visibility not in permitted:
+ raise InvalidArguments('GNU symbol visibility arg %s not one of: %s',
+ self.symbol_visibility, ', '.join(permitted))
def get_filename(self):
return self.filename