6df5a661d2f2776b88afe44e74ae4d4e5a362b15
[feed/packages.git] / lang / lua-eco / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=lua-eco
4 PKG_VERSION:=1.0.0
5 PKG_RELEASE:=3
6
7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
8 PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION)
9 PKG_HASH:=d9fd04acb4bd64f47a3a3e6a8d30ee1d0860221c5798ca528cf52260470b4155
10
11 PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
12 PKG_LICENSE:=MIT
13 PKG_LICENSE_FILES:=LICENSE
14
15 PKG_CONFIG_DEPENDS:= \
16 LUA_ECO_OPENSSL \
17 LUA_ECO_WOLFSSL \
18 LUA_ECO_MBEDTLS
19
20 include $(INCLUDE_DIR)/package.mk
21 include $(INCLUDE_DIR)/cmake.mk
22
23 define Package/lua-eco
24 TITLE:=A Lua coroutine library
25 SECTION:=lang
26 CATEGORY:=Languages
27 SUBMENU:=Lua
28 URL:=https://github.com/zhaojh329/lua-eco
29 DEPENDS:=+libev
30 endef
31
32 define Package/lua-eco/description
33 Lua-eco is a Lua coroutine library which was implemented based on IO event.
34 endef
35
36 define Package/lua-eco/Module
37 TITLE:=$1 support for lua-eco
38 SECTION:=lang
39 CATEGORY:=Languages
40 SUBMENU:=Lua
41 URL:=https://github.com/zhaojh329/lua-eco
42 DEPENDS:=+lua-eco $2
43 endef
44
45 Package/lua-eco-log=$(call Package/lua-eco/Module,Log utils)
46 Package/lua-eco-sys=$(call Package/lua-eco/Module,System utils)
47 Package/lua-eco-dns=$(call Package/lua-eco/Module,DNS)
48 Package/lua-eco-socket=$(call Package/lua-eco/Module,Socket)
49 Package/lua-eco-ssl=$(call Package/lua-eco/Module,SSL,\
50 @(PACKAGE_libopenssl||PACKAGE_libwolfssl||PACKAGE_libmbedtls) \
51 LUA_ECO_OPENSSL:libopenssl LUA_ECO_WOLFSSL:libwolfssl \
52 LUA_ECO_MBEDTLS:libmbedtls +LUA_ECO_MBEDTLS:zlib)
53 Package/lua-eco-iw=$(call Package/lua-eco/Module,IW utils,+libmnl)
54 Package/lua-eco-ip=$(call Package/lua-eco/Module,IP utils,+libmnl)
55 Package/lua-eco-file=$(call Package/lua-eco/Module,File utils)
56 Package/lua-eco-ubus=$(call Package/lua-eco/Module,Ubus,+libubus)
57
58 define Package/lua-eco-ssl/config
59 config LUA_ECO_DEFAULT_WOLFSSL
60 bool
61 default y if PACKAGE_libopenssl != y && \
62 (PACKAGE_libwolfssl >= PACKAGE_libopenssl || \
63 PACKAGE_libwolfsslcpu-crypto >= PACKAGE_libopenssl) && \
64 (PACKAGE_libwolfssl >= PACKAGE_libmbedtls || \
65 PACKAGE_libwolfsslcpu-crypto >= PACKAGE_libmbedtls)
66
67 config LUA_ECO_DEFAULT_OPENSSL
68 bool
69 default y if !LUA_ECO_DEFAULT_WOLFSSL && \
70 PACKAGE_libopenssl >= PACKAGE_libmbedtls
71
72 config LUA_ECO_DEFAULT_MBEDTLS
73 bool
74 default y if !LUA_ECO_DEFAULT_WOLFSSL && \
75 !LUA_ECO_DEFAULT_OPENSSL
76
77 choice
78 prompt "SSL Library"
79 default LUA_ECO_OPENSSL if LUA_ECO_DEFAULT_OPENSSL
80 default LUA_ECO_WOLFSSL if LUA_ECO_DEFAULT_WOLFSSL
81 default LUA_ECO_MBEDTLS if LUA_ECO_DEFAULT_MBEDTLS
82 config LUA_ECO_OPENSSL
83 bool "OpenSSL"
84 depends on PACKAGE_libopenssl
85 config LUA_ECO_WOLFSSL
86 bool "wolfSSL"
87 depends on PACKAGE_libwolfssl || PACKAGE_libwolfsslcpu-crypto
88 config LUA_ECO_MBEDTLS
89 bool "mbedTLS"
90 depends on PACKAGE_libmbedtls
91 endchoice
92 endef
93
94 CMAKE_OPTIONS += \
95 -DECO_LOG_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-log),N,FF) \
96 -DECO_SYS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-sys),N,FF) \
97 -DECO_DNS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-dns),N,FF) \
98 -DECO_SOCKET_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-socket),N,FF) \
99 -DECO_IW_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-iw),N,FF) \
100 -DECO_IP_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ip),N,FF) \
101 -DECO_FILE_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-file),N,FF) \
102 -DECO_UBUS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ubus),N,FF) \
103 -DECO_SSL_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ssl),N,FF)
104
105 ifneq ($(CONFIG_PACKAGE_lua-eco-ssl),)
106 ifneq ($(CONFIG_LUA_ECO_OPENSSL),)
107 CMAKE_OPTIONS += -DUSE_OPENSSL=ON
108 else ifneq ($(CONFIG_LUA_ECO_WOLFSSL),)
109 CMAKE_OPTIONS += -DUSE_WOLFSSL=ON
110 else ifneq ($(CONFIG_LUA_ECO_MBEDTLS),)
111 CMAKE_OPTIONS += -DUSE_MBEDTLS=ON
112 endif
113 endif
114
115 define Package/lua-eco/install
116 $(INSTALL_DIR) $(1)/usr/lib/lua
117 $(INSTALL_BIN) $(PKG_BUILD_DIR)/eco.so $(1)/usr/lib/lua
118 endef
119
120 define Package/lua-eco/Module/install
121 $(INSTALL_DIR) $(1)/usr/lib/lua/eco
122 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$2.so $(1)/usr/lib/lua/eco
123 endef
124
125 Package/lua-eco-log/install=$(call Package/lua-eco/Module/install,$1,log)
126 Package/lua-eco-sys/install=$(call Package/lua-eco/Module/install,$1,sys)
127 Package/lua-eco-dns/install=$(call Package/lua-eco/Module/install,$1,dns)
128 Package/lua-eco-socket/install=$(call Package/lua-eco/Module/install,$1,socket)
129 Package/lua-eco-ssl/install=$(call Package/lua-eco/Module/install,$1,ssl)
130 Package/lua-eco-iw/install=$(call Package/lua-eco/Module/install,$1,iw)
131 Package/lua-eco-ip/install=$(call Package/lua-eco/Module/install,$1,ip)
132 Package/lua-eco-file/install=$(call Package/lua-eco/Module/install,$1,file)
133 Package/lua-eco-ubus/install=$(call Package/lua-eco/Module/install,$1,ubus)
134
135 $(eval $(call BuildPackage,lua-eco))
136 $(eval $(call BuildPackage,lua-eco-log))
137 $(eval $(call BuildPackage,lua-eco-sys))
138 $(eval $(call BuildPackage,lua-eco-dns))
139 $(eval $(call BuildPackage,lua-eco-socket))
140 $(eval $(call BuildPackage,lua-eco-ssl))
141 $(eval $(call BuildPackage,lua-eco-iw))
142 $(eval $(call BuildPackage,lua-eco-ip))
143 $(eval $(call BuildPackage,lua-eco-file))
144 $(eval $(call BuildPackage,lua-eco-ubus))