meson: Enable bluetooth modules, add bluez_util lib, add bluez and sbc dependencies

Please notice that the bluez5 version seems wrong in the dependency
declaration: `>= 4.x`, while we're talking about version 5.

The ofono part will need to be made optional when we start to work on
the meson_options file.

I follow the current configure.ac to define 'HAVE_BLUEZ', but it looks
like this part would benefit from a bit of rework. Setting HAVE_BLUEZ
when we have dbus+sbc sounds weird, there's probably a better name for
this variable.

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
This commit is contained in:
Arnaud Rebillout 2018-09-22 17:37:19 +07:00 committed by Arun Raghavan
parent 147462b276
commit 0d6ea15eea
3 changed files with 54 additions and 4 deletions

View file

@ -238,6 +238,12 @@ if avahi_dep.found()
cdata.set('HAVE_AVAHI', 1)
endif
bluez_dep = dependency('bluez', version : '>= 4.101', required : false)
if bluez_dep.found()
cdata.set('HAVE_BLUEZ_5_NATIVE_HEADSET', 1)
cdata.set('HAVE_BLUEZ_5_OFONO_HEADSET', 1) # TODO This should be optional
endif
jack_dep = dependency('jack', version : '>= 0.117.0', required : false)
if jack_dep.found()
cdata.set('HAVE_JACK', 1)
@ -258,6 +264,15 @@ if openssl_dep.found()
cdata.set('HAVE_OPENSSL', 1)
endif
sbc_dep = dependency('sbc', version : '>= 1.0', required : false)
if sbc_dep.found()
cdata.set('HAVE_SBC', 1)
endif
if sbc_dep.found() and dbus_dep.found()
cdata.set('HAVE_BLUEZ', 1)
cdata.set('HAVE_BLUEZ_5', 1)
endif
udev_dep = dependency('libudev', version : '>= 143', required : false)
if udev_dep.found()
cdata.set('HAVE_UDEV', 1)

View file

@ -0,0 +1,25 @@
libbluez5_util_sources = [
'bluez5-util.c',
]
libbluez5_util_headers = [
'a2dp-codecs.h',
'bluez5-util.h',
'rtp.h',
]
if bluez_dep.found()
libbluez5_util_sources += [ 'backend-native.c' ]
endif
# TODO This should be optional
libbluez5_util_sources += [ 'backend-ofono.c' ]
libbluez5_util = shared_library('libbluez5_util',
libbluez5_util_sources,
libbluez5_util_headers,
c_args : [pa_c_args, server_c_args],
include_directories : [configinc, topinc],
dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep],
install : true
)

View file

@ -8,10 +8,6 @@ all_modules = [
[ 'module-always-sink', 'module-always-sink.c' ],
[ 'module-always-source', 'module-always-source.c' ],
[ 'module-augment-properties', 'module-augment-properties.c' ],
# [ 'module-bluetooth-discover', 'bluetooth/module-bluetooth-discover.c' ],
# [ 'module-bluetooth-policy', 'bluetooth/module-bluetooth-policy.c' ],
# [ 'module-bluez5-device', 'bluetooth/module-bluez5-device.c' ],
# [ 'module-bluez5-discover', 'bluetooth/module-bluez5-discover.c' ],
# [ 'module-bonjour-publish', 'macosx/module-bonjour-publish.c' ],
[ 'module-card-restore', 'module-card-restore.c' ],
[ 'module-cli', 'module-cli.c', [], [], [], libcli ],
@ -125,6 +121,20 @@ if dbus_dep.found()
]
endif
if dbus_dep.found() and sbc_dep.found()
all_modules += [
[ 'module-bluetooth-discover', 'bluetooth/module-bluetooth-discover.c' ],
[ 'module-bluetooth-policy', 'bluetooth/module-bluetooth-policy.c', [], [], [dbus_dep] ]
]
if bluez_dep.found()
subdir('bluetooth')
all_modules += [
[ 'module-bluez5-device', 'bluetooth/module-bluez5-device.c', [], [], [sbc_dep], libbluez5_util ],
[ 'module-bluez5-discover', 'bluetooth/module-bluez5-discover.c', [], [], [dbus_dep], libbluez5_util ],
]
endif
endif
if fftw_dep.found()
all_modules += [
[ 'module-equalizer-sink', 'module-equalizer-sink.c', [], [], [dbus_dep, fftw_dep, libm_dep] ],