cryptopp.mk 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. ################################################################################
  2. #
  3. # cryptopp
  4. #
  5. ################################################################################
  6. CRYPTOPP_VERSION = 8.9.0
  7. CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip
  8. CRYPTOPP_SITE = https://cryptopp.com
  9. CRYPTOPP_LICENSE = BSL-1.0, BSD-3-Clause (CRYPTOGAMS), Public domain (ChaCha SSE2 and AVX)
  10. CRYPTOPP_LICENSE_FILES = License.txt
  11. CRYPTOPP_CPE_ID_VENDOR = cryptopp
  12. CRYPTOPP_CPE_ID_PRODUCT = crypto\+\+
  13. CRYPTOPP_INSTALL_STAGING = YES
  14. define HOST_CRYPTOPP_EXTRACT_CMDS
  15. $(UNZIP) $(HOST_CRYPTOPP_DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D)
  16. endef
  17. HOST_CRYPTOPP_CXXFLAGS = $(HOST_CFLAGS) -fPIC
  18. # _mm256_broadcastsi128_si256 has been added only in gcc 4.9
  19. ifneq ($(BR2_HOST_GCC_AT_LEAST_4_9),y)
  20. HOST_CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2
  21. endif
  22. HOST_CRYPTOPP_MAKE_OPTS = \
  23. $(HOST_CONFIGURE_OPTS) \
  24. CXXFLAGS="$(HOST_CRYPTOPP_CXXFLAGS)"
  25. define HOST_CRYPTOPP_BUILD_CMDS
  26. $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CRYPTOPP_MAKE_OPTS) shared
  27. endef
  28. define HOST_CRYPTOPP_INSTALL_CMDS
  29. $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install-lib
  30. endef
  31. define CRYPTOPP_EXTRACT_CMDS
  32. $(UNZIP) $(CRYPTOPP_DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D)
  33. endef
  34. CRYPTOPP_CXXFLAGS = $(TARGET_CXXFLAGS) -fPIC
  35. # _mm256_broadcastsi128_si256 has been added only in gcc 4.9
  36. ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),y)
  37. CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2
  38. endif
  39. ifneq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
  40. CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ALTIVEC
  41. endif
  42. ifneq ($(BR2_ARM_CPU_HAS_NEON),y)
  43. CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_NEON
  44. endif
  45. CRYPTOPP_MAKE_OPTS = \
  46. $(TARGET_CONFIGURE_OPTS) \
  47. CXXFLAGS="$(CRYPTOPP_CXXFLAGS)"
  48. define CRYPTOPP_BUILD_CMDS
  49. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CRYPTOPP_MAKE_OPTS) \
  50. PREFIX=/usr shared libcryptopp.pc
  51. endef
  52. define CRYPTOPP_INSTALL_TARGET_CMDS
  53. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) \
  54. LDCONFIG=/bin/true install-lib
  55. endef
  56. define CRYPTOPP_INSTALL_STAGING_CMDS
  57. $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) \
  58. LDCONFIG=/bin/true install-lib
  59. endef
  60. $(eval $(generic-package))
  61. $(eval $(host-generic-package))