aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs
diff options
context:
space:
mode:
authorAndreas Schultz <aschultz@tpip.net>2016-08-20 12:52:42 +0200
committerDaniel Golle <daniel@makrotopia.org>2016-08-22 17:30:35 +0200
commit277f85c21ae0ede4e15e66cbd801b9fb502531df (patch)
tree5e2b9003124925ee0093296a80146714974aa74b /package/libs
parentdc765f64c59a3e4a2d751685aec1f7a9bc3f2195 (diff)
downloadupstream-277f85c21ae0ede4e15e66cbd801b9fb502531df.tar.gz
upstream-277f85c21ae0ede4e15e66cbd801b9fb502531df.tar.bz2
upstream-277f85c21ae0ede4e15e66cbd801b9fb502531df.zip
cyassl: make CyaSSL/WolfSSL more configurable
The default configuration might not be suitable for every use case. Add options to enable/disable additional options. Signed-off-by: Andreas Schultz <aschultz@tpip.net>
Diffstat (limited to 'package/libs')
-rw-r--r--package/libs/cyassl/Config.in49
-rw-r--r--package/libs/cyassl/Makefile70
2 files changed, 117 insertions, 2 deletions
diff --git a/package/libs/cyassl/Config.in b/package/libs/cyassl/Config.in
new file mode 100644
index 0000000000..e366ae51e3
--- /dev/null
+++ b/package/libs/cyassl/Config.in
@@ -0,0 +1,49 @@
+menu "Configuration"
+ depends on PACKAGE_libcyassl
+
+config CYASSL_HAS_AES_CCM
+ bool "Include AES-CCM support"
+ default y
+
+config CYASSL_HAS_AES_GCM
+ bool "Include AES-GCM support"
+ default y
+
+config CYASSL_HAS_CHACHA
+ bool "Include ChaCha cipher suite support"
+ default y
+
+config CYASSL_HAS_ECC
+ bool "Include ECC (Elliptic Curve Cryptography) support"
+ default y
+
+config CYASSL_HAS_DH
+ bool "Include DH (Diffie-Hellman) support"
+ default y
+
+config CYASSL_HAS_ARC4
+ bool "Include ARC4 support"
+ default n
+
+config CYASSL_HAS_DES3
+ bool "Include DES3 (Tripple-DES) support"
+ default n
+
+config CYASSL_HAS_PSK
+ bool "Include PKS (Pre Share Key) support"
+ default n
+
+config CYASSL_HAS_DTLS
+ bool "Include DTLS support"
+ default n
+
+config CYASSL_HAS_ECC25519
+ bool "Include ECC Curve 22519 support"
+ depends on CYASSL_HAS_ECC
+ default n
+
+config CYASSL_HAS_POLY_1305
+ bool "Include Poly-1305 support"
+ default n
+
+endmenu
diff --git a/package/libs/cyassl/Makefile b/package/libs/cyassl/Makefile
index 4e46751897..674bf27342 100644
--- a/package/libs/cyassl/Makefile
+++ b/package/libs/cyassl/Makefile
@@ -35,6 +35,10 @@ CyaSSL is an SSL library optimized for small footprint, both on disk and for
memory use.
endef
+define Package/libcyassl/config
+ source "$(SOURCE)/Config.in"
+endef
+
TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
@@ -42,9 +46,69 @@ CONFIGURE_ARGS += \
--enable-opensslextra \
--enable-sni \
--enable-stunnel \
- --enable-ecc \
--disable-examples
+ifeq ($(CONFIG_IPV6),y)
+CONFIGURE_ARGS += \
+ --enable-ipv6
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_AES_CCM),y)
+CONFIGURE_ARGS += \
+ --enable-aesccm
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_AES_GCM),y)
+CONFIGURE_ARGS += \
+ --enable-aesgcm
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_CHACHA),y)
+CONFIGURE_ARGS += \
+ --enable-chacha
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_ECC),y)
+CONFIGURE_ARGS += \
+ --enable-ecc \
+ --enable-supportedcurves
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_DH),y)
+CONFIGURE_ARGS += \
+ --enable-dh
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_ARC4),n)
+CONFIGURE_ARGS += \
+ --disable-arc4
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_DES3),y)
+CONFIGURE_ARGS += \
+ --disable-des3
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_PSK),y)
+CONFIGURE_ARGS += \
+ --enable-psk
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_DTLS),y)
+CONFIGURE_ARGS += \
+ --enable-dtls
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_ECC25519),y)
+CONFIGURE_ARGS += \
+ --enable-ecc25519
+endif
+
+ifeq ($(CONFIG_CYASSL_HAS_POLY1305),y)
+CONFIGURE_ARGS += \
+ --enable-poly1305
+endif
+
#ifneq ($(CONFIG_TARGET_x86),)
# CONFIGURE_ARGS += --enable-intelasm
#endif
@@ -53,13 +117,15 @@ CONFIGURE_ARGS += \
#endif
define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include
+ $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.{so*,la} $(1)/usr/lib/
ln -s libwolfssl.so $(1)/usr/lib/libcyassl.so
ln -s libwolfssl.la $(1)/usr/lib/libcyassl.la
+
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
endef
define Package/libcyassl/install