config BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS
	bool
	default y
	depends on !BR2_RISCV_32

config BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	bool
	depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS

config BR2_PACKAGE_OPENSSL
	bool "openssl support"
	select BR2_PACKAGE_HAS_OPENSSL
	help
	  Select the desired ssl library provider.

if BR2_PACKAGE_OPENSSL

choice
	prompt "ssl library"
	help
	  Select OpenSSL or LibreSSL.

config BR2_PACKAGE_LIBOPENSSL
	bool "openssl"
	depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS
	select BR2_PACKAGE_ZLIB
	help
	  A collaborative effort to develop a robust, commercial-grade,
	  fully featured, and Open Source toolkit implementing the
	  Secure Sockets Layer (SSL v2/v3) and Transport Security
	  (TLS v1) as well as a full-strength general-purpose
	  cryptography library.

	  http://www.openssl.org/

	  Note: Some helper scripts need perl.

source "package/libopenssl/Config.in"

config BR2_PACKAGE_LIBRESSL
	bool "libressl"
	depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	# uClibc on noMMU doesn't provide __register_atfork()
	depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)
	help
	  LibreSSL is a version of the TLS/crypto stack forked from
	  OpenSSL in 2014, with goals of modernizing the codebase,
	  improving security, and applying best practice development
	  processes.

	  http://www.libressl.org/

source "package/libressl/Config.in"

# openssl from br2-external trees, if any
source "$BR2_BASE_DIR/.br2-external.in.openssl"

endchoice

config BR2_PACKAGE_HAS_OPENSSL
	bool

config BR2_PACKAGE_PROVIDES_OPENSSL
	string
	default "libopenssl"  if BR2_PACKAGE_LIBOPENSSL
	default "libressl"  if BR2_PACKAGE_LIBRESSL

endif

# ensure libopenssl is used for the host variant
config BR2_PACKAGE_PROVIDES_HOST_OPENSSL
	string
	default "host-libopenssl"
