diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-04-24 16:36:50 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2018-04-30 12:14:07 -0400 |
commit | a67dc37e9c8edf77e6a82fd5d1fdb5125f5cda16 (patch) | |
tree | eca8016905d53ecc0108395ba5516ad41a43f274 | |
parent | 9d12af9ef8783987ab3fce8e5418165969697978 (diff) | |
download | glib-a67dc37e9c8edf77e6a82fd5d1fdb5125f5cda16.tar.gz |
Meson: Add -Wl,-z,nodelete and -Wl,-Bsymbolic-functions where supported
https://bugzilla.gnome.org/show_bug.cgi?id=788771
-rw-r--r-- | meson.build | 10 | ||||
-rw-r--r-- | meson_options.txt | 5 |
2 files changed, 14 insertions, 1 deletions
diff --git a/meson.build b/meson.build index 4d37973cd..e1634865b 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('glib', 'c', 'cpp', version : '2.57.0', - meson_version : '>= 0.45.0', + meson_version : '>= 0.46.0', default_options : [ 'buildtype=debugoptimized', 'warning_level=1', @@ -337,11 +337,19 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang' '-Werror=missing-prototypes', '-Werror=pointer-arith', ] + test_c_link_args = [ + '-Wl,-z,nodelete', + ] + if get_option('bsymbolic_functions') + test_c_link_args += ['-Wl,-Bsymbolic-functions'] + endif else test_c_args = [] + test_c_link_args = [] endif add_project_arguments(cc.get_supported_arguments(test_c_args), language: 'c') +add_project_link_arguments(cc.get_supported_link_arguments(test_c_link_args), language: 'c') # Windows Support (Vista+) if host_system == 'windows' diff --git a/meson_options.txt b/meson_options.txt index 4504c6858..60a541d92 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -63,3 +63,8 @@ option('gtk_doc', type : 'boolean', value : false, description : 'use gtk-doc to build documentation') + +option('bsymbolic_functions', + type : 'boolean', + value : true, + description : 'link with -Bsymbolic-functions if supported') |