Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #
  2. # Copyright (C) 2006-2017 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=wolfssl
  9. PKG_VERSION:=3.12.0
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
  12. PKG_SOURCE_URL:=https://www.wolfssl.com/
  13. PKG_HASH:=5bb196056ac0086efbf07ecea7d3e73b1c31722eb52a88b85879f920428a9a0f
  14. PKG_FIXUP:=libtool
  15. PKG_INSTALL:=1
  16. PKG_USE_MIPS16:=0
  17. PKG_BUILD_PARALLEL:=1
  18. PKG_LICENSE:=GPL-2.0+
  19. include $(INCLUDE_DIR)/package.mk
  20. define Package/libwolfssl
  21. SECTION:=libs
  22. SUBMENU:=SSL
  23. CATEGORY:=Libraries
  24. TITLE:=wolfSSL library
  25. URL:=http://www.wolfssl.com/
  26. MAINTAINER:=Alexandru Ardelean <[email protected]>
  27. MENU:=1
  28. PROVIDES:=libcyassl
  29. endef
  30. define Package/libwolfssl/description
  31. wolfSSL (formerly CyaSSL) is an SSL library optimized for small
  32. footprint, both on disk and for memory use.
  33. endef
  34. define Package/libwolfssl/config
  35. source "$(SOURCE)/Config.in"
  36. endef
  37. TARGET_CFLAGS += $(FPIC)
  38. # --enable-stunnel needed for OpenSSL API compatibility bits
  39. CONFIGURE_ARGS += \
  40. --enable-opensslextra \
  41. --enable-sni \
  42. --enable-stunnel \
  43. --disable-examples
  44. ifeq ($(CONFIG_IPV6),y)
  45. CONFIGURE_ARGS += \
  46. --enable-ipv6
  47. endif
  48. ifeq ($(CONFIG_WOLFSSL_HAS_AES_CCM),y)
  49. CONFIGURE_ARGS += \
  50. --enable-aesccm
  51. endif
  52. ifneq ($(CONFIG_WOLFSSL_HAS_AES_GCM),y)
  53. CONFIGURE_ARGS += \
  54. --disable-aesgcm
  55. endif
  56. ifneq ($(CONFIG_WOLFSSL_HAS_CHACHA),y)
  57. CONFIGURE_ARGS += \
  58. --disable-chacha
  59. endif
  60. ifeq ($(CONFIG_WOLFSSL_HAS_ECC),y)
  61. CONFIGURE_ARGS += \
  62. --enable-ecc \
  63. --enable-supportedcurves
  64. endif
  65. ifneq ($(CONFIG_WOLFSSL_HAS_DH),y)
  66. CONFIGURE_ARGS += \
  67. --enable-dh
  68. endif
  69. ifeq ($(CONFIG_WOLFSSL_HAS_ARC4),n)
  70. CONFIGURE_ARGS += \
  71. --disable-arc4
  72. endif
  73. ifeq ($(CONFIG_WOLFSSL_HAS_DES3),y)
  74. CONFIGURE_ARGS += \
  75. --disable-des3
  76. endif
  77. ifeq ($(CONFIG_WOLFSSL_HAS_PSK),y)
  78. CONFIGURE_ARGS += \
  79. --enable-psk
  80. endif
  81. ifeq ($(CONFIG_WOLFSSL_HAS_DTLS),y)
  82. CONFIGURE_ARGS += \
  83. --enable-dtls
  84. endif
  85. ifeq ($(CONFIG_WOLFSSL_HAS_ECC25519),y)
  86. CONFIGURE_ARGS += \
  87. --enable-curve25519
  88. endif
  89. ifneq ($(CONFIG_WOLFSSL_HAS_POLY1305),y)
  90. CONFIGURE_ARGS += \
  91. --enable-poly1305
  92. endif
  93. #ifneq ($(CONFIG_TARGET_x86),)
  94. # CONFIGURE_ARGS += --enable-intelasm
  95. #endif
  96. #ifneq ($(CONFIG_TARGET_x86_64),)
  97. # CONFIGURE_ARGS += --enable-intelasm
  98. #endif
  99. define Build/InstallDev
  100. $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
  101. $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
  102. $(INSTALL_DIR) $(1)/usr/lib
  103. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.{so*,la} $(1)/usr/lib/
  104. ln -s libwolfssl.so $(1)/usr/lib/libcyassl.so
  105. ln -s libwolfssl.la $(1)/usr/lib/libcyassl.la
  106. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
  107. endef
  108. define Package/libwolfssl/install
  109. $(INSTALL_DIR) $(1)/usr/lib
  110. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.so* $(1)/usr/lib/
  111. ln -s libwolfssl.so $(1)/usr/lib/libcyassl.so
  112. endef
  113. $(eval $(call BuildPackage,libwolfssl))