summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-01-30 20:34:32 +0000
committerTim-Philipp Müller <tim@centricular.com>2018-01-30 20:34:36 +0000
commit3cf73a66fe6d292eba135c605f04e62cbd7c3711 (patch)
tree5a680ff4861810fd2968ea2af0ae4d0eadcf9f0d
parent75241cfa6b0dda3fc83bfbe60ee87c88d6e2ed2d (diff)
meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
-rw-r--r--ext/taglib/meson.build10
-rw-r--r--meson.build5
2 files changed, 11 insertions, 4 deletions
diff --git a/ext/taglib/meson.build b/ext/taglib/meson.build
index 6729890d9..241f9b5db 100644
--- a/ext/taglib/meson.build
+++ b/ext/taglib/meson.build
@@ -7,17 +7,19 @@ taglib_sources = [
taglib_dep = dependency('taglib', version : '>= 1.5', required : false)
if taglib_dep.found() and add_languages('cpp', required : false)
+ 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
gsttaglib = library('gsttaglib',
taglib_sources,
c_args : gst_plugins_good_args + ['-DGST_USE_UNSTABLE_API'],
- cpp_args : gst_plugins_good_args + ['-DGST_USE_UNSTABLE_API'] + cxx_vis_args,
+ cpp_args : gst_plugins_good_args + ['-DGST_USE_UNSTABLE_API'] + extra_args,
include_directories : [configinc, libsinc],
dependencies : [gsttag_dep, taglib_dep],
install : true,
diff --git a/meson.build b/meson.build
index c62cba707..63b0cd3e3 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 = [