if subproj.found()
plugins = subproj.get_variable('gst_plugins', [])
+ legacy_plugins = subproj.get_variable('plugins', [])
all_plugins += plugins
- if subproj.get_variable('gst_plugins', []).length() != subproj.get_variable('plugins', plugins).length()
+ if plugins.length() == 0 and legacy_plugins.length() > 0
warning(f'DEPRECATED use of the `plugins` variable in @project_name@.')
warning('The variable should now be called `gst_plugins` and use:')
warning('`declare_dependency( link_with: <plugin_target>, variable: {\'full_path\': <plugin_target>.full_path()})` instead')
- foreach plugin: subproj.get_variable('plugins', [])
+ foreach plugin: legacy_plugins
all_plugins += [declare_dependency(link_with: plugin, variables: {'full_path': plugin.full_path()})]
endforeach
endif
endforeach
# Check if we need to also build glib-networking for TLS modules
+giomodules = []
glib_dep = dependency('glib-2.0')
if glib_dep.type_name() == 'internal'
- subproject('glib-networking', required : get_option('tls'),
+ subp = subproject('glib-networking', required : get_option('tls'),
default_options: ['gnutls=auto', 'openssl=auto'])
+ if subp.found()
+ giomodules += subp.get_variable('giomodules', [])
+ endif
endif
gst_plugins_doc_dep = custom_target('plugins-doc-cache',
'-e ' + get_option('gst-full-elements'),
'-t ' + get_option('gst-full-typefind-functions'),
'-d ' + get_option('gst-full-device-providers'),
- '-T ' + get_option('gst-full-dynamic-types')
+ '-T ' + get_option('gst-full-dynamic-types'),
+ '--giomodules', ';'.join(giomodules),
]
)
endif
endif
+ giomodules_deps = []
+ foreach module : giomodules
+ giomodules_deps += dependency(module)
+ endforeach
+
# Build both shared and static library
gstfull = both_libraries('gstreamer-full-1.0',
init_static_plugins_c,
link_args: gstfull_link_args,
link_whole : exposed_libs,
- dependencies : [incdir_deps, glib_deps, all_plugins],
+ dependencies : [incdir_deps, glib_deps, all_plugins, giomodules_deps],
link_depends : link_deps,
install : true,
)