1 # 2 # Copyright (C) 2020-2023 Jo-Philipp Wich <jo@mein.io> 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:=ucode 11 PKG_VERSION:=$(if $(DUMP),x,$(shell git log -1 --date=format:"%Y-%m-%d" --format=%cd)) 12 PKG_ABI_VERSION:=$(if $(DUMP),x,$(shell git log -1 --date=format:"%Y%m%d" --format=%cd)) 13 14 include $(INCLUDE_DIR)/package.mk 15 include $(INCLUDE_DIR)/host-build.mk 16 include $(INCLUDE_DIR)/cmake.mk 17 18 CMAKE_SOURCE_DIR=$(CURDIR)/../../ 19 CMAKE_OPTIONS += -DSOVERSION=$(PKG_ABI_VERSION) 20 CMAKE_HOST_OPTIONS += \ 21 -DSOVERSION=$(PKG_ABI_VERSION) \ 22 -DBUILD_OPTIMIZE_SIZE=OFF \ 23 -DFS_SUPPORT=ON \ 24 -DMATH_SUPPORT=ON \ 25 -DNL80211_SUPPORT=OFF \ 26 -DRESOLV_SUPPORT=OFF \ 27 -DRTNL_SUPPORT=OFF \ 28 -DSTRUCT_SUPPORT=ON \ 29 -DUBUS_SUPPORT=OFF \ 30 -DUCI_SUPPORT=OFF \ 31 -DULOOP_SUPPORT=OFF 32 33 34 define Package/ucode/default 35 SUBMENU:=ucode 36 SECTION:=lang 37 CATEGORY:=Languages 38 TITLE:=Tiny scripting and templating language 39 endef 40 41 define Package/ucode 42 $(Package/ucode/default) 43 DEPENDS:=+libucode 44 endef 45 46 define Package/ucode/description 47 ucode is a tiny script interpreter featuring an ECMAScript oriented 48 script language and Jinja-inspired templating. 49 endef 50 51 52 define Package/libucode 53 $(Package/ucode/default) 54 SUBMENU:= 55 SECTION:=libs 56 CATEGORY:=Libraries 57 TITLE+= (library) 58 ABI_VERSION:=$(PKG_ABI_VERSION) 59 DEPENDS:=+libjson-c 60 endef 61 62 define Package/libucode/description 63 The libucode package provides the shared runtime library for the ucode interpreter. 64 endef 65 66 67 define Package/ucode-mod-fs 68 $(Package/ucode/default) 69 TITLE+= (filesystem module) 70 DEPENDS:=ucode 71 endef 72 73 define Package/ucode-mod-fs/description 74 The filesystem plugin module allows interaction with the local file system. 75 endef 76 77 78 define Package/ucode-mod-math 79 $(Package/ucode/default) 80 TITLE+= (math module) 81 DEPENDS:=ucode 82 endef 83 84 define Package/ucode-mod-math/description 85 The math plugin provides access to various <math.h> procedures. 86 endef 87 88 89 define Package/ucode-mod-nl80211 90 $(Package/ucode/default) 91 TITLE+= (nl80211 module) 92 DEPENDS:=ucode +libnl-tiny +libubox 93 endef 94 95 define Package/ucode-mod-nl80211/description 96 The nl80211 plugin provides access to the Linux wireless 802.11 netlink API. 97 endef 98 99 100 define Package/ucode-mod-resolv 101 $(Package/ucode/default) 102 TITLE+= (resolv module) 103 DEPENDS:=ucode 104 endef 105 106 define Package/ucode-mod-resolv/description 107 The resolv plugin implements simple DNS resolving. 108 endef 109 110 111 define Package/ucode-mod-rtnl 112 $(Package/ucode/default) 113 TITLE+= (rtnl module) 114 DEPENDS:=ucode +libnl-tiny +libubox 115 endef 116 117 define Package/ucode-mod-rtnl/description 118 The rtnl plugin provides access to the Linux routing netlink API. 119 endef 120 121 122 define Package/ucode-mod-struct 123 $(Package/ucode/default) 124 TITLE+= (struct module) 125 DEPENDS:=ucode 126 endef 127 128 define Package/ucode-mod-struct/description 129 The struct plugin implements Python 3 compatible struct.pack/unpack functionality. 130 endef 131 132 133 define Package/ucode-mod-ubus 134 $(Package/ucode/default) 135 TITLE+= (ubus module) 136 DEPENDS:=ucode +libubus +libblobmsg-json 137 endef 138 139 define Package/ucode-mod-ubus/description 140 The ubus module allows ucode template scripts to enumerate and invoke ubus 141 procedures. 142 endef 143 144 145 define Package/ucode-mod-uci 146 $(Package/ucode/default) 147 TITLE+= (uci module) 148 DEPENDS:=ucode +libuci 149 endef 150 151 define Package/ucode-mod-uci/description 152 The uci module allows templates to read and modify uci configuration. 153 endef 154 155 156 define Package/ucode-mod-uloop 157 $(Package/ucode/default) 158 TITLE+= (uloop module) 159 DEPENDS:=ucode +libubox 160 endef 161 162 define Package/ucode-mod-uloop/description 163 The uloop module allows ucode scripts to interact with OpenWrt uloop event 164 loop implementation. 165 endef 166 167 168 define Build/InstallDev 169 $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include/ucode 170 $(CP) $(PKG_INSTALL_DIR)/usr/include/ucode/*.h $(1)/usr/include/ucode/ 171 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucode.so* $(1)/usr/lib/ 172 endef 173 174 175 define Package/ucode/install 176 $(INSTALL_DIR) $(1)/usr/bin 177 $(CP) $(PKG_INSTALL_DIR)/usr/bin/u* $(1)/usr/bin/ 178 endef 179 180 define Package/libucode/install 181 $(INSTALL_DIR) $(1)/usr/lib 182 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucode.so.* $(1)/usr/lib/ 183 endef 184 185 define Package/ucode-mod-fs/install 186 $(INSTALL_DIR) $(1)/usr/lib/ucode 187 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/fs.so $(1)/usr/lib/ucode/ 188 endef 189 190 define Package/ucode-mod-math/install 191 $(INSTALL_DIR) $(1)/usr/lib/ucode 192 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/math.so $(1)/usr/lib/ucode/ 193 endef 194 195 define Package/ucode-mod-nl80211/install 196 $(INSTALL_DIR) $(1)/usr/lib/ucode 197 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/nl80211.so $(1)/usr/lib/ucode/ 198 endef 199 200 define Package/ucode-mod-resolv/install 201 $(INSTALL_DIR) $(1)/usr/lib/ucode 202 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/resolv.so $(1)/usr/lib/ucode/ 203 endef 204 205 define Package/ucode-mod-rtnl/install 206 $(INSTALL_DIR) $(1)/usr/lib/ucode 207 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/rtnl.so $(1)/usr/lib/ucode/ 208 endef 209 210 define Package/ucode-mod-struct/install 211 $(INSTALL_DIR) $(1)/usr/lib/ucode 212 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/struct.so $(1)/usr/lib/ucode/ 213 endef 214 215 define Package/ucode-mod-ubus/install 216 $(INSTALL_DIR) $(1)/usr/lib/ucode 217 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/ubus.so $(1)/usr/lib/ucode/ 218 endef 219 220 define Package/ucode-mod-uci/install 221 $(INSTALL_DIR) $(1)/usr/lib/ucode 222 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/uci.so $(1)/usr/lib/ucode/ 223 endef 224 225 define Package/ucode-mod-uloop/install 226 $(INSTALL_DIR) $(1)/usr/lib/ucode 227 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/uloop.so $(1)/usr/lib/ucode/ 228 endef 229 230 $(eval $(call BuildPackage,libucode)) 231 $(eval $(call BuildPackage,ucode)) 232 $(eval $(call BuildPackage,ucode-mod-fs)) 233 $(eval $(call BuildPackage,ucode-mod-math)) 234 $(eval $(call BuildPackage,ucode-mod-nl80211)) 235 $(eval $(call BuildPackage,ucode-mod-resolv)) 236 $(eval $(call BuildPackage,ucode-mod-rtnl)) 237 $(eval $(call BuildPackage,ucode-mod-struct)) 238 $(eval $(call BuildPackage,ucode-mod-ubus)) 239 $(eval $(call BuildPackage,ucode-mod-uci)) 240 $(eval $(call BuildPackage,ucode-mod-uloop)) 241 $(eval $(call HostBuild))
This page was automatically generated by LXR 0.3.1. • OpenWrt