gstreamer/subprojects/gst-plugins-good/ext/soup/meson.build
Philippe Normand 0b6df00606 soup: Reintroduce compile-time libsoup dependency for static builds
On Android (especially) and for static builds in general it is safer to link
against libsoup and have the dynamic custom loading disabled. For those cases we
can safely assume the application will use either libsoup2 or libsoup3 and not
both.

Fixes #939

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
2022-01-21 07:23:33 +00:00

52 lines
1.6 KiB
Meson

soup_sources = [
'gstsoup.c',
'gstsoupelement.c',
'gstsouphttpclientsink.c',
'gstsouphttpsrc.c',
'gstsouploader.c',
'gstsouputils.c',
]
soup_opt = get_option('soup')
if soup_opt.disabled()
subdir_done()
endif
gmodule_dep = dependency('gmodule-2.0', fallback: ['glib', 'libgmodule_dep'])
gobject_dep = dependency('gobject-2.0', fallback: ['glib', 'libgobject_dep'])
libdl_dep = cc.find_library('dl', required: false)
extra_args = []
extra_deps = []
if get_option('default_library') == 'static'
libsoup2_dep = dependency('libsoup-2.4', version : '>=2.48',
required : false, fallback : ['libsoup', 'libsoup_dep'],
default_options: ['sysprof=disabled'])
libsoup3_dep = dependency('libsoup-3.0', required : false,
fallback : ['libsoup3', 'libsoup_dep'])
if not libsoup2_dep.found() and not libsoup3_dep.found()
error('Either libsoup2 or libsoup3 is needed')
subdir_done()
endif
if libsoup3_dep.found()
extra_deps += libsoup3_dep
extra_args += '-DSTATIC_SOUP=3'
elif libsoup2_dep.found()
extra_deps += libsoup2_dep
extra_args += '-DSTATIC_SOUP=2'
endif
endif
gstsouphttpsrc = library('gstsoup',
soup_sources,
c_args : gst_plugins_good_args + extra_args,
link_args : noseh_link_args,
include_directories : [configinc, libsinc],
dependencies : [gst_dep, gstbase_dep, gsttag_dep, gmodule_dep, gobject_dep, gio_dep, libdl_dep] + extra_deps,
install : true,
install_dir : plugins_install_dir,
)
pkgconfig.generate(gstsouphttpsrc, install_dir : plugins_pkgconfig_install_dir)
plugins += [gstsouphttpsrc]