config BR2_PACKAGE_MODEM_MANAGER
	bool "modemmanager"
	depends on BR2_PACKAGE_HAS_UDEV
	depends on BR2_USE_WCHAR # libglib2 and gnutls
	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
	depends on BR2_USE_MMU # dbus
	select BR2_PACKAGE_DBUS # runtime dependency
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_LIBGUDEV
	help
	  ModemManager is a DBus-activated daemon which controls mobile
	  broadband (2G/3G/4G) devices and connections.

	  http://www.freedesktop.org/wiki/Software/ModemManager/

if BR2_PACKAGE_MODEM_MANAGER

config BR2_PACKAGE_MODEM_MANAGER_LIBMBIM
	bool "MBIM support"
	select BR2_PACKAGE_LIBMBIM
	help
	  This option enables support for MBIM protocol

config BR2_PACKAGE_MODEM_MANAGER_LIBQMI
	bool "QMI support"
	select BR2_PACKAGE_LIBQMI
	help
	  This option enables support for QMI protocol
endif

comment "modemmanager needs udev /dev management and a toolchain w/ wchar, threads"
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_PACKAGE_HAS_UDEV
	depends on BR2_USE_MMU
