From c817dfb5a438055c98449a4a2f34eb4ec341ccde Mon Sep 17 00:00:00 2001 From: "Igor V. Kovalenko" Date: Fri, 18 Jun 2021 20:48:12 +0300 Subject: [PATCH] build-sys: meson: Require bluez dependency if bluez5 feature is enabled Build breaks if bluez5 and bluez5-native-headset are both enabled but bluez headers are not available. Fix this by changing `bluez5` to Meson feature requiring `bluez` dependency. Part-of: --- meson.build | 10 ++++++---- meson_options.txt | 2 +- src/modules/bluetooth/meson.build | 2 +- src/modules/meson.build | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/meson.build b/meson.build index 61660b981..92ceef706 100644 --- a/meson.build +++ b/meson.build @@ -706,7 +706,9 @@ endif sbc_dep = dependency('sbc', version : '>= 1.0', required : false) -if get_option('bluez5') +bluez_dep = dependency('bluez', required : get_option('bluez5')) + +if bluez_dep.found() assert(dbus_dep.found(), 'BlueZ requires D-Bus support') assert(sbc_dep.found(), 'BlueZ requires SBC support') cdata.set('HAVE_SBC', 1) @@ -914,9 +916,9 @@ summary = [ 'Enable Async DNS: @0@'.format(asyncns_dep.found()), 'Enable LIRC: @0@'.format(lirc_dep.found()), 'Enable D-Bus: @0@'.format(dbus_dep.found()), - ' Enable BlueZ 5: @0@'.format(get_option('bluez5')), - ' Enable native headsets: @0@'.format(get_option('bluez5-native-headset')), - ' Enable ofono headsets: @0@'.format(get_option('bluez5-ofono-headset')), + ' Enable BlueZ 5: @0@'.format(cdata.has('HAVE_BLUEZ_5')), + ' Enable native headsets: @0@'.format(cdata.has('HAVE_BLUEZ_5_NATIVE_HEADSET')), + ' Enable ofono headsets: @0@'.format(cdata.has('HAVE_BLUEZ_5_OFONO_HEADSET')), ' Enable GStreamer based codecs: @0@'.format(have_bluez5_gstreamer), 'Enable udev: @0@'.format(udev_dep.found()), ' Enable HAL->udev compat: @0@'.format(get_option('hal-compat')), diff --git a/meson_options.txt b/meson_options.txt index cdb3c6787..bb41a42a7 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -85,7 +85,7 @@ option('avahi', type : 'feature', value : 'auto', description : 'Optional Avahi support') option('bluez5', - type : 'boolean', value : 'true', + type : 'feature', value : 'auto', description : 'Optional BlueZ 5 support') option('bluez5-gstreamer', type : 'feature', value: 'auto', diff --git a/src/modules/bluetooth/meson.build b/src/modules/bluetooth/meson.build index 99263bb5a..ca77ee6aa 100644 --- a/src/modules/bluetooth/meson.build +++ b/src/modules/bluetooth/meson.build @@ -35,7 +35,7 @@ libbluez5_util = shared_library('bluez5-util', c_args : [pa_c_args, server_c_args], link_args : [nodelete_link_args], include_directories : [configinc, topinc], - dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep, sbc_dep, libintl_dep, bluez5_gst_dep, bluez5_gstapp_dep], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, bluez_dep, dbus_dep, sbc_dep, libintl_dep, bluez5_gst_dep, bluez5_gstapp_dep], install : true, install_rpath : privlibdir, install_dir : modlibexecdir, diff --git a/src/modules/meson.build b/src/modules/meson.build index e7db573b6..be72c3b9b 100644 --- a/src/modules/meson.build +++ b/src/modules/meson.build @@ -118,7 +118,7 @@ if avahi_dep.found() ] endif -if get_option('bluez5') +if cdata.has('HAVE_BLUEZ_5') subdir('bluetooth') all_modules += [ [ 'module-bluetooth-discover', 'bluetooth/module-bluetooth-discover.c' ], -- GitLab