summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hergert <chergert@redhat.com>2023-03-17 15:37:47 -0700
committerChristian Hergert <chergert@redhat.com>2023-03-22 16:44:35 -0700
commite19b83acd303a228f830ccf2a185201068ceb63e (patch)
tree018ffd8dc1342b98e0b7266a206310e1c0dcbbef
parent4cd1e7e97f217f50a056680c57eba13c2026b6cf (diff)
downloadlibpeas-e19b83acd303a228f830ccf2a185201068ceb63e.tar.gz
build: add various link hardening and performance options
-rw-r--r--meson.build17
1 files changed, 17 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 71b7cef..44934a4 100644
--- a/meson.build
+++ b/meson.build
@@ -209,6 +209,8 @@ project_c_args = [
add_project_arguments(project_c_args, language: 'c')
global_c_args = []
+global_link_args = []
+
test_c_args = [
'-Wcast-align',
'-Wdeclaration-after-statement',
@@ -268,10 +270,25 @@ foreach arg: test_c_args
global_c_args += arg
endif
endforeach
+test_link_args = [
+ '-Wl,-z,relro',
+ '-Wl,-z,now',
+]
if not get_option('buildtype').startswith('debug')
global_c_args += ['-DG_DISABLE_CAST_CHECKS', '-DG_DISABLE_ASSERT']
+ test_link_args += [
+ '-Wl,-Bsymbolic',
+ '-fno-plt',
+ ]
endif
+foreach link_arg: test_link_args
+ if cc.has_link_argument(link_arg)
+ global_link_args += link_arg
+ endif
+endforeach
+
add_project_arguments(global_c_args, language: 'c')
+add_project_link_arguments(global_link_args, language: 'c')
module_suffix = []
if build_machine.system() == 'darwin'