package/libopenssl: move target arch selection to Config.in
The logic to select the proper OpenSSL target arch in libopenssl.mk is
not easy to read, so let's move it to Config.in where we have some
nice constructs for that kind of value selection.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit e3159cad71
)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
20a90dd359
commit
1e639476fd
29
package/libopenssl/Config.in
Normal file
29
package/libopenssl/Config.in
Normal file
@ -0,0 +1,29 @@
|
||||
# 4xx PowerPC cores seem to have trouble with openssl's ASM
|
||||
# optimizations
|
||||
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
|
||||
bool
|
||||
default y if BR2_powerpc
|
||||
depends on !BR2_powerpc_401
|
||||
depends on !BR2_powerpc_403
|
||||
depends on !BR2_powerpc_405
|
||||
depends on !BR2_powerpc_405fp
|
||||
depends on !BR2_powerpc_440
|
||||
depends on !BR2_powerpc_440fp
|
||||
|
||||
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH
|
||||
string
|
||||
# Use "gcc" minimalistic target to disable DSO
|
||||
# no-asm is needed with generic architectures such as gcc, see
|
||||
# https://github.com/openssl/openssl/issues/9839
|
||||
default "gcc no-asm" if BR2_STATIC_LIBS
|
||||
# Doesn't work for thumb-only (Cortex-M?)
|
||||
default "linux-armv4" if BR2_ARM_CPU_HAS_ARM
|
||||
default "linux-aarch64" if BR2_aarch64
|
||||
default "linux-ppc" if BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
|
||||
default "linux-ppc64" if BR2_powerpc64
|
||||
default "linux-ppc64le" if BR2_powerpc64le
|
||||
default "linux-x86_64" if BR2_x86_64
|
||||
# no-asm is needed with generic architectures such as
|
||||
# linux-generic32, see
|
||||
# https://github.com/openssl/openssl/issues/9839
|
||||
default "linux-generic32 no-asm"
|
@ -12,9 +12,7 @@ LIBOPENSSL_LICENSE_FILES = LICENSE
|
||||
LIBOPENSSL_INSTALL_STAGING = YES
|
||||
LIBOPENSSL_DEPENDENCIES = zlib
|
||||
HOST_LIBOPENSSL_DEPENDENCIES = host-zlib
|
||||
# no-asm is needed with generic architectures such as linux-generic32, see
|
||||
# https://github.com/openssl/openssl/issues/9839
|
||||
LIBOPENSSL_TARGET_ARCH = linux-generic32 no-asm
|
||||
LIBOPENSSL_TARGET_ARCH = $(call qstrip,$(BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH))
|
||||
LIBOPENSSL_CFLAGS = $(TARGET_CFLAGS)
|
||||
LIBOPENSSL_PROVIDES = openssl
|
||||
|
||||
@ -55,37 +53,6 @@ ifeq ($(BR2_TOOLCHAIN_HAS_UCONTEXT),)
|
||||
LIBOPENSSL_CFLAGS += -DOPENSSL_NO_ASYNC
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
# Use "gcc" minimalistic target to disable DSO
|
||||
# no-asm is needed with generic architectures such as gcc, see
|
||||
# https://github.com/openssl/openssl/issues/9839
|
||||
LIBOPENSSL_TARGET_ARCH = gcc no-asm
|
||||
else
|
||||
# Some architectures are optimized in OpenSSL
|
||||
# Doesn't work for thumb-only (Cortex-M?)
|
||||
ifeq ($(BR2_ARM_CPU_HAS_ARM),y)
|
||||
LIBOPENSSL_TARGET_ARCH = linux-armv4
|
||||
endif
|
||||
ifeq ($(ARCH),aarch64)
|
||||
LIBOPENSSL_TARGET_ARCH = linux-aarch64
|
||||
endif
|
||||
ifeq ($(ARCH),powerpc)
|
||||
# 4xx cores seem to have trouble with openssl's ASM optimizations
|
||||
ifeq ($(BR2_powerpc_401)$(BR2_powerpc_403)$(BR2_powerpc_405)$(BR2_powerpc_405fp)$(BR2_powerpc_440)$(BR2_powerpc_440fp),)
|
||||
LIBOPENSSL_TARGET_ARCH = linux-ppc
|
||||
endif
|
||||
endif
|
||||
ifeq ($(ARCH),powerpc64)
|
||||
LIBOPENSSL_TARGET_ARCH = linux-ppc64
|
||||
endif
|
||||
ifeq ($(ARCH),powerpc64le)
|
||||
LIBOPENSSL_TARGET_ARCH = linux-ppc64le
|
||||
endif
|
||||
ifeq ($(ARCH),x86_64)
|
||||
LIBOPENSSL_TARGET_ARCH = linux-x86_64
|
||||
endif
|
||||
endif
|
||||
|
||||
define HOST_LIBOPENSSL_CONFIGURE_CMDS
|
||||
(cd $(@D); \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
|
@ -43,6 +43,8 @@ config BR2_PACKAGE_LIBOPENSSL_ENGINES
|
||||
help
|
||||
Install additional encryption engine libraries.
|
||||
|
||||
source "package/libopenssl/Config.in"
|
||||
|
||||
endif
|
||||
|
||||
config BR2_PACKAGE_LIBRESSL
|
||||
|
Loading…
Reference in New Issue
Block a user