config BR2_PACKAGE_SOFTETHER
	bool "softether"
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU # fork()
	depends on BR2_USE_WCHAR
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	select BR2_PACKAGE_READLINE
	help
	  The SoftEther Server is a fully integrated implementation of
	  the SSTP, L2TP, L2TPv3, OpenVPN, and IPSec virtual private
	  networking protocols on Linux and several other
	  platforms. It is generally compatible with other
	  implementations by Apple, Cisco, Juniper, Microsoft, et al.

	  Convenient Layer-2 and Layer-3 bridging capabilities can
	  connect several branch offices into a single broadcast or
	  routing domain, even behind a NAT or without a static IPv4
	  address.

	  In addition to supporting most VPN protocols, the SoftEther
	  Client can penetrate hardened firewalls and captured
	  gateways through HTTPS, DNS, and ICMP exfiltration.

	  http://www.softether.org

comment "softether needs a toolchain w/ wchar, threads"
	depends on BR2_USE_MMU
	depends on !(BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
