cc5d7f7ae6b6beaeb535030195252015a0a679ed
[openwrt/staging/dedeckeh.git] / package / libs / libubox / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=libubox
4 PKG_RELEASE=2
5
6 PKG_SOURCE_PROTO:=git
7 PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git
8 PKG_MIRROR_HASH:=7dd1db1e0074a9c7c722db654cce3111b3bd3cff0bfd791c4497cb0f6c22d3ca
9 PKG_SOURCE_DATE:=2021-05-16
10 PKG_SOURCE_VERSION:=b14c4688612c05c78ce984d7bde633bce8703b1e
11 PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE))
12 CMAKE_INSTALL:=1
13
14 PKG_FLAGS := nonshared
15
16 PKG_LICENSE:=ISC
17 PKG_LICENSE_FILES:=
18
19 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
20
21 PKG_BUILD_DEPENDS:=lua
22 HOST_BUILD_DEPENDS:=libjson-c/host
23 HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
24
25 include $(INCLUDE_DIR)/package.mk
26 include $(INCLUDE_DIR)/host-build.mk
27 include $(INCLUDE_DIR)/cmake.mk
28
29 define Package/libubox
30 SECTION:=libs
31 CATEGORY:=Libraries
32 TITLE:=Basic utility library
33 ABI_VERSION:=$(PKG_ABI_VERSION)
34 DEPENDS:=
35 endef
36
37 define Package/libblobmsg-json
38 SECTION:=libs
39 CATEGORY:=Libraries
40 TITLE:=blobmsg <-> json conversion library
41 ABI_VERSION:=$(PKG_ABI_VERSION)
42 DEPENDS:=+libjson-c +libubox
43 endef
44
45 define Package/jshn
46 SECTION:=utils
47 CATEGORY:=Utilities
48 DEPENDS:=+libjson-c +libubox +libblobmsg-json
49 TITLE:=JSON SHell Notation
50 endef
51
52 define Package/jshn/description
53 Library for parsing and generating JSON from shell scripts
54 endef
55
56 define Package/libjson-script
57 SECTION:=utils
58 CATEGORY:=Utilities
59 DEPENDS:=+libubox
60 ABI_VERSION:=$(PKG_ABI_VERSION)
61 TITLE:=Minimalistic JSON based scripting engine
62 endef
63
64 define Package/libubox-lua
65 SECTION:=libs
66 CATEGORY:=Libraries
67 DEPENDS:=+libubox +liblua
68 TITLE:=Lua binding for the OpenWrt Basic utility library
69 endef
70
71 TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
72 CMAKE_OPTIONS += \
73 -DLUAPATH=/usr/lib/lua \
74 -DABIVERSION="$(PKG_ABI_VERSION)"
75
76 define Package/libubox/install
77 $(INSTALL_DIR) $(1)/lib/
78 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libubox.so.* $(1)/lib/
79 endef
80
81 define Package/libblobmsg-json/install
82 $(INSTALL_DIR) $(1)/lib/
83 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libblobmsg_json.so.* $(1)/lib/
84 endef
85
86 define Package/jshn/install
87 $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/share/libubox
88 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/jshn $(1)/usr/bin
89 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/libubox/jshn.sh $(1)/usr/share/libubox
90 endef
91
92 define Package/libjson-script/install
93 $(INSTALL_DIR) $(1)/lib/
94 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libjson_script.so.* $(1)/lib/
95 endef
96
97 define Package/libubox-lua/install
98 $(INSTALL_DIR) $(1)/usr/lib/lua
99 $(CP) $(PKG_BUILD_DIR)/lua/uloop.so $(1)/usr/lib/lua/
100 endef
101
102
103 CMAKE_HOST_OPTIONS += \
104 -DBUILD_LUA=OFF \
105 -DBUILD_EXAMPLES=OFF \
106 -DCMAKE_SKIP_RPATH=FALSE \
107 -DCMAKE_MACOSX_RPATH=1 \
108 -DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOST}/lib" \
109
110 $(eval $(call BuildPackage,libubox))
111 $(eval $(call BuildPackage,libblobmsg-json))
112 $(eval $(call BuildPackage,jshn))
113 $(eval $(call BuildPackage,libjson-script))
114 $(eval $(call BuildPackage,libubox-lua))
115 $(eval $(call HostBuild))