summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-08-18 21:32:11 +0100
committerTim-Philipp Müller <tim@centricular.com>2018-08-18 21:32:11 +0100
commit7b8d74c15bb817c65c06c63580dae3633a914841 (patch)
tree97a254de1af90777185ce4d38747b5b2d810dca9
parentf19edc8c835724d711094c7c230f542de1e4caf2 (diff)
meson: add options to disable gobject cast checks and glib asserts
... and define G_DISABLE_DEPRECATED for development versions, like we do in autotools.
-rw-r--r--meson.build19
-rw-r--r--meson_options.txt4
2 files changed, 23 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 71a28d066..84dd85c37 100644
--- a/meson.build
+++ b/meson.build
@@ -14,6 +14,7 @@ gst_version_micro = version_arr[2].to_int()
else
gst_version_nano = 0
endif
+gst_version_is_dev = gst_version_minor % 2 == 1 and gst_version_micro < 90
glib_req = '>= 2.40.0'
gst_req = '>= @0@.@1@.0'.format(gst_version_major, gst_version_minor)
@@ -73,6 +74,24 @@ if cxx.has_argument('-fno-strict-aliasing')
add_project_arguments('-fno-strict-aliasing', language: 'cpp')
endif
+# Define G_DISABLE_DEPRECATED for development versions
+if gst_version_is_dev
+ message('Disabling deprecated GLib API')
+ add_project_arguments('-DG_DISABLE_DEPRECATED', language: 'c')
+endif
+
+cast_checks = get_option('gobject-cast-checks')
+if cast_checks.disabled() or (cast_checks.auto() and not gst_version_is_dev)
+ message('Disabling GLib cast checks')
+ add_project_arguments('-DG_DISABLE_CAST_CHECKS', language: 'c')
+endif
+
+glib_asserts = get_option('glib-asserts')
+if glib_asserts.disabled() or (glib_asserts.auto() and not gst_version_is_dev)
+ message('Disabling GLib asserts')
+ add_project_arguments('-DG_DISABLE_ASSERT', language: 'c')
+endif
+
cdata = configuration_data()
check_headers = [
['HAVE_DLFCN_H', 'dlfcn.h'],
diff --git a/meson_options.txt b/meson_options.txt
index fb89f43b6..0ee11e7b1 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -145,6 +145,10 @@ option('tests', type : 'feature', value : 'auto', yield : true)
option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings')
option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
option('orc', type : 'feature', value : 'auto', yield : true)
+option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
+ description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases')
+option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
+ description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases')
# Common options
option('package-name', type : 'string', yield : true,