openssl.mk 2.6 KB

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