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
:=5.3.0-stable
12 PKG_RELEASE
:=$(AUTORELEASE
)
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
:=1a3bb310dc01d3e73d9ad91b6ea8249d081016f8eef4ae8f21d3421f91ef1de9
18 PKG_FIXUP
:=libtool libtool-abiver
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 \
29 CONFIG_WOLFSSL_HAS_ARC4 \
30 CONFIG_WOLFSSL_HAS_CERTGEN \
31 CONFIG_WOLFSSL_HAS_CHACHA_POLY \
32 CONFIG_WOLFSSL_HAS_DH \
33 CONFIG_WOLFSSL_HAS_DTLS \
34 CONFIG_WOLFSSL_HAS_ECC25519 \
35 CONFIG_WOLFSSL_HAS_OCSP \
36 CONFIG_WOLFSSL_HAS_OPENVPN CONFIG_WOLFSSL_ALT_NAMES \
37 CONFIG_WOLFSSL_HAS_SESSION_TICKET \
38 CONFIG_WOLFSSL_HAS_TLSV10 \
39 CONFIG_WOLFSSL_HAS_TLSV13 \
40 CONFIG_WOLFSSL_HAS_WPAS
42 PKG_ABI_VERSION
:=$(patsubst %-stable
,%,$(PKG_VERSION
)).
$(call version_abbrev
,$(call confvar
,$(PKG_CONFIG_DEPENDS
)))
45 CONFIG_WOLFSSL_HAS_AFALG \
46 CONFIG_WOLFSSL_HAS_CPU_CRYPTO \
47 CONFIG_WOLFSSL_HAS_DEVCRYPTO_AES \
48 CONFIG_WOLFSSL_HAS_DEVCRYPTO_CBC \
49 CONFIG_WOLFSSL_HAS_DEVCRYPTO_FULL
52 # libwolfssl-benchmark should NOT be compiled as nonshared but
53 # currently there is a bug where on buildbot stage2 the package
54 # is recompiled to build libwolfssl-benchmark and the dependency
55 # change to the new libwolfssl version. While this gets
56 # investigated, set the nonshared flag global
60 include $(INCLUDE_DIR
)/package.mk
62 define Package
/libwolfssl
/Default
66 URL
:=http
://www.wolfssl.com
/
69 define Package
/libwolfssl
70 $(call Package
/libwolfssl
/Default
)
71 TITLE
:=wolfSSL library
74 DEPENDS
:=+WOLFSSL_HAS_DEVCRYPTO
:kmod-cryptodev
+WOLFSSL_HAS_AFALG
:kmod-crypto-user
75 ABI_VERSION
:=$(PKG_ABI_VERSION
)
78 define Package
/libwolfssl
/description
79 wolfSSL
(formerly CyaSSL
) is an SSL library optimized for small
80 footprint
, both on disk and for memory use.
83 define Package
/libwolfssl
/config
84 source
"$(SOURCE)/Config.in"
87 define Package
/libwolfssl-benchmark
88 $(call Package
/libwolfssl
/Default
)
89 TITLE
:=wolfSSL Benchmark Utility
93 define Package
/libwolfssl-benchmark
/description
94 This is the wolfssl benchmark utility.
99 -fomit-frame-pointer \
102 $(if
$(CONFIG_WOLFSSL_ALT_NAMES
),-DWOLFSSL_ALT_NAMES
)
104 TARGET_LDFLAGS
+= -flto
106 # --enable-stunnel needed for OpenSSL API compatibility bits
108 --enable-reproducible-build \
110 --enable-opensslall \
111 --enable-opensslextra \
114 --enable-altcertchains \
115 --$(if
$(CONFIG_PACKAGE_libwolfssl-benchmark
),enable
,disable
)-crypttests \
117 --disable-jobserver \
118 --$(if
$(CONFIG_IPV6
),enable
,disable
)-ipv6 \
119 --$(if
$(CONFIG_WOLFSSL_HAS_AES_CCM
),enable
,disable
)-aesccm \
120 --$(if
$(CONFIG_WOLFSSL_HAS_CERTGEN
),enable
,disable
)-certgen \
121 --$(if
$(CONFIG_WOLFSSL_HAS_CHACHA_POLY
),enable
,disable
)-chacha \
122 --$(if
$(CONFIG_WOLFSSL_HAS_CHACHA_POLY
),enable
,disable
)-poly1305 \
123 --$(if
$(CONFIG_WOLFSSL_HAS_DH
),enable
,disable
)-dh \
124 --$(if
$(CONFIG_WOLFSSL_HAS_ARC4
),enable
,disable
)-arc4 \
125 --$(if
$(CONFIG_WOLFSSL_HAS_TLSV10
),enable
,disable
)-tlsv10 \
126 --$(if
$(CONFIG_WOLFSSL_HAS_TLSV13
),enable
,disable
)-tls13 \
127 --$(if
$(CONFIG_WOLFSSL_HAS_SESSION_TICKET
),enable
,disable
)-session-ticket \
128 --$(if
$(CONFIG_WOLFSSL_HAS_DTLS
),enable
,disable
)-dtls \
129 --$(if
$(CONFIG_WOLFSSL_HAS_ECC25519
),enable
,disable
)-curve25519 \
130 --$(if
$(CONFIG_WOLFSSL_HAS_AFALG
),enable
,disable
)-afalg \
131 --$(if
$(CONFIG_WOLFSSL_HAS_OPENVPN
),enable
,disable
)-openvpn \
132 --enable-devcrypto
=$(if
$(CONFIG_WOLFSSL_HAS_DEVCRYPTO_CBC
),cbc\
133 ,$(if
$(CONFIG_WOLFSSL_HAS_DEVCRYPTO_AES
),aes\
134 ,$(if
$(CONFIG_WOLFSSL_HAS_DEVCRYPTO_FULL
),yes
,no
)))
136 ifeq ($(CONFIG_WOLFSSL_HAS_OCSP
),y
)
138 --enable-ocsp
--enable-ocspstapling
--enable-ocspstapling2
141 ifeq ($(CONFIG_WOLFSSL_HAS_WPAS
),y
)
143 --enable-wpas
--enable-fortress
--enable-fastmath
146 ifdef CONFIG_WOLFSSL_HAS_CPU_CRYPTO
148 CONFIGURE_ARGS
+= --enable-armasm
149 TARGET_CFLAGS
:=$(TARGET_CFLAGS
:-mcpu
%=-mcpu
%+crypto
)
150 else ifdef CONFIG_TARGET_x86_64
151 CONFIGURE_ARGS
+= --enable-intelasm
155 define Build
/InstallDev
156 $(INSTALL_DIR
) $(1)/usr
/include $(1)/usr
/lib
/pkgconfig
157 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
159 $(INSTALL_DIR
) $(1)/usr
/lib
160 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libwolfssl.
{so
*,la
} $(1)/usr
/lib
/
161 ln
-s libwolfssl.so
$(1)/usr
/lib
/libcyassl.so
162 ln
-s libwolfssl.la
$(1)/usr
/lib
/libcyassl.la
164 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
167 define Package
/libwolfssl
/install
168 $(INSTALL_DIR
) $(1)/usr
/lib
169 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libwolfssl.so.
* $(1)/usr
/lib
/
172 define Package
/libwolfssl-benchmark
/install
173 $(INSTALL_DIR
) $(1)/usr
/bin
174 $(CP
) $(PKG_BUILD_DIR
)/wolfcrypt
/benchmark
/.libs
/benchmark
$(1)/usr
/bin
/wolfssl-benchmark
177 $(eval
$(call BuildPackage
,libwolfssl
))
178 $(eval
$(call BuildPackage
,libwolfssl-benchmark
))