74f3f349df7c378dc13a673690b5c03ac9e5e5a1
[openwrt.git] / package / libs / libmnl / Makefile
1 #
2 # Copyright (C) 2011-2012 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:=libmnl
11 PKG_VERSION:=1.0.3
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:= \
16         http://www.netfilter.org/projects/libmnl/files \
17         ftp://ftp.netfilter.org/pub/libmnl
18 PKG_MD5SUM:=7d95fc3bea3365bc03c48e484224f65f
19
20 PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
21
22 PKG_FIXUP:=autoreconf
23 PKG_INSTALL:=1
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/libmnl
28   SECTION:=libs
29   CATEGORY:=Libraries
30   TITLE:=Minimalistic user-space library for Netlink
31   URL:=http://www.netfilter.org/projects/libmnl/
32 endef
33
34 define Package/libmnl/description
35  libmnl is a minimalistic user-space library oriented to Netlink developers.
36  There are a lot of common tasks in parsing, validating, constructing of
37  both the Netlink header and TLVs that are repetitive and easy to get wrong.
38  This library aims to provide simple helpers that allows you to re-use code
39  and to avoid re-inventing the wheel. The main features of this library are:
40  .
41  * Small: the shared library requires around 30KB for an x86-based computer.
42  .
43  * Simple: this library avoids complexity and elaborated abstractions that
44    tend to hide Netlink details.
45  .
46  * Easy to use: the library simplifies the work for Netlink-wise developers.
47    It provides functions to make socket handling, message building, validating,
48    parsing and sequence tracking, easier.
49  .
50  * Easy to re-use: you can use the library to build your own abstraction layer
51    on top of this library.
52  .
53  * Decoupling: the interdependency of the main bricks that compose the library
54    is reduced, i.e. the library provides many helpers, but the programmer is not
55    forced to use them.
56 endef
57
58 CONFIGURE_ARGS+= \
59         --enable-shared \
60         --enable-static \
61
62 define Build/InstallDev
63         $(INSTALL_DIR) $(1)/usr/include
64         $(CP) $(PKG_INSTALL_DIR)/usr/include/libmnl $(1)/usr/include/
65         $(INSTALL_DIR) $(1)/usr/lib
66         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmnl.{a,so*} $(1)/usr/lib/
67         $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
68         $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libmnl.pc $(1)/usr/lib/pkgconfig/
69 endef
70
71 define Package/libmnl/install
72         $(INSTALL_DIR) $(1)/usr/lib
73         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmnl.so.* $(1)/usr/lib/
74 endef
75
76 $(eval $(call BuildPackage,libmnl))