From 237f5cc4ee8a20a51d8191e5c96c2b0efa268b5c Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Thu, 23 Jul 2020 16:31:07 +0530 Subject: [PATCH] Add glib-networking as a subproject when glib is a subproject We need gio modules for tls when building gstwebrtcbin, gstsoup, etc. Control it via a new 'tls' option, since it requires either gnutls or openssl. Part-of: --- meson.build | 7 +++++++ meson_options.txt | 8 ++++++-- subprojects/glib-networking.wrap | 5 +++++ 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 subprojects/glib-networking.wrap diff --git a/meson.build b/meson.build index 41a2a04379..009e2b40d1 100644 --- a/meson.build +++ b/meson.build @@ -129,6 +129,13 @@ foreach sp : subprojects endif endforeach +# Check if we need to also build glib-networking for TLS modules +glib_dep = dependency('glib-2.0') +if glib_dep.type_name() == 'internal' + subproject('glib-networking', required : get_option('tls'), + default_options: ['gnutls=auto', 'openssl=auto']) +endif + plugins_doc_dep = custom_target('plugins-doc-cache', command: [python3, '-c', 'print("Built all doc caches")'], input: plugins_doc_caches, diff --git a/meson_options.txt b/meson_options.txt index eb5063df71..aabb9611cc 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,4 @@ +# Subproject options option('python', type : 'feature', value : 'auto') option('libav', type : 'feature', value : 'auto') option('libnice', type : 'feature', value : 'auto') @@ -9,9 +10,12 @@ option('rtsp_server', type : 'feature', value : 'auto') option('omx', type : 'feature', value : 'disabled') option('vaapi', type : 'feature', value : 'disabled') option('sharp', type : 'feature', value : 'disabled') -option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names') -option('gst-examples', type : 'feature', value : 'auto', description : 'Build gst-examples') option('rs', type : 'feature', value : 'disabled') +option('gst-examples', type : 'feature', value : 'auto', description : 'Build gst-examples') +option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking') + +# Other options +option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names') option('gst-full-libraries', type : 'array', value : [], description : '''List of libraries to expose in gstreamer-full's ABI. gstreamer, glib and gobject are always included.''') diff --git a/subprojects/glib-networking.wrap b/subprojects/glib-networking.wrap new file mode 100644 index 0000000000..4321af57b5 --- /dev/null +++ b/subprojects/glib-networking.wrap @@ -0,0 +1,5 @@ +[wrap-git] +directory=glib-networking +url=https://gitlab.gnome.org/GNOME/glib-networking.git +push-url=git@gitlab.gnome.org:GNOME/glib-networking.git +revision=glib-2-62