gstreamer-full: Error out when ABI plugins != built plugins

This logs an error message listing all ABI plugins which are disabled
(usually because of `-Dauto_features=disabled`). Those need to be scouted
out and enabled manually through
`-Dgst_plugins_(bad, good,base):plugin=enabled`.

See #2934

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5244>
This commit is contained in:
L. E. Segovia 2023-08-24 17:22:03 -03:00 committed by GStreamer Marge Bot
parent 107edc0c07
commit a426e76d3e

View file

@ -359,18 +359,30 @@ if building_full
gst_c_args = ['-DHAVE_CONFIG_H']
# Generate a .c file which declare and register all built plugins
all_plugin_names = ';'.join(plugins_names)
static_plugins = get_option('gst-full-plugins')
plugins_to_be_initialized = []
if static_plugins == '*'
static_plugins = all_plugin_names
all_plugin_names = ';'.join(plugins_names)
else
missing_plugins = []
foreach plugin : static_plugins.split(';')
if plugins_names.contains(plugin)
plugins_to_be_initialized += [plugin]
else
missing_plugins += [plugin]
endif
endforeach
if missing_plugins.length() > 0
error('Some gstreamer-full plugins enabled via the \'gst-full-plugins\' option are not available, please enable the corresponding meson options: @0@'.format(', '.join(missing_plugins)))
endif
all_plugin_names = ';'.join(plugins_to_be_initialized)
endif
generate_init_static_plugins = find_program('scripts/generate_init_static_plugins.py')
init_static_plugins_c = configure_file(
output: 'gstinitstaticplugins.c',
command : [generate_init_static_plugins,
'-o ' + '@OUTPUT@',
'-p ' + static_plugins,
'-p ' + all_plugin_names,
'-e ' + get_option('gst-full-elements'),
'-t ' + get_option('gst-full-typefind-functions'),
'-d ' + get_option('gst-full-device-providers'),