config BR2_PACKAGE_BLUEZ5_UTILS
	bool "bluez-utils 5.x"
	depends on BR2_USE_WCHAR # libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
	depends on BR2_USE_MMU # dbus
	depends on !BR2_STATIC_LIBS # uses dlfcn
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	select BR2_PACKAGE_DBUS
	select BR2_PACKAGE_LIBGLIB2
	help
	  bluez utils version 5.x

	  With this release BlueZ only supports the new Bluetooth
	  Management kernel interface (introduced in Linux 3.4).

	  For Low Energy support at least kernel version 3.5 is
	  needed.

	  The API is not backward compatible with BlueZ 4.

	  Bluez utils will use systemd and/or udev if enabled.

	  http://www.bluez.org
	  http://www.kernel.org/pub/linux/bluetooth

if BR2_PACKAGE_BLUEZ5_UTILS

config BR2_PACKAGE_BLUEZ5_UTILS_OBEX
	bool "build OBEX support"
	depends on BR2_INSTALL_LIBSTDCPP
	select BR2_PACKAGE_LIBICAL
	help
	  Enable the OBEX support in Bluez 5.x.

comment "OBEX support needs a toolchain w/ C++"
	depends on !BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT
	bool "build CLI client"
	select BR2_PACKAGE_READLINE
	help
	  Enable the Bluez 5.x command line client.

config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED
	bool "install deprecated tool"
	depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT
	help
	  Build BlueZ 5.x deprecated tools. These currently include:
	  hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool,
	  ciptool, gatttool.

config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL
	bool "build experimental obexd plugin"
	help
	  Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin

config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH
	bool "build health plugin"
	help
	  Build BlueZ 5.x health plugin

config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH
	bool "build mesh profile"
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell
	select BR2_PACKAGE_ELL
	select BR2_PACKAGE_JSON_C
	select BR2_PACKAGE_READLINE
	help
	  Build BlueZ 5.x mesh plugin

comment "mesh profile needs a toolchain w/ headers >= 4.12"
	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12

config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI
	bool "build midi profile"
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_SEQ
	help
	  Build BlueZ 5.x midi plugin

config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC
	bool "build nfc plugin"
	help
	  Build BlueZ 5.x nfc plugin

config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP
	bool "build sap plugin"
	help
	  Build BlueZ 5.x sap plugin

config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS
	bool "build sixaxis plugin"
	depends on BR2_PACKAGE_HAS_UDEV
	help
	  Build BlueZ 5.x sixaxis plugin (support Sony Dualshock
	  controller)

comment "sixaxis plugin needs udev /dev management"
	depends on !BR2_PACKAGE_HAS_UDEV

config BR2_PACKAGE_BLUEZ5_UTILS_TEST
	bool "build tests"
	help
	  Build BlueZ 5.x tests

config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI
	bool "build hid2hci tool"
	depends on BR2_PACKAGE_HAS_UDEV
	help
	  Build BlueZ 5.x hid2hci tool

comment "hid2hci tool needs udev /dev management"
	depends on !BR2_PACKAGE_HAS_UDEV

endif

comment "bluez5-utils needs a toolchain w/ wchar, threads, headers >= 3.4, dynamic library"
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on BR2_USE_MMU
