openssl.mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #############################################################
  2. #
  3. # openssl
  4. #
  5. #############################################################
  6. OPENSSL_VERSION = 1.0.0c
  7. OPENSSL_SITE = http://www.openssl.org/source
  8. OPENSSL_INSTALL_STAGING = YES
  9. OPENSSL_DEPENDENCIES = zlib
  10. OPENSSL_TARGET_ARCH = generic32
  11. OPENSSL_CFLAGS = $(TARGET_CFLAGS)
  12. ifeq ($(BR2_PACKAGE_OPENSSL_OCF),y)
  13. OPENSSL_CFLAGS += -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS
  14. define OPENSSL_INSTALL_CRYPTODEV_H
  15. $(INSTALL) -D package/openssl/ocf-cryptodev-20101223.h \
  16. $(STAGING_DIR)/usr/include/crypto/cryptodev.h
  17. endef
  18. OPENSSL_POST_EXTRACT_HOOKS += OPENSSL_INSTALL_CRYPTODEV_H
  19. endif
  20. # Some architectures are optimized in OpenSSL
  21. ifeq ($(ARCH),arm)
  22. ifneq ($(BR2_generic_arm),y)
  23. ifneq ($(BR2_arm610),y)
  24. ifneq ($(BR2_arm710),y)
  25. OPENSSL_TARGET_ARCH = armv4
  26. endif
  27. endif
  28. endif
  29. endif
  30. ifeq ($(ARCH),powerpc)
  31. OPENSSL_TARGET_ARCH = ppc
  32. endif
  33. ifeq ($(ARCH),x86_64)
  34. OPENSSL_TARGET_ARCH = x86_64
  35. endif
  36. define OPENSSL_CONFIGURE_CMDS
  37. (cd $(@D); \
  38. $(TARGET_CONFIGURE_ARGS) \
  39. $(TARGET_CONFIGURE_OPTS) \
  40. ./Configure \
  41. linux-$(OPENSSL_TARGET_ARCH) \
  42. --prefix=/usr \
  43. --openssldir=/etc/ssl \
  44. threads \
  45. shared \
  46. no-idea \
  47. no-rc5 \
  48. enable-camellia \
  49. enable-mdc2 \
  50. enable-tlsext \
  51. zlib-dynamic \
  52. )
  53. $(SED) "s:-march=[-a-z0-9] ::" -e "s:-mcpu=[-a-z0-9] ::g" $(@D)/Makefile
  54. $(SED) "s:-O[0-9]:$(OPENSSL_CFLAGS):" $(@D)/Makefile
  55. endef
  56. define OPENSSL_BUILD_CMDS
  57. $(MAKE1) -C $(@D) all build-shared
  58. $(MAKE1) -C $(@D) do_linux-shared
  59. endef
  60. define OPENSSL_INSTALL_STAGING_CMDS
  61. $(MAKE1) -C $(@D) INSTALL_PREFIX=$(STAGING_DIR) install
  62. endef
  63. define OPENSSL_INSTALL_TARGET_CMDS
  64. $(MAKE1) -C $(@D) INSTALL_PREFIX=$(TARGET_DIR) install
  65. endef
  66. define OPENSSL_REMOVE_DEV_FILES
  67. rm -rf $(TARGET_DIR)/usr/lib/ssl
  68. endef
  69. ifneq ($(BR2_HAVE_DEVFILES),y)
  70. OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_DEV_FILES
  71. endif
  72. define OPENSSL_REMOVE_OPENSSL_BIN
  73. rm -f $(TARGET_DIR)/usr/bin/openssl
  74. endef
  75. ifneq ($(BR2_PACKAGE_OPENSSL_BIN),y)
  76. OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_OPENSSL_BIN
  77. endif
  78. define OPENSSL_INSTALL_FIXUPS
  79. rm -f $(TARGET_DIR)/usr/bin/c_rehash
  80. # libraries gets installed read only, so strip fails
  81. chmod +w $(TARGET_DIR)/usr/lib/engines/lib*.so
  82. for i in $(addprefix $(TARGET_DIR)/usr/lib/,libcrypto.so.* libssl.so.*); \
  83. do chmod +w $$i; done
  84. endef
  85. OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_INSTALL_FIXUPS
  86. define OPENSSL_REMOVE_OPENSSL_ENGINES
  87. rm -rf $(TARGET_DIR)/usr/lib/engines
  88. endef
  89. ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y)
  90. OPENSSL_POST_INSTALL_TARGET_HOOKS += OPENSSL_REMOVE_OPENSSL_ENGINES
  91. endif
  92. define OPENSSL_UNINSTALL_CMDS
  93. rm -rf $(addprefix $(TARGET_DIR)/,etc/ssl usr/bin/openssl usr/include/openssl)
  94. rm -rf $(addprefix $(TARGET_DIR)/usr/lib/,ssl engines libcrypto* libssl* pkgconfig/libcrypto.pc)
  95. rm -rf $(addprefix $(STAGING_DIR)/,etc/ssl usr/bin/openssl usr/include/openssl)
  96. rm -rf $(addprefix $(STAGING_DIR)/usr/lib/,ssl engines libcrypto* libssl* pkgconfig/libcrypto.pc)
  97. endef
  98. $(eval $(call GENTARGETS,package,openssl))