Makefile 2.9 KB

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