From 1f12493787f5003ed2b7d47ca4d42922e6ec11ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 26 May 2024 12:24:33 +0300 Subject: [PATCH] gstreamer: Solaris/Illumos require linking to libnsl / libsocket for various socket APIs Patch by Tim Mooney from OpenIndiana/oi-userland Part-of: --- subprojects/gstreamer/gst/meson.build | 2 +- subprojects/gstreamer/libs/gst/net/meson.build | 2 +- subprojects/gstreamer/meson.build | 15 +++++++++++++++ subprojects/gstreamer/tests/check/meson.build | 2 +- subprojects/gstreamer/tests/misc/meson.build | 2 +- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/subprojects/gstreamer/gst/meson.build b/subprojects/gstreamer/gst/meson.build index c5aabcb12e..825b43aa6c 100644 --- a/subprojects/gstreamer/gst/meson.build +++ b/subprojects/gstreamer/gst/meson.build @@ -274,7 +274,7 @@ libgst = library('gstreamer-1.0', gst_sources, link_with : printf_lib, install : true, dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, dl_dep, - backtrace_deps, platform_deps, extra_deps], + backtrace_deps, platform_deps, network_deps, extra_deps], ) gst_compile_args = [] diff --git a/subprojects/gstreamer/libs/gst/net/meson.build b/subprojects/gstreamer/libs/gst/net/meson.build index 17c63c8e1a..f4937d60f0 100644 --- a/subprojects/gstreamer/libs/gst/net/meson.build +++ b/subprojects/gstreamer/libs/gst/net/meson.build @@ -32,7 +32,7 @@ gst_net = library('gstnet-@0@'.format(apiversion), soversion : soversion, darwin_versions : osxversion, install : true, - dependencies : [gio_dep, gst_base_dep, dl_dep], + dependencies : [gio_dep, gst_base_dep, dl_dep, network_deps], ) library_def = {'lib': gst_net} diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build index 9753377485..2a99ce6e40 100644 --- a/subprojects/gstreamer/meson.build +++ b/subprojects/gstreamer/meson.build @@ -573,6 +573,21 @@ mathlib = cc.find_library('m', required : false) # Also provides clock_gettime in glibc < 2.17 rt_lib = cc.find_library('rt', required : false) +# +# Solaris and Illumos distros split a lot of networking-related code +# into '-lsocket -lnsl'. Anything that calls socketpair(), getifaddr(), +# etc. probably needs to include network_deps +# +socket_lib = cc.find_library('socket', required: false) +nsl_lib = cc.find_library('nsl', required: false) +network_deps = [] +if socket_lib.found() + network_deps += socket_lib +endif +if nsl_lib.found() + network_deps += nsl_lib +endif + gir = find_program('g-ir-scanner', required : get_option('introspection')) gnome = import('gnome') diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build index 3b898449df..48bb37c08d 100644 --- a/subprojects/gstreamer/tests/check/meson.build +++ b/subprojects/gstreamer/tests/check/meson.build @@ -137,7 +137,7 @@ if get_option('check').disabled() endif endif -gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep, gio_dep, gmodule_dep] +gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep, gio_dep, gmodule_dep, network_deps] foreach t : core_tests fname = t[0] diff --git a/subprojects/gstreamer/tests/misc/meson.build b/subprojects/gstreamer/tests/misc/meson.build index ca9b5fa084..82140436d5 100644 --- a/subprojects/gstreamer/tests/misc/meson.build +++ b/subprojects/gstreamer/tests/misc/meson.build @@ -1,3 +1,3 @@ executable('netclock-replay', 'netclock-replay.c', include_directories: libsinc, - dependencies : [gio_dep, gst_dep]) + dependencies : [gio_dep, gst_dep, network_deps])