Makefile 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(ADK_TOPDIR)/rules.mk
  4. PKG_NAME:= openssl
  5. PKG_VERSION:= 3.3.2
  6. PKG_RELEASE:= 1
  7. PKG_HASH:= 2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281
  8. PKG_DESCR:= ssl/tls library
  9. PKG_SECTION:= libs/crypto
  10. PKG_URL:= https://openssl-library.org/
  11. PKG_DEPENDS:= zlib
  12. PKG_BUILDDEP:= zlib
  13. PKG_SITES:= https://github.com/openssl/openssl/releases/download/openssl-$(PKG_VERSION)/
  14. PKG_LIBNAME:= libopenssl
  15. PKG_OPTS:= dev
  16. DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
  17. PKG_SUBPKGS:= LIBOPENSSL OPENSSL_UTIL
  18. PKGSD_OPENSSL_UTIL:= openssl command line tool
  19. PKGSC_OPENSSL_UTIL:= app/crypto
  20. PKGSS_OPENSSL_UTIL:= libopenssl
  21. include $(ADK_TOPDIR)/mk/host.mk
  22. include $(ADK_TOPDIR)/mk/package.mk
  23. $(eval $(call HOST_template,OPENSSL,openssl,${PKG_VERSION}-${PKG_RELEASE}))
  24. $(eval $(call PKG_template,LIBOPENSSL,libopenssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},$(PKG_OPTS)))
  25. $(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_OPENSSL_UTIL},${PKGSD_OPENSSL_UTIL},${PKGSC_OPENSSL_UTIL}))
  26. ifeq ($(ADK_TARGET_USE_STATIC_LIBS),y)
  27. OPENSSL_OPTIONS:= no-shared zlib no-dso
  28. else
  29. OPENSSL_OPTIONS:= shared zlib-dynamic
  30. endif
  31. OPENSSL_OPTIONS+= threads no-err no-tests no-fuzz-libfuzzer no-fuzz-afl
  32. OPENSSL_OPTIONS+= no-rc5 no-rc2 no-rc4 no-md2 no-idea
  33. HOST_STYLE:= manual
  34. CONFIG_STYLE:= manual
  35. INSTALL_TARGET:= install_sw
  36. FAKE_FLAGS+= INSTALL_PREFIX=${WRKINST}
  37. ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y)
  38. TARGET_CFLAGS:= $(subst g3,g,$(TARGET_CFLAGS))
  39. endif
  40. ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
  41. TARGET_CFLAGS:= $(subst g3,g,$(TARGET_CFLAGS))
  42. endif
  43. ifeq ($(ADK_TARGET_ARCH_PPC),y)
  44. TARGET_CFLAGS:= $(subst g3,g,$(TARGET_CFLAGS))
  45. endif
  46. CONFIG:= linux-generic32
  47. ifeq ($(ADK_TARGET_ARCH_X86_64),y)
  48. CONFIG:= linux-x86_64
  49. endif
  50. ifeq ($(ADK_TARGET_ARCH_AARCH64),y)
  51. CONFIG:= linux-aarch64
  52. OPENSSL_OPTIONS+= no-asm
  53. endif
  54. ifneq (,$(filter CYGWIN%,${OS_FOR_BUILD}))
  55. HOSTCONFIG:= Cygwin-x86_64
  56. endif
  57. ifeq ($(OS_FOR_BUILD),Darwin)
  58. HOSTCONFIG:= darwin64-x86_64-cc
  59. endif
  60. host-configure:
  61. ifeq ($(HOSTCONFIG),)
  62. (cd $(WRKBUILD); ./config --prefix='$(STAGING_HOST_DIR)/usr' -fPIC -ldl)
  63. else
  64. (cd $(WRKBUILD); ./Configure $(HOSTCONFIG) --prefix='$(STAGING_HOST_DIR)/usr')
  65. endif
  66. host-build:
  67. (cd $(WRKBUILD); make)
  68. openssl-hostinstall:
  69. (cd $(WRKBUILD); make install)
  70. do-configure:
  71. (cd $(WRKBUILD); \
  72. PATH='$(TARGET_PATH)' \
  73. CROSS_COMPILE='' \
  74. CFLAGS="$(TARGET_CFLAGS)" \
  75. LDFLAGS="$(TARGET_LDFLAGS) -latomic" \
  76. ./Configure $(CONFIG) \
  77. --prefix=/usr \
  78. --openssldir=/etc/ssl \
  79. -I$(STAGING_TARGET_DIR)/usr/include \
  80. -L$(STAGING_TARGET_DIR)/usr/lib \
  81. -DOPENSSL_SMALL_FOOTPRINT \
  82. -DOPENSSL_NO_ASYNC \
  83. $(OPENSSL_OPTIONS) \
  84. );
  85. #$(SED) "s:-O[0-9]:$(TARGET_CFLAGS) -fPIC:" $(WRKBUILD)/Makefile
  86. libopenssl-install:
  87. ${INSTALL_DIR} ${IDIR_LIBOPENSSL}/usr/lib
  88. ${CP} ${WRKINST}/usr/lib*/lib*.so* ${IDIR_LIBOPENSSL}/usr/lib
  89. chmod 644 ${IDIR_LIBOPENSSL}/usr/lib/lib*.so*
  90. openssl-util-install:
  91. ${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/usr/bin
  92. ${CP} ${WRKINST}/usr/bin/openssl ${IDIR_OPENSSL_UTIL}/usr/bin
  93. ${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/etc/ssl/{,certs,private}
  94. ${CP} ${WRKSRC}/apps/openssl.cnf ${IDIR_OPENSSL_UTIL}/etc/ssl/
  95. chmod 0700 ${IDIR_OPENSSL_UTIL}/etc/ssl/private
  96. include $(ADK_TOPDIR)/mk/host-bottom.mk
  97. include $(ADK_TOPDIR)/mk/pkg-bottom.mk