1################################################################################ 2# 3# mbedtls 4# 5################################################################################ 6 7MBEDTLS_VERSION = 2.28.8 8MBEDTLS_SITE = https://github.com/Mbed-TLS/mbedtls/releases/download/v$(MBEDTLS_VERSION) 9MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION).tar.bz2 10MBEDTLS_CONF_OPTS = \ 11 -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ 12 -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ 13 -DENABLE_TESTING=OFF \ 14 -DMBEDTLS_FATAL_WARNINGS=OFF 15MBEDTLS_INSTALL_STAGING = YES 16MBEDTLS_LICENSE = Apache-2.0 or GPL-2.0+ 17MBEDTLS_LICENSE_FILES = LICENSE 18MBEDTLS_CPE_ID_VENDOR = arm 19MBEDTLS_CPE_ID_PRODUCT = mbed_tls 20 21# This is mandatory for hiawatha 22ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) 23define MBEDTLS_ENABLE_THREADING 24 $(SED) "s://#define MBEDTLS_THREADING_C:#define MBEDTLS_THREADING_C:" \ 25 $(@D)/include/mbedtls/config.h 26 $(SED) "s://#define MBEDTLS_THREADING_PTHREAD:#define MBEDTLS_THREADING_PTHREAD:" \ 27 $(@D)/include/mbedtls/config.h 28endef 29MBEDTLS_PRE_CONFIGURE_HOOKS += MBEDTLS_ENABLE_THREADING 30ifeq ($(BR2_STATIC_LIBS),y) 31MBEDTLS_CONF_OPTS += -DLINK_WITH_PTHREAD=ON 32endif 33endif 34 35ifeq ($(BR2_STATIC_LIBS),y) 36MBEDTLS_CONF_OPTS += \ 37 -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON 38else ifeq ($(BR2_SHARED_STATIC_LIBS),y) 39MBEDTLS_CONF_OPTS += \ 40 -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DUSE_STATIC_MBEDTLS_LIBRARY=ON 41else ifeq ($(BR2_SHARED_LIBS),y) 42MBEDTLS_CONF_OPTS += \ 43 -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DUSE_STATIC_MBEDTLS_LIBRARY=OFF 44endif 45 46ifeq ($(BR2_PACKAGE_MBEDTLS_COMPRESSION),y) 47MBEDTLS_CONF_OPTS += -DENABLE_ZLIB_SUPPORT=ON 48MBEDTLS_DEPENDENCIES += zlib 49define MBEDTLS_ENABLE_ZLIB 50 $(SED) "s://#define MBEDTLS_ZLIB_SUPPORT:#define MBEDTLS_ZLIB_SUPPORT:" \ 51 $(@D)/include/mbedtls/config.h 52endef 53MBEDTLS_PRE_CONFIGURE_HOOKS += MBEDTLS_ENABLE_ZLIB 54else 55MBEDTLS_CONF_OPTS += -DENABLE_ZLIB_SUPPORT=OFF 56endif 57 58define MBEDTLS_DISABLE_ASM 59 $(SED) '/^#define MBEDTLS_AESNI_C/d' \ 60 $(@D)/include/mbedtls/config.h 61 $(SED) '/^#define MBEDTLS_HAVE_ASM/d' \ 62 $(@D)/include/mbedtls/config.h 63 $(SED) '/^#define MBEDTLS_PADLOCK_C/d' \ 64 $(@D)/include/mbedtls/config.h 65endef 66 67# ARM in thumb mode breaks debugging with asm optimizations 68# Microblaze asm optimizations are broken in general 69# MIPS R6 asm is not yet supported 70ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THUMB2),yy) 71MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM 72else ifeq ($(BR2_microblaze)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) 73MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM 74endif 75 76ifeq ($(BR2_PACKAGE_MBEDTLS_DTLS_SRTP),y) 77define MBEDTLS_ENABLE_DTLS_SRTP 78 $(SED) "s://#define MBEDTLS_SSL_DTLS_SRTP:#define MBEDTLS_SSL_DTLS_SRTP:" \ 79 $(@D)/include/mbedtls/config.h 80endef 81MBEDTLS_PRE_CONFIGURE_HOOKS += MBEDTLS_ENABLE_DTLS_SRTP 82endif 83 84$(eval $(cmake-package)) 85