uci: add host build
[openwrt/staging/yousong.git] / package / system / uci / Makefile
1 #
2 # Copyright (C) 2008-2014 OpenWrt.org
3 # Copyright (C) 2016 LEDE project
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=uci
12 PKG_RELEASE:=2
13
14 PKG_SOURCE_URL=$(LEDE_GIT)/project/uci.git
15 PKG_SOURCE_PROTO:=git
16 PKG_SOURCE_DATE=2016-07-04
17 PKG_SOURCE_VERSION:=e1bf4356e1b513e158e1b5049147087ed6342cfd
18 PKG_MIRROR_HASH:=4994a10a9e15f71312502f8babf045da7cea18c64227b387fc2dcf64f2252f19
19
20 PKG_LICENSE:=LGPL-2.1
21 PKG_LICENSE_FILES:=
22
23 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
24
25 PKG_BUILD_PARALLEL:=0
26
27 HOST_BUILD_DEPENDS:=libubox/host
28
29 include $(INCLUDE_DIR)/package.mk
30 include $(INCLUDE_DIR)/host-build.mk
31 include $(INCLUDE_DIR)/cmake.mk
32
33 # set to 1 to enable debugging
34 DEBUG=
35
36 define Package/libuci
37 SECTION:=libs
38 CATEGORY:=Libraries
39 TITLE:=C library for the Unified Configuration Interface (UCI)
40 DEPENDS:=+libubox
41 endef
42
43 define Package/uci
44 SECTION:=base
45 CATEGORY:=Base system
46 DEPENDS:=+libuci
47 TITLE:=Utility for the Unified Configuration Interface (UCI)
48 endef
49
50 define Package/libuci-lua
51 SECTION=libs
52 CATEGORY=Libraries
53 DEPENDS:=+libuci +liblua
54 TITLE:=Lua plugin for UCI
55 endef
56
57 TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
58 TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib
59
60 CMAKE_OPTIONS = \
61 -DLUAPATH=/usr/lib/lua \
62 $(if $(DEBUG),-DUCI_DEBUG=ON)
63
64 CMAKE_HOST_OPTIONS += \
65 -DBUILD_STATIC=ON \
66 -DBUILD_LUA=OFF \
67
68 define Package/libuci/install
69 $(INSTALL_DIR) $(1)/lib
70 $(CP) $(PKG_BUILD_DIR)/libuci.so* $(1)/lib/
71 endef
72
73 define Package/libuci-lua/install
74 $(INSTALL_DIR) $(1)/usr/lib/lua
75 $(CP) $(PKG_BUILD_DIR)/lua/uci.so $(1)/usr/lib/lua/
76 endef
77
78 define Package/uci/install
79 $(INSTALL_DIR) $(1)/etc/uci-defaults
80 $(INSTALL_DIR) $(1)/sbin
81 $(INSTALL_BIN) $(PKG_BUILD_DIR)/uci $(1)/sbin/
82 $(CP) ./files/* $(1)/
83 endef
84
85 define Build/InstallDev
86 $(INSTALL_DIR) $(1)/usr/include
87 $(CP) $(PKG_BUILD_DIR)/uci{,_config,_blob,map}.h $(1)/usr/include
88 $(INSTALL_DIR) $(1)/usr/lib
89 $(CP) $(PKG_BUILD_DIR)/libuci.so* $(1)/usr/lib
90 $(CP) $(PKG_BUILD_DIR)/libucimap.a $(1)/usr/lib
91 endef
92
93 define Host/Install
94 $(INSTALL_DIR) $(STAGING_DIR_HOST)/sbin
95 $(INSTALL_BIN) $(HOST_BUILD_DIR)/uci $(STAGING_DIR_HOST)/sbin/uci
96 endef
97
98 $(eval $(call BuildPackage,uci))
99 $(eval $(call BuildPackage,libuci))
100 $(eval $(call BuildPackage,libuci-lua))
101 $(eval $(call HostBuild))