libs/cyassl: Enable multithreading, drop stunnel
[openwrt/openwrt.git] / package / libs / cyassl / Makefile
1 #
2 # Copyright (C) 2006-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=wolfssl
11 PKG_VERSION:=3.9.10
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
15 PKG_SOURCE_URL:=https://www.wolfssl.com/
16 PKG_HASH:=793921c0db96248be4a369cbfdf0cb7b37ee2be715b8b775b6cd32efe66f494e
17
18 PKG_FIXUP:=libtool
19 PKG_INSTALL:=1
20 PKG_BUILD_PARALLEL:=1
21 PKG_LICENSE:=GPL-2.0+
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/libcyassl
26 SECTION:=libs
27 SUBMENU:=SSL
28 CATEGORY:=Libraries
29 TITLE:=CyaSSL library
30 URL:=http://www.wolfssl.com/
31 MENU:=1
32 endef
33
34 define Package/libcyassl/description
35 CyaSSL is an SSL library optimized for small footprint, both on disk and for
36 memory use.
37 endef
38
39 define Package/libcyassl/config
40 source "$(SOURCE)/Config.in"
41 endef
42
43 TARGET_CFLAGS += $(FPIC)
44
45 CONFIGURE_ARGS += \
46 --enable-opensslextra \
47 --enable-sni \
48 --disable-examples
49
50 ifeq ($(CONFIG_IPV6),y)
51 CONFIGURE_ARGS += \
52 --enable-ipv6
53 endif
54
55 ifeq ($(CONFIG_CYASSL_HAS_AES_CCM),y)
56 CONFIGURE_ARGS += \
57 --enable-aesccm
58 endif
59
60 ifeq ($(CONFIG_CYASSL_HAS_AES_GCM),y)
61 CONFIGURE_ARGS += \
62 --enable-aesgcm
63 endif
64
65 ifeq ($(CONFIG_CYASSL_HAS_CHACHA),y)
66 CONFIGURE_ARGS += \
67 --enable-chacha
68 endif
69
70 ifeq ($(CONFIG_CYASSL_HAS_ECC),y)
71 CONFIGURE_ARGS += \
72 --enable-ecc \
73 --enable-supportedcurves
74 endif
75
76 ifeq ($(CONFIG_CYASSL_HAS_DH),y)
77 CONFIGURE_ARGS += \
78 --enable-dh
79 endif
80
81 ifeq ($(CONFIG_CYASSL_HAS_ARC4),n)
82 CONFIGURE_ARGS += \
83 --disable-arc4
84 endif
85
86 ifeq ($(CONFIG_CYASSL_HAS_DES3),y)
87 CONFIGURE_ARGS += \
88 --disable-des3
89 endif
90
91 ifeq ($(CONFIG_CYASSL_HAS_PSK),y)
92 CONFIGURE_ARGS += \
93 --enable-psk
94 endif
95
96 ifeq ($(CONFIG_CYASSL_HAS_DTLS),y)
97 CONFIGURE_ARGS += \
98 --enable-dtls
99 endif
100
101 ifeq ($(CONFIG_CYASSL_HAS_ECC25519),y)
102 CONFIGURE_ARGS += \
103 --enable-ecc25519
104 endif
105
106 ifeq ($(CONFIG_CYASSL_HAS_POLY1305),y)
107 CONFIGURE_ARGS += \
108 --enable-poly1305
109 endif
110
111 #ifneq ($(CONFIG_TARGET_x86),)
112 # CONFIGURE_ARGS += --enable-intelasm
113 #endif
114 #ifneq ($(CONFIG_TARGET_x86_64),)
115 # CONFIGURE_ARGS += --enable-intelasm
116 #endif
117
118 define Build/InstallDev
119 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
120 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
121
122 $(INSTALL_DIR) $(1)/usr/lib
123 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.{so*,la} $(1)/usr/lib/
124 ln -s libwolfssl.so $(1)/usr/lib/libcyassl.so
125 ln -s libwolfssl.la $(1)/usr/lib/libcyassl.la
126
127 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
128 endef
129
130 define Package/libcyassl/install
131 $(INSTALL_DIR) $(1)/usr/lib
132 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.so* $(1)/usr/lib/
133 ln -s libwolfssl.so $(1)/usr/lib/libcyassl.so
134 endef
135
136 $(eval $(call BuildPackage,libcyassl))