2 # Copyright (C) 2006-2017 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
11 PKG_VERSION
:=4.5.0-stable
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=https
://github.com
/wolfSSL
/wolfssl
/archive
/v
$(PKG_VERSION
)
16 PKG_HASH
:=7de62300ce14daa0051bfefc7c4d6302f96cabc768b6ae49eda77523b118250c
22 PKG_LICENSE
:=GPL-2.0
-or-later
23 PKG_LICENSE_FILES
:=LICENSING COPYING
24 PKG_MAINTAINER
:=Eneas U de Queiroz
<cotequeiroz@gmail.com
>
25 PKG_CPE_ID
:=cpe
:/a
:wolfssl
:wolfssl
28 CONFIG_WOLFSSL_HAS_AES_CCM CONFIG_WOLFSSL_HAS_AFALG \
29 CONFIG_WOLFSSL_HAS_ARC4 CONFIG_WOLFSSL_HAS_CHACHA_POLY \
30 CONFIG_WOLFSSL_HAS_DEVCRYPTO_AES CONFIG_WOLFSSL_HAS_DEVCRYPTO_FULL \
31 CONFIG_WOLFSSL_HAS_DH CONFIG_WOLFSSL_HAS_DTLS \
32 CONFIG_WOLFSSL_HAS_ECC25519 CONFIG_WOLFSSL_HAS_OCSP \
33 CONFIG_WOLFSSL_HAS_SESSION_TICKET CONFIG_WOLFSSL_HAS_TLSV10 \
34 CONFIG_WOLFSSL_HAS_TLSV13 CONFIG_WOLFSSL_HAS_WPAS CONFIG_WOLFSSL_HAS_CERTGEN
36 include $(INCLUDE_DIR
)/package.mk
38 define Package
/libwolfssl
42 TITLE
:=wolfSSL library
43 URL
:=http
://www.wolfssl.com
/
46 DEPENDS
:=+WOLFSSL_HAS_DEVCRYPTO
:kmod-cryptodev
+WOLFSSL_HAS_AFALG
:kmod-crypto-user
50 define Package
/libwolfssl
/description
51 wolfSSL
(formerly CyaSSL
) is an SSL library optimized for small
52 footprint
, both on disk and for memory use.
55 define Package
/libwolfssl
/config
56 source
"$(SOURCE)/Config.in"
59 TARGET_CFLAGS
+= $(FPIC
) -DFP_MAX_BITS
=8192 -fomit-frame-pointer
61 # --enable-stunnel needed for OpenSSL API compatibility bits
63 --enable-opensslextra \
68 --$(if
$(CONFIG_IPV6
),enable
,disable
)-ipv6 \
69 --$(if
$(CONFIG_WOLFSSL_HAS_AES_CCM
),enable
,disable
)-aesccm \
70 --$(if
$(CONFIG_WOLFSSL_HAS_CERTGEN
),enable
,disable
)-certgen \
71 --$(if
$(CONFIG_WOLFSSL_HAS_CHACHA_POLY
),enable
,disable
)-chacha \
72 --$(if
$(CONFIG_WOLFSSL_HAS_CHACHA_POLY
),enable
,disable
)-poly1305 \
73 --$(if
$(CONFIG_WOLFSSL_HAS_DH
),enable
,disable
)-dh \
74 --$(if
$(CONFIG_WOLFSSL_HAS_ARC4
),enable
,disable
)-arc4 \
75 --$(if
$(CONFIG_WOLFSSL_HAS_TLSV10
),enable
,disable
)-tlsv10 \
76 --$(if
$(CONFIG_WOLFSSL_HAS_TLSV13
),enable
,disable
)-tls13 \
77 --$(if
$(CONFIG_WOLFSSL_HAS_SESSION_TICKET
),enable
,disable
)-session-ticket \
78 --$(if
$(CONFIG_WOLFSSL_HAS_DTLS
),enable
,disable
)-dtls \
79 --$(if
$(CONFIG_WOLFSSL_HAS_ECC25519
),enable
,disable
)-curve25519 \
80 --$(if
$(CONFIG_WOLFSSL_HAS_AFALG
),enable
,disable
)-afalg \
81 --enable-devcrypto
=$(if
$(CONFIG_WOLFSSL_HAS_DEVCRYPTO_CBC
),cbc\
82 ,$(if
$(CONFIG_WOLFSSL_HAS_DEVCRYPTO_AES
),aes\
83 ,$(if
$(CONFIG_WOLFSSL_HAS_DEVCRYPTO_FULL
),yes
,no
)))
85 ifeq ($(CONFIG_WOLFSSL_HAS_OCSP
),y
)
87 --enable-ocsp
--enable-ocspstapling
--enable-ocspstapling2
90 ifeq ($(CONFIG_WOLFSSL_HAS_WPAS
),y
)
92 --enable-wpas
--enable-sha512
--enable-fortress
--enable-fastmath
95 define Build
/InstallDev
96 $(INSTALL_DIR
) $(1)/usr
/include $(1)/usr
/lib
/pkgconfig
97 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
99 $(INSTALL_DIR
) $(1)/usr
/lib
100 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libwolfssl.
{so
*,la
} $(1)/usr
/lib
/
101 ln
-s libwolfssl.so
$(1)/usr
/lib
/libcyassl.so
102 ln
-s libwolfssl.la
$(1)/usr
/lib
/libcyassl.la
104 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
107 define Package
/libwolfssl
/install
108 $(INSTALL_DIR
) $(1)/usr
/lib
109 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libwolfssl.so.
* $(1)/usr
/lib
/
112 $(eval
$(call BuildPackage
,libwolfssl
))