d11803ec6d2013dd3a214157fdd80a0cddbcb0a2
[feed/packages.git] / libs / libyang / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
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:=libyang
11 PKG_VERSION:=0.16-r3
12 PKG_RELEASE:=2
13
14 PKG_LICENSE:=GPL-2.0+
15 PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
16
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
18 PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libyang/tar.gz/v$(PKG_VERSION)?
19 PKG_HASH:=4745460dedc4ba17d8bcfc39ad9ba0d1b91bbe82b55b9417a090390909ba8ca5
20
21 CMAKE_INSTALL:=1
22
23 PKG_BUILD_PARALLEL:=1
24 PKG_INSTALL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/cmake.mk
28
29 define Package/libyang
30 SECTION:=libs
31 CATEGORY:=Libraries
32 TITLE:=YANG data modeling language library
33 URL:=$(PKG_SOURCE_URL)
34 DEPENDS:=+libpcre +libpthread
35 endef
36
37 define Package/yanglint
38 SECTION:=utils
39 CATEGORY:=Utilities
40 TITLE:=YANG data modeling language utility
41 URL:=$(PKG_SOURCE_URL)
42 DEPENDS:=+libyang
43 endef
44
45 define Package/libyang/description
46 libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
47 The library is used e.g. in libnetconf2, Netopeer2 or sysrepo projects.
48 endef
49
50 TARGET_LDFLAGS += -lm
51
52 CMAKE_OPTIONS += \
53 -DCMAKE_INSTALL_PREFIX:PATH=/usr \
54 -DENABLE_LYD_PRIV:BOOL=ON \
55 -DCMAKE_BUILD_TYPE:STRING=Release
56
57 define Build/InstallDev
58 $(INSTALL_DIR) $(1)/usr/lib
59 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libyang.so* $(1)/usr/lib/
60
61 $(INSTALL_DIR) $(1)/usr/include/libyang
62 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/include/libyang/* $(1)/usr/include/libyang/
63
64 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
65 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libyang.pc $(1)/usr/lib/pkgconfig/
66 endef
67
68 define Package/libyang/install
69 $(INSTALL_DIR) $(1)/usr/lib
70 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libyang.so* $(1)/usr/lib/
71
72 $(INSTALL_DIR) $(1)/usr/lib/libyang
73 $(INSTALL_DIR) $(1)/usr/lib/libyang/extensions
74 $(INSTALL_DIR) $(1)/usr/lib/libyang/user_types
75 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libyang/extensions/* $(1)/usr/lib/libyang/extensions
76 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libyang/user_types/* $(1)/usr/lib/libyang/user_types
77 endef
78
79 define Package/yanglint/install
80 $(INSTALL_DIR) $(1)/usr/bin
81 $(INSTALL_BIN) $(PKG_BUILD_DIR)/yanglint $(1)/usr/bin/
82 endef
83
84 $(eval $(call BuildPackage,libyang))
85 $(eval $(call BuildPackage,yanglint))