diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2018-08-18 21:32:11 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2018-08-18 21:32:11 +0100 |
commit | 7b8d74c15bb817c65c06c63580dae3633a914841 (patch) | |
tree | 97a254de1af90777185ce4d38747b5b2d810dca9 | |
parent | f19edc8c835724d711094c7c230f542de1e4caf2 (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.build | 19 | ||||
-rw-r--r-- | meson_options.txt | 4 |
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, |