bluez5_utils.mk 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. ################################################################################
  2. #
  3. # bluez5_utils
  4. #
  5. ################################################################################
  6. # Keep the version and patches in sync with bluez5_utils-headers
  7. BLUEZ5_UTILS_VERSION = 5.77
  8. BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
  9. BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
  10. BLUEZ5_UTILS_INSTALL_STAGING = YES
  11. BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
  12. BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
  13. BLUEZ5_UTILS_CPE_ID_VENDOR = bluez
  14. BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez
  15. BLUEZ5_UTILS_DEPENDENCIES = \
  16. $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
  17. dbus \
  18. libglib2
  19. BLUEZ5_UTILS_CONF_OPTS = \
  20. --enable-library \
  21. --disable-cups \
  22. --disable-datafiles \
  23. --disable-manpages \
  24. --disable-asan \
  25. --disable-lsan \
  26. --disable-ubsan \
  27. --disable-pie \
  28. --with-dbusconfdir=/etc
  29. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y)
  30. BLUEZ5_UTILS_CONF_OPTS += --enable-obex
  31. BLUEZ5_UTILS_DEPENDENCIES += libical
  32. else
  33. BLUEZ5_UTILS_CONF_OPTS += --disable-obex
  34. endif
  35. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
  36. BLUEZ5_UTILS_CONF_OPTS += --enable-client
  37. BLUEZ5_UTILS_DEPENDENCIES += readline
  38. else
  39. BLUEZ5_UTILS_CONF_OPTS += --disable-client
  40. endif
  41. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y)
  42. BLUEZ5_UTILS_CONF_OPTS += --enable-monitor
  43. else
  44. BLUEZ5_UTILS_CONF_OPTS += --disable-monitor
  45. endif
  46. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y)
  47. BLUEZ5_UTILS_CONF_OPTS += --enable-tools
  48. else
  49. BLUEZ5_UTILS_CONF_OPTS += --disable-tools
  50. endif
  51. # experimental plugins
  52. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y)
  53. BLUEZ5_UTILS_CONF_OPTS += --enable-experimental
  54. else
  55. BLUEZ5_UTILS_CONF_OPTS += --disable-experimental
  56. endif
  57. # enable audio plugins (a2dp and avrcp)
  58. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y)
  59. BLUEZ5_UTILS_CONF_OPTS += \
  60. --enable-a2dp \
  61. --enable-avrcp \
  62. --enable-bap \
  63. --enable-mcp \
  64. --enable-vcp
  65. else
  66. BLUEZ5_UTILS_CONF_OPTS += \
  67. --disable-a2dp \
  68. --disable-avrcp \
  69. --disable-bap \
  70. --disable-mcp \
  71. --disable-vcp
  72. endif
  73. # enable health plugin
  74. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y)
  75. BLUEZ5_UTILS_CONF_OPTS += --enable-health
  76. else
  77. BLUEZ5_UTILS_CONF_OPTS += --disable-health
  78. endif
  79. # enable hid plugin
  80. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y)
  81. BLUEZ5_UTILS_CONF_OPTS += --enable-hid
  82. else
  83. BLUEZ5_UTILS_CONF_OPTS += --disable-hid
  84. endif
  85. # enable hog plugin
  86. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y)
  87. BLUEZ5_UTILS_CONF_OPTS += --enable-hog
  88. else
  89. BLUEZ5_UTILS_CONF_OPTS += --disable-hog
  90. endif
  91. # enable mesh profile
  92. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y)
  93. BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh
  94. BLUEZ5_UTILS_DEPENDENCIES += ell json-c readline
  95. else
  96. BLUEZ5_UTILS_CONF_OPTS += --disable-external-ell --disable-mesh
  97. endif
  98. # enable midi profile
  99. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y)
  100. BLUEZ5_UTILS_CONF_OPTS += --enable-midi
  101. BLUEZ5_UTILS_DEPENDENCIES += alsa-lib
  102. else
  103. BLUEZ5_UTILS_CONF_OPTS += --disable-midi
  104. endif
  105. # enable network plugin
  106. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y)
  107. BLUEZ5_UTILS_CONF_OPTS += --enable-network
  108. else
  109. BLUEZ5_UTILS_CONF_OPTS += --disable-network
  110. endif
  111. # enable nfc plugin
  112. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y)
  113. BLUEZ5_UTILS_CONF_OPTS += --enable-nfc
  114. else
  115. BLUEZ5_UTILS_CONF_OPTS += --disable-nfc
  116. endif
  117. # enable sap plugin
  118. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP),y)
  119. BLUEZ5_UTILS_CONF_OPTS += --enable-sap
  120. else
  121. BLUEZ5_UTILS_CONF_OPTS += --disable-sap
  122. endif
  123. # enable sixaxis plugin
  124. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS),y)
  125. BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis
  126. else
  127. BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis
  128. endif
  129. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y)
  130. # install gatttool (For some reason upstream choose not to do it by default)
  131. # gattool depends on the client for readline
  132. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
  133. define BLUEZ5_UTILS_INSTALL_GATTTOOL
  134. $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool
  135. endef
  136. BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL
  137. endif
  138. # hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but
  139. # Broadcom firmware blobs are usually located in `/lib/firmware`.
  140. BLUEZ5_UTILS_CONF_ENV += \
  141. CPPFLAGS='$(TARGET_CPPFLAGS) -DFIRMWARE_DIR=\"/lib/firmware\"'
  142. BLUEZ5_UTILS_CONF_OPTS += --enable-deprecated
  143. else
  144. BLUEZ5_UTILS_CONF_OPTS += --disable-deprecated
  145. endif
  146. # enable test
  147. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y)
  148. BLUEZ5_UTILS_CONF_OPTS += --enable-test
  149. else
  150. BLUEZ5_UTILS_CONF_OPTS += --disable-test
  151. endif
  152. # enable hid2hci tool
  153. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI),y)
  154. BLUEZ5_UTILS_CONF_OPTS += --enable-hid2hci
  155. else
  156. BLUEZ5_UTILS_CONF_OPTS += --disable-hid2hci
  157. endif
  158. # use udev if available
  159. ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
  160. BLUEZ5_UTILS_CONF_OPTS += --enable-udev
  161. BLUEZ5_UTILS_DEPENDENCIES += udev
  162. else
  163. BLUEZ5_UTILS_CONF_OPTS += --disable-udev
  164. endif
  165. # integrate with systemd if available
  166. ifeq ($(BR2_PACKAGE_SYSTEMD),y)
  167. BLUEZ5_UTILS_CONF_OPTS += --enable-systemd
  168. BLUEZ5_UTILS_DEPENDENCIES += systemd
  169. else
  170. BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
  171. endif
  172. define BLUEZ5_UTILS_INSTALL_INIT_SYSV
  173. $(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetoothd \
  174. $(TARGET_DIR)/etc/init.d/S40bluetoothd
  175. endef
  176. $(eval $(autotools-package))