meson: add glib-checks option to disable API guards and such
authorTim-Philipp Müller <tim@centricular.com>
Wed, 19 Sep 2018 11:00:32 +0000 (12:00 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Wed, 19 Sep 2018 11:00:32 +0000 (12:00 +0100)
We want this enabled by default, also in releases, but people
may want to disable this for performance-critical workloads or
on embedded devices.

meson.build
meson_options.txt

index 9013477..7f786e9 100644 (file)
@@ -230,6 +230,12 @@ if glib_asserts.disabled() or (glib_asserts.auto() and not gst_version_is_dev)
   add_project_arguments('-DG_DISABLE_ASSERT', language: 'c')
 endif
 
+glib_checks = get_option('glib-checks')
+if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev)
+  message('Disabling GLib checks')
+  add_project_arguments('-DG_DISABLE_CHECKS', language: 'c')
+endif
+
 presetdir = join_paths(get_option('datadir'), 'gstreamer-' + api_version, 'presets')
 
 pkgconfig = import('pkgconfig')
index 45801c1..3e2374d 100644 (file)
@@ -27,6 +27,8 @@ 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)')
+option('glib-checks', type : 'feature', value : 'enabled', yield : true,
+       description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)')
 
 # Common options
 option('package-name', type : 'string', yield : true,