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