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