summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-04-24 16:36:50 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2018-04-30 12:14:07 -0400
commita67dc37e9c8edf77e6a82fd5d1fdb5125f5cda16 (patch)
treeeca8016905d53ecc0108395ba5516ad41a43f274
parent9d12af9ef8783987ab3fce8e5418165969697978 (diff)
downloadglib-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.build10
-rw-r--r--meson_options.txt5
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')