config BR2_PACKAGE_WPA_SUPPLICANT
	bool "wpa_supplicant"
	help
	  WPA supplicant for secure wireless networks

	  http://hostap.epitest.fi/wpa_supplicant/

if BR2_PACKAGE_WPA_SUPPLICANT

config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
	bool "Enable AP mode"
	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_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_CLI
	bool "Install wpa_cli binary"
	help
	  Install wpa_cli command line utility

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

config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD
	bool "Enable support for old DBus control interface"
	depends on BR2_PACKAGE_DBUS
	help
	  Enable support for old DBus control interface
	  (fi.epitest.hostap.WPASupplicant).

config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW
	bool "Enable support for new DBus control interface"
	depends on BR2_PACKAGE_DBUS
	help
	  Enable support for new DBus control interface (fi.w1.wpa_supplicant1).

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

endif
