meson: add glib-checks option to disable API guards and such
authorTim-Philipp Müller <tim@centricular.com>
Wed, 19 Sep 2018 10:42:14 +0000 (11:42 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Wed, 19 Sep 2018 10:42:14 +0000 (11:42 +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 b5fe51e..37013de 100644 (file)
@@ -86,6 +86,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
+
 core_conf = configuration_data()
 check_headers = [
   ['HAVE_DLFCN_H', 'dlfcn.h'],
index a6461ef..8056306 100644 (file)
@@ -75,6 +75,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,