Files
buildroot/package/bluez5_utils/bluez5_utils.mk
James Hilliard c4f22abb93 package/bluez5_utils: enable asha/bass when building audio plugins
Symbols from the asha plugin are required when building a2dp
support as part of the audio plugins, so always enable asha
when audio plugins are selected.

Symbols from the bass plugin are required when building bap
support as part of the audio plugins, so always enable bass
when audio plugins are selected.

This issue appeared during an attempt to fix a related issue in
ce4e5fd129.

Fixes:
 - http://autobuild.buildroot.net/results/5a3/5a306356f5f190a14a0a2294a4428544b1a018bb
 - http://autobuild.buildroot.net/results/353/3539c83deaa45a3548bcd488659148c62af3fc73

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Cc: Frank TEO <frank128@ymail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-09 22:39:31 +02:00

207 lines
5.3 KiB
Makefile

################################################################################
#
# bluez5_utils
#
################################################################################
# Keep the version and patches in sync with bluez5_utils-headers
BLUEZ5_UTILS_VERSION = 5.78
BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
BLUEZ5_UTILS_INSTALL_STAGING = YES
BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
BLUEZ5_UTILS_CPE_ID_VENDOR = bluez
BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez
BLUEZ5_UTILS_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
dbus \
libglib2
BLUEZ5_UTILS_CONF_OPTS = \
--enable-library \
--disable-cups \
--disable-datafiles \
--disable-manpages \
--disable-asan \
--disable-lsan \
--disable-ubsan \
--disable-pie \
--with-dbusconfdir=/etc
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-obex
BLUEZ5_UTILS_DEPENDENCIES += libical
else
BLUEZ5_UTILS_CONF_OPTS += --disable-obex
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-client
BLUEZ5_UTILS_DEPENDENCIES += readline
else
BLUEZ5_UTILS_CONF_OPTS += --disable-client
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-monitor
else
BLUEZ5_UTILS_CONF_OPTS += --disable-monitor
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-tools
else
BLUEZ5_UTILS_CONF_OPTS += --disable-tools
endif
# experimental plugins
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-experimental
else
BLUEZ5_UTILS_CONF_OPTS += --disable-experimental
endif
# enable audio plugins (a2dp and avrcp)
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y)
BLUEZ5_UTILS_CONF_OPTS += \
--enable-a2dp \
--enable-asha \
--enable-avrcp \
--enable-bap \
--enable-bass \
--enable-mcp \
--enable-vcp
else
BLUEZ5_UTILS_CONF_OPTS += \
--disable-a2dp \
--disable-asha \
--disable-avrcp \
--disable-bap \
--disable-bass \
--disable-mcp \
--disable-vcp
endif
# enable health plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-health
else
BLUEZ5_UTILS_CONF_OPTS += --disable-health
endif
# enable hid plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hid
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hid
endif
# enable hog plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hog
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hog
endif
# enable mesh profile
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh
BLUEZ5_UTILS_DEPENDENCIES += ell json-c readline
else
BLUEZ5_UTILS_CONF_OPTS += --disable-external-ell --disable-mesh
endif
# enable midi profile
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-midi
BLUEZ5_UTILS_DEPENDENCIES += alsa-lib
else
BLUEZ5_UTILS_CONF_OPTS += --disable-midi
endif
# enable network plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-network
else
BLUEZ5_UTILS_CONF_OPTS += --disable-network
endif
# enable nfc plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-nfc
else
BLUEZ5_UTILS_CONF_OPTS += --disable-nfc
endif
# enable sap plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-sap
else
BLUEZ5_UTILS_CONF_OPTS += --disable-sap
endif
# enable sixaxis plugin
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis
else
BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y)
# install gatttool (For some reason upstream choose not to do it by default)
# gattool depends on the client for readline
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
define BLUEZ5_UTILS_INSTALL_GATTTOOL
$(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool
endef
BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL
endif
# hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but
# Broadcom firmware blobs are usually located in `/lib/firmware`.
BLUEZ5_UTILS_CONF_ENV += \
CPPFLAGS='$(TARGET_CPPFLAGS) -DFIRMWARE_DIR=\"/lib/firmware\"'
BLUEZ5_UTILS_CONF_OPTS += --enable-deprecated
else
BLUEZ5_UTILS_CONF_OPTS += --disable-deprecated
endif
# enable test
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-test
else
BLUEZ5_UTILS_CONF_OPTS += --disable-test
endif
# enable hid2hci tool
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-hid2hci
else
BLUEZ5_UTILS_CONF_OPTS += --disable-hid2hci
endif
# use udev if available
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-udev
BLUEZ5_UTILS_DEPENDENCIES += udev
else
BLUEZ5_UTILS_CONF_OPTS += --disable-udev
endif
# integrate with systemd if available
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
BLUEZ5_UTILS_CONF_OPTS += --enable-systemd
BLUEZ5_UTILS_DEPENDENCIES += systemd
else
BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
endif
define BLUEZ5_UTILS_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetoothd \
$(TARGET_DIR)/etc/init.d/S40bluetoothd
endef
$(eval $(autotools-package))