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