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