meson: Check for libsoup only if required

LibSoup is needed for the soup and adaptivedemux2 plugins, so there is no need
to do the lookup if none of those plugins is enabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7964>
This commit is contained in:
Philippe Normand 2024-11-26 10:51:12 +00:00 committed by GStreamer Marge Bot
parent c31cbda5de
commit 5a6594dea5

View file

@ -18,17 +18,20 @@ soup_ver_opt = get_option('soup-version')
default_library = get_option('default_library') default_library = get_option('default_library')
soup_linked_target = host_system == 'windows' or default_library != 'shared' soup_linked_target = host_system == 'windows' or default_library != 'shared'
soup_lookup_dep = get_option('soup-lookup-dep') or soup_linked_target soup_lookup_dep = get_option('soup-lookup-dep') or soup_linked_target
if soup_ver_opt in ['auto', '3'] soup_dlopen_target_kwargs = {}
if get_option('soup').allowed() or get_option('adaptivedemux2').allowed()
if soup_ver_opt in ['auto', '3']
libsoup3_dep = dependency('libsoup-3.0', allow_fallback: true, libsoup3_dep = dependency('libsoup-3.0', allow_fallback: true,
required: soup_ver_opt == '3' and soup_lookup_dep) required: soup_ver_opt == '3' and soup_lookup_dep)
endif endif
if soup_ver_opt in ['auto', '2'] if soup_ver_opt in ['auto', '2']
libsoup2_dep = dependency('libsoup-2.4', version : '>=2.48', allow_fallback: true, libsoup2_dep = dependency('libsoup-2.4', version : '>=2.48', allow_fallback: true,
default_options: ['sysprof=disabled'], default_options: ['sysprof=disabled'],
required: soup_ver_opt == '2' and soup_lookup_dep) required: soup_ver_opt == '2' and soup_lookup_dep)
endif endif
if soup_linked_target if soup_linked_target
if libsoup3_dep.found() if libsoup3_dep.found()
soup_linked_target_deps = [libsoup3_dep] soup_linked_target_deps = [libsoup3_dep]
soup_linked_target_args = ['-DLINK_SOUP=3'] soup_linked_target_args = ['-DLINK_SOUP=3']
@ -38,12 +41,11 @@ if soup_linked_target
soup_linked_target_args = ['-DLINK_SOUP=2'] soup_linked_target_args = ['-DLINK_SOUP=2']
message('soup and adaptivedemux2 plugins: linking to libsoup-2.4') message('soup and adaptivedemux2 plugins: linking to libsoup-2.4')
endif endif
endif endif
# Hack to set the right RPATH for making dlopen() work inside the devenv on # Hack to set the right RPATH for making dlopen() work inside the devenv on
# macOS when using libsoup as a subproject. # macOS when using libsoup as a subproject.
soup_dlopen_target_kwargs = {} if host_system == 'darwin'
if host_system == 'darwin'
foreach dep : [libsoup3_dep, libsoup2_dep] foreach dep : [libsoup3_dep, libsoup2_dep]
if dep.found() and dep.type_name() == 'internal' if dep.found() and dep.type_name() == 'internal'
soup_dlopen_target_kwargs += { soup_dlopen_target_kwargs += {
@ -52,6 +54,7 @@ if host_system == 'darwin'
break break
endif endif
endforeach endforeach
endif
endif endif
subdir('aalib') subdir('aalib')