meson: fix conflicting use of feature-based dependency lookups

When spa-plugins is enabled, the gio-2.0 global dependency is
overwritten.

When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
dependency is then detected as found. This means that
pipewire-module-protocol-pulse can end up enabling gsettings support
even if it has been forcibly turned off.

Rename the meson variables to ensure they are looked up separately.
This commit is contained in:
Eli Schwartz 2024-06-30 13:44:06 -04:00 committed by Wim Taymans
parent 2770e96e08
commit b5f031bc15
3 changed files with 8 additions and 8 deletions

View file

@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
flatpak_support = glib2_dep.found()
cdata.set('HAVE_GLIB2', flatpak_support)
gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
error('`gsettings-pulse-schema` is enabled but `gio` was not found.')
endif

View file

@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed()
summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
sbc_dep = dependency('sbc', required: get_option('bluez5'))
summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
bluez_deps_found = get_option('bluez5').allowed()
foreach dep: bluez5_deps
if get_option('bluez5').enabled() and not dep.found()

View file

@ -433,11 +433,11 @@ if avahi_dep.found()
cdata.set('HAVE_AVAHI', true)
endif
if gio_dep.found()
if gsettings_gio_dep.found()
pipewire_module_protocol_pulse_sources += [
'module-protocol-pulse/modules/module-gsettings.c',
]
pipewire_module_protocol_pulse_deps += gio_dep
pipewire_module_protocol_pulse_deps += gsettings_gio_dep
cdata.set('HAVE_GIO', true)
if get_option('gsettings-pulse-schema').enabled()
install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'],