config BR2_PACKAGE_OPENOBEX
	bool "openobex"
	help
	  Free open source implementation of the Object Exchange (OBEX)
	  protocol.

	  http://sourceforge.net/projects/openobex

if BR2_PACKAGE_OPENOBEX

config BR2_PACKAGE_OPENOBEX_BLUEZ
	bool "enable bluez support"
	depends on !BR2_STATIC_LIBS # bluez_utils
	depends on BR2_USE_WCHAR # libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2
	depends on BR2_USE_MMU # dbus
	select BR2_PACKAGE_BLUEZ_UTILS

comment "bluez support needs a toolchain w/ wchar, threads, dynamic library"
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

config BR2_PACKAGE_OPENOBEX_LIBUSB
	bool "enable libusb support"
	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
	select BR2_PACKAGE_LIBUSB
	select BR2_PACKAGE_LIBUSB_COMPAT

comment "libusb support needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_OPENOBEX_APPS
	bool "install test applications"
	help
	  Also install the openobex test applications on target.

config BR2_PACKAGE_OPENOBEX_SYSLOG
	bool "enable debugging to the system logger"

config BR2_PACKAGE_OPENOBEX_DUMP
	bool "enable protocol dumping for debugging"

endif
