mbedtls.mk 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. ################################################################################
  2. #
  3. # mbedtls
  4. #
  5. ################################################################################
  6. MBEDTLS_VERSION = 2.16.9
  7. MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION))
  8. MBEDTLS_CONF_OPTS = \
  9. -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \
  10. -DENABLE_TESTING=OFF
  11. MBEDTLS_INSTALL_STAGING = YES
  12. MBEDTLS_LICENSE = Apache-2.0
  13. MBEDTLS_LICENSE_FILES = apache-2.0.txt
  14. # This is mandatory for hiawatha
  15. ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
  16. define MBEDTLS_ENABLE_THREADING
  17. $(SED) "s://#define MBEDTLS_THREADING_C:#define MBEDTLS_THREADING_C:" \
  18. $(@D)/include/mbedtls/config.h
  19. $(SED) "s://#define MBEDTLS_THREADING_PTHREAD:#define MBEDTLS_THREADING_PTHREAD:" \
  20. $(@D)/include/mbedtls/config.h
  21. endef
  22. MBEDTLS_POST_PATCH_HOOKS += MBEDTLS_ENABLE_THREADING
  23. ifeq ($(BR2_STATIC_LIBS),y)
  24. MBEDTLS_CONF_OPTS += -DLINK_WITH_PTHREAD=ON
  25. endif
  26. endif
  27. ifeq ($(BR2_STATIC_LIBS),y)
  28. MBEDTLS_CONF_OPTS += \
  29. -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON
  30. else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
  31. MBEDTLS_CONF_OPTS += \
  32. -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DUSE_STATIC_MBEDTLS_LIBRARY=ON
  33. else ifeq ($(BR2_SHARED_LIBS),y)
  34. MBEDTLS_CONF_OPTS += \
  35. -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DUSE_STATIC_MBEDTLS_LIBRARY=OFF
  36. endif
  37. ifeq ($(BR2_PACKAGE_MBEDTLS_COMPRESSION),y)
  38. MBEDTLS_CONF_OPTS += -DENABLE_ZLIB_SUPPORT=ON
  39. MBEDTLS_DEPENDENCIES += zlib
  40. define MBEDTLS_ENABLE_ZLIB
  41. $(SED) "s://#define MBEDTLS_ZLIB_SUPPORT:#define MBEDTLS_ZLIB_SUPPORT:" \
  42. $(@D)/include/mbedtls/config.h
  43. endef
  44. MBEDTLS_POST_PATCH_HOOKS += MBEDTLS_ENABLE_ZLIB
  45. else
  46. MBEDTLS_CONF_OPTS += -DENABLE_ZLIB_SUPPORT=OFF
  47. endif
  48. define MBEDTLS_DISABLE_ASM
  49. $(SED) '/^#define MBEDTLS_AESNI_C/d' \
  50. $(@D)/include/mbedtls/config.h
  51. $(SED) '/^#define MBEDTLS_HAVE_ASM/d' \
  52. $(@D)/include/mbedtls/config.h
  53. $(SED) '/^#define MBEDTLS_PADLOCK_C/d' \
  54. $(@D)/include/mbedtls/config.h
  55. endef
  56. # ARM in thumb mode breaks debugging with asm optimizations
  57. # Microblaze asm optimizations are broken in general
  58. # MIPS R6 asm is not yet supported
  59. ifeq ($(BR2_ENABLE_DEBUG)$(BR2_ARM_INSTRUCTIONS_THUMB)$(BR2_ARM_INSTRUCTIONS_THUMB2),yy)
  60. MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM
  61. else ifeq ($(BR2_microblaze)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
  62. MBEDTLS_POST_CONFIGURE_HOOKS += MBEDTLS_DISABLE_ASM
  63. endif
  64. $(eval $(cmake-package))