And match what we do for autotools here currently.
gst_check = shared_library('gstcheck-@0@'.format(apiversion),
gst_check_sources,
- c_args : gst_c_args + ['-DGST_EXPORTS'],
+ c_args : gst_c_args + ['-DGST_EXPORTS', '-UG_DISABLE_ASSERT'],
version : libversion,
soversion : soversion,
install : true,
else
gst_version_nano = 0
endif
+gst_version_is_dev = gst_version_minor % 2 == 1 and gst_version_micro < 90
host_system = host_machine.system()
endif
# Define G_DISABLE_DEPRECATED for development versions
-if gst_version_minor % 2 == 1 and gst_version_micro < 90
+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()
cdata.set_quoted('GST_API_VERSION', apiversion)
cdata.set_quoted('GST_DATADIR', join_paths(prefix, get_option('datadir')))
option('gtk_doc', type : 'feature', value : 'auto', yield : true, description : 'Generate API documentation with gtk-doc')
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('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,