libuwsc: update to 3.3.2
[feed/packages.git] / libs / libuwsc / Makefile
1 #
2 # Copyright (C) 2018 Jianhui Zhao
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:=libuwsc
11 PKG_VERSION:=3.3.2
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL=https://github.com/zhaojh329/libuwsc/releases/download/v$(PKG_VERSION)
16 PKG_HASH:=bae2cd13eda86876ebcf99a38a069f5e8c01717713d2fec25031051b9c47624b
17 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
18
19 PKG_MAINTAINER:=Jianhui Zhao <jianhuizhao329@gmail.com>
20 PKG_LICENSE:=MIT
21 PKG_LICENSE_FILES:=LICENSE
22
23 PKG_BUILD_PARALLEL:=1
24 CMAKE_INSTALL:=1
25
26 PKG_CONFIG_DEPENDS:= \
27 CONFIG_LIBUWSC_openssl_LUA_BINDING \
28 CONFIG_LIBUWSC_wolfssl_LUA_BINDING \
29 CONFIG_LIBUWSC_mbedtls_LUA_BINDING \
30 CONFIG_LIBUWSC_nossl_LUA_BINDING
31
32 include $(INCLUDE_DIR)/package.mk
33 include $(INCLUDE_DIR)/cmake.mk
34
35 define Package/libuwsc/Default
36 SECTION:=libs
37 CATEGORY:=Libraries
38 SUBMENU:=Networking
39 TITLE:=A lightweight WebSocket client library based on libev
40 URL:=https://github.com/zhaojh329/libuwsc
41 DEPENDS:=+libev $(2)
42 VARIANT:=$(1)
43 PROVIDES:=libuwsc
44 endef
45
46 Package/libuwsc-openssl=$(call Package/libuwsc/Default,openssl,+PACKAGE_libuwsc-openssl:libopenssl)
47 Package/libuwsc-wolfssl=$(call Package/libuwsc/Default,wolfssl,+PACKAGE_libuwsc-wolfssl:libwolfssl)
48 Package/libuwsc-mbedtls=$(call Package/libuwsc/Default,mbedtls,+PACKAGE_libuwsc-mbedtls:libmbedtls)
49 Package/libuwsc-nossl=$(call Package/libuwsc/Default,nossl)
50
51 define Package/libuwsc/config
52 menu "Configuration"
53 depends on PACKAGE_libuwsc-$(1)
54
55 config LIBUWSC_$(1)_LUA_BINDING
56 bool
57 default n
58 prompt "Lua binding for libuwsc"
59 endmenu
60 endef
61
62 Package/libuwsc-openssl/config=$(call Package/libuwsc/config,openssl)
63 Package/libuwsc-wolfssl/config=$(call Package/libuwsc/config,wolfssl)
64 Package/libuwsc-mbedtls/config=$(call Package/libuwsc/config,mbedtls)
65 Package/libuwsc-nossl/config=$(call Package/libuwsc/config,nossl)
66
67 ifeq ($(BUILD_VARIANT),openssl)
68 CMAKE_OPTIONS += -DUWSC_USE_OPENSSL=ON
69 else ifeq ($(BUILD_VARIANT),wolfssl)
70 CMAKE_OPTIONS += -DUWSC_USE_WOLFSSL=ON
71 else ifeq ($(BUILD_VARIANT),mbedtls)
72 CMAKE_OPTIONS += -DUWSC_USE_MBEDTLS=ON
73 else
74 CMAKE_OPTIONS += -DUWSC_SSL_SUPPORT=OFF
75 endif
76
77 ifneq ($(CONFIG_LIBUWSC_$(BUILD_VARIANT)_LUA_BINDING),)
78 CMAKE_OPTIONS += -DUWSC_LUA_SUPPORT=ON
79 endif
80
81 define Package/libuwsc-$(BUILD_VARIANT)/install
82 $(INSTALL_DIR) $(1)/usr/lib
83 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libuwsc.so* $(1)/usr/lib/
84 ifneq ($(CONFIG_LIBUWSC_$(BUILD_VARIANT)_LUA_BINDING),)
85 $(INSTALL_DIR) $(1)/usr/lib/lua
86 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lua/uwsc.so $(1)/usr/lib/lua
87 endif
88 endef
89
90 $(eval $(call BuildPackage,libuwsc-openssl))
91 $(eval $(call BuildPackage,libuwsc-wolfssl))
92 $(eval $(call BuildPackage,libuwsc-mbedtls))
93 $(eval $(call BuildPackage,libuwsc-nossl))