[pulseaudio-discuss] [PATCHv2 19/60] build: Make the build of bluetooth modules BlueZ 4 specific
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Fri Aug 16 00:59:06 PDT 2013
On Tue, 2013-08-13 at 01:53 -0300, jprvita at gmail.com wrote:
> From: João Paulo Rechi Vita <jprvita at openbossa.org>
>
> ---
> configure.ac | 28 ++++++++++++++++------------
> src/Makefile.am | 23 ++++++++++++++---------
> 2 files changed, 30 insertions(+), 21 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 616a990..1c023dd 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -981,21 +981,25 @@ AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
>
> #### BlueZ support (optional, dependent on D-Bus) ####
>
> -AC_ARG_ENABLE([bluez],
> - AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
> +AC_ARG_ENABLE([bluez4],
> + AS_HELP_STRING([--disable-bluez4],[Disable optional BlueZ 4 support]))
>
> -AS_IF([test "x$enable_bluez" != "xno"],
> - [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 4.99 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
> - HAVE_BLUEZ=0)
> -AS_IF([test "x$enable_bluez" != "xno"],
> +AS_IF([test "x$enable_bluez4" != "xno"],
> + [PKG_CHECK_MODULES(BLUEZ_4, [ bluez >= 4.99 bluez < 5.0 ], HAVE_BLUEZ_4=1, HAVE_BLUEZ_4=0)],
> + HAVE_BLUEZ_4=0)
This disables bluez4 support if bluez5 version of the .pc file is
installed. I thought earlier that bluez5 wouldn't install the file at
all, but I learned today that it does install it if bluez is built with
--enable-library. Let's not have the PKG_CHECK_MODULES check at all,
since we aren't using libbluetooth. Support for both versions shall be
built by default, regardless of the installed .pc file version.
> +AS_IF([test "x$enable_bluez4" != "xno"],
> [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_SBC=1, HAVE_SBC=0)],
> HAVE_SBC=0)
> -AS_IF([test "x$HAVE_SBC" != "x1"], HAVE_BLUEZ=0)
> -AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
> +AS_IF([test "x$HAVE_SBC" != "x1"], HAVE_BLUEZ_4=0)
> +AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ_4=0)
>
> -AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
> - [AC_MSG_ERROR([*** BLUEZ support not found (requires BlueZ, sbc, and D-Bus)])])
> +AS_IF([test "x$enable_bluez4" = "xyes" && test "x$HAVE_BLUEZ_4" = "x0"],
> + [AC_MSG_ERROR([*** BLUEZ 4 support not found (requires bluez >= 4.99 and < 5.0, sbc, and D-Bus)])])
>
> +AC_SUBST(HAVE_BLUEZ_4)
> +AM_CONDITIONAL([HAVE_BLUEZ_4], [test "x$HAVE_BLUEZ_4" = x1])
> +
> +AS_IF([test "x$HAVE_BLUEZ_4" = "x1"], HAVE_BLUEZ=1)
> AC_SUBST(HAVE_BLUEZ)
> AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
>
> @@ -1389,7 +1393,7 @@ AS_IF([test "x$HAVE_XEN" = "x1"], ENABLE_XEN=yes, ENABLE_XEN=no)
> AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
> AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
> AS_IF([test "x$HAVE_SYSTEMD" = "x1"], ENABLE_SYSTEMD=yes, ENABLE_SYSTEMD=no)
> -AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
> +AS_IF([test "x$HAVE_BLUEZ_4" = "x1"], ENABLE_BLUEZ_4=yes, ENABLE_BLUEZ_4=no)
> AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
> AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
> AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
> @@ -1440,7 +1444,7 @@ echo "
> Enable LIRC: ${ENABLE_LIRC}
> Enable Xen PV driver: ${ENABLE_XEN}
> Enable D-Bus: ${ENABLE_DBUS}
> - Enable BlueZ: ${ENABLE_BLUEZ}
> + Enable BlueZ 4: ${ENABLE_BLUEZ_4}
> Enable udev: ${ENABLE_UDEV}
> Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
> Enable systemd login: ${ENABLE_SYSTEMD}
> diff --git a/src/Makefile.am b/src/Makefile.am
> index ff37877..0e94725 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -1320,8 +1320,12 @@ endif
>
> if HAVE_BLUEZ
> modlibexec_LTLIBRARIES += \
> + module-bluetooth-policy.la
> +endif
> +
> +if HAVE_BLUEZ_4
> +modlibexec_LTLIBRARIES += \
> module-bluetooth-proximity.la \
> - module-bluetooth-policy.la \
> libbluez4-util.la \
> module-bluez4-discover.la \
> module-bluez4-device.la
> @@ -2012,10 +2016,16 @@ module_bluetooth_proximity_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
> module_bluetooth_proximity_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_BT_PROXIMITY_HELPER=\"$(pulselibexecdir)/proximity-helper\"
>
> proximity_helper_SOURCES = modules/bluetooth/proximity-helper.c
> -proximity_helper_LDADD = $(AM_LDADD) $(BLUEZ_LIBS)
> -proximity_helper_CFLAGS = $(AM_CFLAGS) $(BLUEZ_CFLAGS)
> +proximity_helper_LDADD = $(AM_LDADD) $(BLUEZ_4_LIBS)
> +proximity_helper_CFLAGS = $(AM_CFLAGS) $(BLUEZ_4_CFLAGS)
Uh, so we do use libbluetooth after all.
I did some investigation, and it seems that module-bluetooth-proximity
uses BlueZ 3 APIs, meaning that it hasn't worked for a while. Nobody has
complained, so nobody is using the module. Let's remove the proximity
code.
--
Tanu
More information about the pulseaudio-discuss
mailing list