config BR2_PACKAGE_WPA_SUPPLICANT
	bool "wpa_supplicant"
	depends on BR2_USE_MMU # fork()
	help
	  WPA supplicant for secure wireless networks

	  http://w1.fi/wpa_supplicant/

if BR2_PACKAGE_WPA_SUPPLICANT

config BR2_PACKAGE_WPA_SUPPLICANT_NL80211
	bool "Enable nl80211 support"
	default y
	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
	select BR2_PACKAGE_LIBNL
	help
	  Enable support for nl80211.  This is the current wireless
	  API for Linux, supported by all wireless drivers in vanilla
	  Linux, but may not be supported by some out-of-tree Linux
	  wireless drivers.  wpa_supplicant will still fall back to
	  using the Wireless Extensions (wext) API with these drivers.

	  If this option is disabled, then only the deprecated wext
	  API will be supported, with far less features.  Linux may
	  supports using wext with modern drivers using a
	  compatibility layer, but it must be enabled in the kernel
	  configuration.

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

config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
	bool "Enable AP mode"
	depends on BR2_PACKAGE_WPA_SUPPLICANT_NL80211
	help
	  With this option enabled, wpa_supplicant can act as an
	  access point much like hostapd does with a limited feature
	  set.  This links in parts of hostapd functionality into
	  wpa_supplicant, making it bigger but dispensing the need for
	  a separate hostapd binary in some applications hence being
	  smaller overall.

config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY
	bool "Enable Wi-Fi Display"
	depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
	help
	  Enable support for Wi-Fi Display

config BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING
	bool "Enable mesh networking"
	depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	help
	  Enable support for open and secured mesh networking
	  (IEEE 802.11s)

config BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN
	bool "Enable autoscan"
	help
	  Enable support for the autoscan feature (allow periodic scan)

config BR2_PACKAGE_WPA_SUPPLICANT_EAP
	bool "Enable EAP"
	help
	  Enable support for EAP.

config BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT
	bool "Enable HS20"
	help
	  Enable Hotspot 2.0 and IEEE 802.11u interworking
	  functionality.

config BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG
	bool "Enable syslog support"
	help
	  Enable support for sending debug messages to syslog.

config BR2_PACKAGE_WPA_SUPPLICANT_WPS
	bool "Enable WPS"
	help
	  Enable support for Wi-Fi Protected Setup (WPS).

config BR2_PACKAGE_WPA_SUPPLICANT_WPA3
	bool "Enable WPA3 support"
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	help
	  Enable WPA3 support including OWE, SAE, DPP

config BR2_PACKAGE_WPA_SUPPLICANT_CLI
	bool "Install wpa_cli binary"
	help
	  Install wpa_cli command line utility

config BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO
	bool "Install wpa_client shared library"
	depends on !BR2_STATIC_LIBS
	help
	  Install libwpa_client.so.

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

config BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE
	bool "Install wpa_passphrase binary"
	help
	  Install wpa_passphrase command line utility.

config BR2_PACKAGE_WPA_SUPPLICANT_DBUS
	bool "Enable support for the DBus control interface"
	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
	select BR2_PACKAGE_DBUS
	help
	  Enable support for the DBus control interface.

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

config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION
	bool "Introspection support"
	depends on BR2_PACKAGE_WPA_SUPPLICANT_DBUS
	help
	  Add introspection support for new DBus control interface.

endif
