Add glib-networking as a subproject when glib is a subproject
authorNirbheek Chauhan <nirbheek@centricular.com>
Thu, 23 Jul 2020 11:01:07 +0000 (16:31 +0530)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 3 Aug 2020 18:52:20 +0000 (18:52 +0000)
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: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>

meson.build
meson_options.txt
subprojects/glib-networking.wrap [new file with mode: 0644]

index 41a2a04..009e2b4 100644 (file)
@@ -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,
index eb5063d..aabb961 100644 (file)
@@ -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 (file)
index 0000000..4321af5
--- /dev/null
@@ -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