buildroot/package/openssl/Config.in
Thomas Petazzoni 1f1a242e62 openssl: disable libressl on uClibc noMMU
uClibc doesn't implement __register_atfork() on noMMU systems, causing
a build failure of libressl. Since openssl is available as an
alternative on such platforms, we just disable libressl on
uClibc/noMMU systems.

Fixes:

/home/thomas/projets/buildroot/output/build/libressl-2.5.5/crypto/.libs/libcrypto.a(arc4random.o): In function `_rs_init.part.1':
arc4random.c:(.text+0x74): undefined reference to `__register_atfork'
collect2: error: ld returned 1 exit status

This build issue is not visible in the autobuilders, because libressl
is only selectable through a choice, which isn't randomized by the
autobuilder logic.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-06 15:17:45 +01:00

87 lines
2 KiB
Plaintext

config BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
bool
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"
default BR2_PACKAGE_LIBOPENSSL
help
Select OpenSSL or LibreSSL.
config BR2_PACKAGE_LIBOPENSSL
bool "openssl"
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.
if BR2_PACKAGE_LIBOPENSSL
config BR2_PACKAGE_LIBOPENSSL_BIN
bool "openssl binary"
help
Install the openssl binary and the associated helper scripts
to the target file system. This is a command line tool for
doing various cryptographic stuff.
config BR2_PACKAGE_LIBOPENSSL_ENGINES
bool "openssl additional engines"
help
Install additional encryption engine libraries.
endif
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/
if BR2_PACKAGE_LIBRESSL
config BR2_PACKAGE_LIBRESSL_BIN
bool "openssl binary"
help
Install the openssl binary to the target file system. This is
a command line tool for doing various cryptographic stuff.
endif
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"