config BR2_PACKAGE_CONNMAN
	bool "connman"
	depends on BR2_USE_WCHAR # libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
	depends on BR2_USE_MMU # dbus, libglib2
	depends on !BR2_STATIC_LIBS # needs dlopen()
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_TOOLCHAIN_USES_MUSL # missing res_ninit()
	select BR2_PACKAGE_DBUS
	select BR2_PACKAGE_LIBGLIB2
	help
	  The Connection Manager (ConnMan) project provides a daemon
	  for managing internet connections within embedded devices
	  running the Linux operating system.

	  https://01.org/connman

if BR2_PACKAGE_CONNMAN

choice
	prompt "Firewall type"
	default BR2_PACKAGE_CONNMAN_IPTABLES
	help
	  Select which firewall type is used.

config BR2_PACKAGE_CONNMAN_IPTABLES
	bool "iptables"
	select BR2_PACKAGE_IPTABLES
	help
	  Use iptables as firewall.

config BR2_PACKAGE_CONNMAN_NFTABLES
	bool "nftables"
	depends on BR2_USE_WCHAR
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
	select BR2_PACKAGE_LIBMNL
	select BR2_PACKAGE_NFTABLES
	help
	  Use nftables as firewall.
endchoice

config BR2_PACKAGE_CONNMAN_ETHERNET
	bool "enable Ethernet support"
	default y

config BR2_PACKAGE_CONNMAN_WIFI
	bool "enable WiFi support"
	select BR2_PACKAGE_WPA_SUPPLICANT # runtime
	select BR2_PACKAGE_WPA_SUPPLICANT_DBUS # runtime
	help
	  Enable WiFi support (scan and static/dhcp interface
	  setup). ConnMan detects the start of wpa_supplicant
	  automatically.

config BR2_PACKAGE_CONNMAN_WIREGUARD
	bool "enable wireguard support"
	select BR2_PACKAGE_LIBMNL

config BR2_PACKAGE_CONNMAN_WISPR
	bool "enable WISPr support"
	depends on !BR2_STATIC_LIBS # gnutls
	select BR2_PACKAGE_GNUTLS
	help
	  Enable support for Wireless Internet Service Provider
	  roaming (WISPr). A RADIUS server is used to authenticate the
	  subscriber's credentials.

comment "connman WISPr needs a toolchain w/ dynamic library"
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_CONNMAN_BLUETOOTH
	bool "enable Bluetooth support"
	help
	  Enable Bluetooth support. The start of bluetoothd is
	  automatically detected and only a runtime dependency.

config BR2_PACKAGE_CONNMAN_LOOPBACK
	bool "enable loopback support"

config BR2_PACKAGE_CONNMAN_NEARD
	bool "enable neard support"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # neard
	select BR2_PACKAGE_NEARD

config BR2_PACKAGE_CONNMAN_OFONO
	bool "enable ofono support"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ofono
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ofono
	select BR2_PACKAGE_OFONO

comment "ofono support needs a toolchain w/ headers >= 4.12"
	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12

config BR2_PACKAGE_CONNMAN_DEBUG
	bool "enable compiling with debugging information"

config BR2_PACKAGE_CONNMAN_CLIENT
	bool "enable command line client"
	select BR2_PACKAGE_READLINE

endif # BR2_PACKAGE_CONNMAN

comment "connman needs a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library"
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
		|| BR2_TOOLCHAIN_USES_MUSL