summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-01-30 20:34:52 +0000
committerTim-Philipp Müller <tim@centricular.com>2018-01-30 20:34:54 +0000
commit4007aaf3a7953a9002b4921f25de62a36d3daae5 (patch)
tree928117b9e81f59372ea51a6fc1b4bc3e17ea3418
parent63f8d33a6fd6ab6c50069355b6619289b9869e53 (diff)
meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
-rw-r--r--ext/sidplay/meson.build10
-rw-r--r--meson.build5
2 files changed, 11 insertions, 4 deletions
diff --git a/ext/sidplay/meson.build b/ext/sidplay/meson.build
index 6310da74..77819382 100644
--- a/ext/sidplay/meson.build
+++ b/ext/sidplay/meson.build
@@ -1,11 +1,13 @@
# sidplay plugin works with libsidplay 1.36.x (not 2.x.x)
have_sidplay = false
if add_languages('cpp')
+ extra_args = []
cxx = meson.get_compiler('cpp')
if cxx.has_argument('-fvisibility=hidden')
- cxx_vis_args = ['-fvisibility=hidden']
- else
- cxx_vis_args = []
+ extra_args += ['-fvisibility=hidden']
+ endif
+ if cxx.has_argument('-fno-strict-aliasing')
+ extra_args += ['-fno-strict-aliasing']
endif
if cxx.has_header('sidplay/player.h')
@@ -22,7 +24,7 @@ endif
if have_sidplay
shared_module('gstsid', 'gstsiddec.cc',
- cpp_args : ugly_args + cxx_vis_args,
+ cpp_args : ugly_args + extra_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, sidplay_dep],
install : true,
diff --git a/meson.build b/meson.build
index eb96b7ba..72e785a9 100644
--- a/meson.build
+++ b/meson.build
@@ -47,6 +47,11 @@ if cc.has_argument('-fvisibility=hidden')
add_project_arguments('-fvisibility=hidden', language: 'c')
endif
+# Disable strict aliasing
+if cc.has_argument('-fno-strict-aliasing')
+ add_project_arguments('-fno-strict-aliasing', language: 'c')
+endif
+
cdata = configuration_data()
check_headers = [
['HAVE_DLFCN_H', 'dlfcn.h'],