config BR2_PACKAGE_NETWORK_MANAGER
	bool "networkmanager"
	depends on BR2_USE_MMU # dbus
	depends on BR2_PACKAGE_HAS_UDEV
	# Tested with 3.2, but may even work with earlier versions
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
	depends on BR2_TOOLCHAIN_USES_GLIBC # CLOCK_BOOTTIME, IPTOS_CLASS_*
	select BR2_PACKAGE_DHCPCD if !BR2_PACKAGE_DHCP_CLIENT
	select BR2_PACKAGE_DBUS
	select BR2_PACKAGE_DBUS_GLIB
	select BR2_PACKAGE_GNUTLS
	select BR2_PACKAGE_LIBGCRYPT
	select BR2_PACKAGE_LIBNL
	select BR2_PACKAGE_LIBGUDEV if BR2_INIT_SYSTEMD
	select BR2_PACKAGE_UTIL_LINUX
	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
	select BR2_PACKAGE_WIRELESS_TOOLS
	select BR2_PACKAGE_WIRELESS_TOOLS_LIB
	select BR2_PACKAGE_READLINE
	select BR2_PACKAGE_LIBNDP
	help
	  NetworkManager is a set of co-operative tools that make networking
	  simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
	  NetworkManager allows you to quickly move from one network to
	  another: once a network has been configured and joined once, it
	  can be detected and re-joined automatically the next time it's
	  available.

	  http://projects.gnome.org/NetworkManager/

if BR2_PACKAGE_NETWORK_MANAGER

config BR2_PACKAGE_NETWORK_MANAGER_TUI
	bool "nmtui support"
	select BR2_PACKAGE_NEWT
	help
	  This option enables terminal based UI

config BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER
	bool "modem-manager support"
	select BR2_PACKAGE_MODEM_MANAGER
	select BR2_PACKAGE_MODEM_MANAGER_LIBMBIM
	select BR2_PACKAGE_MODEM_MANAGER_LIBQMI
	help
	  This option enables support for ModemManager

config BR2_PACKAGE_NETWORK_MANAGER_PPPD
	bool "pppd support"
	select BR2_PACKAGE_PPPD
	help
	  This option enables support for PPPD daemon
endif

comment "NetworkManager needs udev /dev management and a (e)glibc toolchain w/ headers >= 3.7"
	depends on BR2_USE_MMU
	depends on !BR2_PACKAGE_HAS_UDEV || \
		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \
		!BR2_TOOLCHAIN_USES_GLIBC
