diff options
Diffstat (limited to 'package/libs/wolfssl/Makefile')
-rw-r--r-- | package/libs/wolfssl/Makefile | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/package/libs/wolfssl/Makefile b/package/libs/wolfssl/Makefile new file mode 100644 index 0000000..e849816 --- /dev/null +++ b/package/libs/wolfssl/Makefile @@ -0,0 +1,140 @@ +# +# Copyright (C) 2006-2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=wolfssl +PKG_VERSION:=3.10.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip +PKG_SOURCE_URL:=https://www.wolfssl.com/ +PKG_HASH:=66f7f2a8b8ee37d6b4beab3cb0dcb6a6980fd4674373bfd3bf1214b9d0d2c02e + +PKG_FIXUP:=libtool +PKG_INSTALL:=1 +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 +PKG_LICENSE:=GPL-2.0+ + +include $(INCLUDE_DIR)/package.mk + +define Package/libwolfssl + SECTION:=libs + SUBMENU:=SSL + CATEGORY:=Libraries + TITLE:=wolfSSL library + URL:=http://www.wolfssl.com/ + MENU:=1 + PROVIDES:=libcyassl +endef + +define Package/libwolfssl/description +wolfSSL (formerly CyaSSL) is an SSL library optimized for small +footprint, both on disk and for memory use. +endef + +define Package/libwolfssl/config + source "$(SOURCE)/Config.in" +endef + +TARGET_CFLAGS += $(FPIC) + +# --enable-stunnel needed for OpenSSL API compatibility bits +CONFIGURE_ARGS += \ + --enable-opensslextra \ + --enable-sni \ + --enable-stunnel \ + --disable-examples + +ifeq ($(CONFIG_IPV6),y) +CONFIGURE_ARGS += \ + --enable-ipv6 +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_AES_CCM),y) +CONFIGURE_ARGS += \ + --enable-aesccm +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_AES_GCM),y) +CONFIGURE_ARGS += \ + --enable-aesgcm +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_CHACHA),y) +CONFIGURE_ARGS += \ + --enable-chacha +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_ECC),y) +CONFIGURE_ARGS += \ + --enable-ecc \ + --enable-supportedcurves +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_DH),y) +CONFIGURE_ARGS += \ + --enable-dh +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_ARC4),n) +CONFIGURE_ARGS += \ + --disable-arc4 +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_DES3),y) +CONFIGURE_ARGS += \ + --disable-des3 +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_PSK),y) +CONFIGURE_ARGS += \ + --enable-psk +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_DTLS),y) +CONFIGURE_ARGS += \ + --enable-dtls +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_ECC25519),y) +CONFIGURE_ARGS += \ + --enable-ecc25519 +endif + +ifeq ($(CONFIG_WOLFSSL_HAS_POLY1305),y) +CONFIGURE_ARGS += \ + --enable-poly1305 +endif + +#ifneq ($(CONFIG_TARGET_x86),) +# CONFIGURE_ARGS += --enable-intelasm +#endif +#ifneq ($(CONFIG_TARGET_x86_64),) +# CONFIGURE_ARGS += --enable-intelasm +#endif + +define Build/InstallDev + $(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/libwolfssl/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwolfssl.so* $(1)/usr/lib/ + ln -s libwolfssl.so $(1)/usr/lib/libcyassl.so +endef + +$(eval $(call BuildPackage,libwolfssl)) |