diff options
Diffstat (limited to 'package/libs/libnl')
-rw-r--r-- | package/libs/libnl/Makefile | 56 | ||||
-rw-r--r-- | package/libs/libnl/patches/110-offsetof.patch | 12 | ||||
-rw-r--r-- | package/libs/libnl/patches/160-update_includes_for_iw.patch | 34 |
3 files changed, 102 insertions, 0 deletions
diff --git a/package/libs/libnl/Makefile b/package/libs/libnl/Makefile new file mode 100644 index 000000000..13756995f --- /dev/null +++ b/package/libs/libnl/Makefile @@ -0,0 +1,56 @@ +# +# Copyright (C) 2006-2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libnl +PKG_VERSION:=2.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.infradead.org/~tgr/libnl/files/ +PKG_MD5SUM:=6aaf1e9802a17a7d702bb0638044ffa7 + +include $(INCLUDE_DIR)/package.mk + +define Package/libnl + SECTION:=libs + CATEGORY:=Libraries + TITLE:=netlink socket library + URL:=http://people.suug.ch/~tgr/libnl/ +endef + +define Package/libnl/description + This package contains a library for applications dealing with netlink sockets +endef + +TARGET_CFLAGS += -ffunction-sections $(FPIC) + +define Build/Compile + $(call Build/Compile/Default) + make -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + install +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1) + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ + mkdir -p $(1)/usr/include/libnl + $(CP) $(PKG_BUILD_DIR)/include/linux $(1)/usr/include/libnl/ +endef + +define Package/libnl/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route.so.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl.so.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf.so.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route.so.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libnl)) diff --git a/package/libs/libnl/patches/110-offsetof.patch b/package/libs/libnl/patches/110-offsetof.patch new file mode 100644 index 000000000..fa944a9c4 --- /dev/null +++ b/package/libs/libnl/patches/110-offsetof.patch @@ -0,0 +1,12 @@ +--- a/include/netlink-local.h ++++ b/include/netlink-local.h +@@ -337,7 +337,9 @@ static inline int nl_cb_call(struct nl_c + } + + #define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0])) ++#ifndef offsetof + #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) ++#endif + + #define __init __attribute__ ((constructor)) + #define __exit __attribute__ ((destructor)) diff --git a/package/libs/libnl/patches/160-update_includes_for_iw.patch b/package/libs/libnl/patches/160-update_includes_for_iw.patch new file mode 100644 index 000000000..ad36dab4b --- /dev/null +++ b/package/libs/libnl/patches/160-update_includes_for_iw.patch @@ -0,0 +1,34 @@ +--- a/include/linux/genetlink.h ++++ b/include/linux/genetlink.h +@@ -39,6 +39,9 @@ enum { + CTRL_CMD_NEWOPS, + CTRL_CMD_DELOPS, + CTRL_CMD_GETOPS, ++ CTRL_CMD_NEWMCAST_GRP, ++ CTRL_CMD_DELMCAST_GRP, ++ CTRL_CMD_GETMCAST_GRP, /* unused */ + __CTRL_CMD_MAX, + }; + +@@ -52,6 +55,7 @@ enum { + CTRL_ATTR_HDRSIZE, + CTRL_ATTR_MAXATTR, + CTRL_ATTR_OPS, ++ CTRL_ATTR_MCAST_GROUPS, + __CTRL_ATTR_MAX, + }; + +@@ -66,4 +70,13 @@ enum { + + #define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1) + ++enum { ++ CTRL_ATTR_MCAST_GRP_UNSPEC, ++ CTRL_ATTR_MCAST_GRP_NAME, ++ CTRL_ATTR_MCAST_GRP_ID, ++ __CTRL_ATTR_MCAST_GRP_MAX, ++}; ++ ++#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) ++ + #endif /* __LINUX_GENERIC_NETLINK_H */ |