batmand-adv-userspace updated
batman-adv kernel modul added battools added changed to http svn git-svn-id: svn://svn.openwrt.org/openwrt/packages@10227 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
f25b3d8d7c
commit
329e0f5528
@ -1,4 +1,4 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2006 OpenWrt.org
|
# Copyright (C) 2006 OpenWrt.org
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
@ -9,45 +9,118 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=batmand-adv
|
PKG_NAME:=batmand-adv
|
||||||
PKG_VERSION:=0.1-alpha-rv466
|
PKG_REV:=963
|
||||||
|
PKG_VERSION:=r$(PKG_REV)
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
PKG_BRANCH:=batman-adv-userspace
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)_sources
|
PKG_SOURCE_PROTO:=svn
|
||||||
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION)_sources.tgz
|
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||||
PKG_SOURCE_URL:=http://downloads.open-mesh.net/batman/development/sources/ \
|
PKG_SOURCE_SUBDIR:=batman-adv-$(PKG_VERSION)
|
||||||
http://downloads.open-mesh.net/batman/development/sources/old/
|
PKG_SOURCE_URL:=http://downloads.open-mesh.net/svn/batman/trunk/
|
||||||
PKG_MD5SUM:=3ebc394a7b7b3fa5cecaf97f6a220a3f
|
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
|
||||||
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
|
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/batman-adv-kernelland/batman-core
|
||||||
|
|
||||||
define Package/batman-advanced
|
PKG_TOOL_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-battool-install
|
||||||
|
PKG_TOOL_BUILD_DIR:=$(PKG_BUILD_DIR)/battool
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
|
define Package/batman-adv/Default
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
DEPENDS:=+libpthread +kmod-tun
|
|
||||||
TITLE:=B.A.T.M.A.N. Advanced (Layer2 Version)
|
|
||||||
URL:=https://www.open-mesh.net/
|
URL:=https://www.open-mesh.net/
|
||||||
|
MAINTAINER:=Marek Lindner <lindner_marek@yahoo.de>
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Configure
|
define Package/batmand-adv
|
||||||
|
$(call Package/batman-adv/Default)
|
||||||
|
DEPENDS:=+libpthread +kmod-tun
|
||||||
|
TITLE:=B.A.T.M.A.N. layer 2 routing daemon
|
||||||
endef
|
endef
|
||||||
|
|
||||||
MAKE_FLAGS += \
|
define Package/batmand-adv/description
|
||||||
|
B.A.T.M.A.N. layer 2 routing daemon
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/battool
|
||||||
|
$(call Package/batman-adv/Default)
|
||||||
|
TITLE:=B.A.T.M.A.N. layer 2 debug tools
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/battool/description
|
||||||
|
B.A.T.M.A.N. layer 2 debug tools
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/batman-adv-core
|
||||||
|
$(call Package/batman-adv/Default)
|
||||||
|
DEPENDS:=@LINUX_2_6
|
||||||
|
TITLE:=Kernel routing module for B.A.T.M.A.N. layer 2
|
||||||
|
FILES:=$(PKG_KMOD_BUILD_DIR)/batman-adv-core.$(LINUX_KMOD_SUFFIX)
|
||||||
|
AUTOLOAD:=$(call AutoLoad,50,batman-adv-core)
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define KernelPackage/batman-adv-core/description
|
||||||
|
Kernel routing module for B.A.T.M.A.N. layer 2
|
||||||
|
endef
|
||||||
|
|
||||||
|
MAKE_ARGS += \
|
||||||
CFLAGS="$(TARGET_CFLAGS)" \
|
CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
CCFLAGS="$(TARGET_CFLAGS)" \
|
CCFLAGS="$(TARGET_CFLAGS)" \
|
||||||
OFLAGS="$(TARGET_CFLAGS)" \
|
OFLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
REVISION="$(PKG_REV)" \
|
||||||
|
CC="$(TARGET_CC)" \
|
||||||
NODEBUG=1 \
|
NODEBUG=1 \
|
||||||
UNAME="Linux" \
|
UNAME="Linux" \
|
||||||
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
|
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
|
||||||
STRIP="/bin/true" \
|
STRIP="/bin/true" \
|
||||||
batmand-adv install
|
batmand-adv install
|
||||||
|
|
||||||
define Package/batman-advanced/install
|
MAKE_TOOL_ARGS += \
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
|
CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand-adv $(1)/usr/sbin/
|
CCFLAGS="$(TARGET_CFLAGS)" \
|
||||||
$(INSTALL_BIN) ./files/etc/init.d/batman-adv $(1)/etc/init.d
|
OFLAGS="$(TARGET_CFLAGS)" \
|
||||||
$(INSTALL_DATA) ./files/etc/config/batman-adv $(1)/etc/config
|
REVISION="$(PKG_REV)" \
|
||||||
|
CC="$(TARGET_CC)" \
|
||||||
|
NODEBUG=1 \
|
||||||
|
UNAME="Linux" \
|
||||||
|
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
|
||||||
|
STRIP="/bin/true" \
|
||||||
|
battool install
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,batman-advanced))
|
define Build/Compile
|
||||||
|
$(MAKE) -C $(PKG_BUILD_DIR)/batman-adv-userspace $(MAKE_ARGS)
|
||||||
|
$(MAKE) -C $(PKG_TOOL_BUILD_DIR) $(MAKE_TOOL_ARGS)
|
||||||
|
cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile
|
||||||
|
$(MAKE) -C "$(LINUX_DIR)" \
|
||||||
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
|
ARCH="$(LINUX_KARCH)" \
|
||||||
|
PATH="$(TARGET_PATH)" \
|
||||||
|
SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \
|
||||||
|
LINUX_VERSION="$(LINUX_VERSION)" \
|
||||||
|
REVISION="$(PKG_REV)" modules
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/batmand-adv/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand-adv $(1)/usr/sbin/
|
||||||
|
$(INSTALL_BIN) ./files/etc/init.d/batmand-adv $(1)/etc/init.d
|
||||||
|
$(INSTALL_DATA) ./files/etc/config/batmand-adv $(1)/etc/config
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/battool/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/battool $(1)/usr/sbin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,batmand-adv))
|
||||||
|
$(eval $(call BuildPackage,battool))
|
||||||
|
$(eval $(call KernelPackage,batman-adv-core))
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
diff -urN batmand-adv_0.1-alpha-rv466_sources.orig/Makefile batmand-adv_0.1-alpha-rv466_sources/Makefile
|
|
||||||
--- batmand-adv_0.1-alpha-rv466_sources.orig/Makefile 2007-07-31 22:03:22.433434504 +0100
|
|
||||||
+++ batmand-adv_0.1-alpha-rv466_sources/Makefile 2007-07-31 22:05:07.553434504 +0100
|
|
||||||
@@ -21,6 +21,7 @@
|
|
||||||
CFLAGS = -Wall -O1 -g3
|
|
||||||
STRIP= strip
|
|
||||||
LDFLAGS = -lpthread
|
|
||||||
+SBINDIR= $(INSTALL_PREFIX)/usr/sbin
|
|
||||||
|
|
||||||
CFLAGS_MIPS = -Wall -O1 -g3
|
|
||||||
LDFLAGS_MIPS = -lpthread
|
|
||||||
@@ -253,4 +254,9 @@
|
|
||||||
rm -f batmand-adv batmand-mips* *.o *~
|
|
||||||
|
|
||||||
clean-long:
|
|
||||||
- rm -rf batmand-adv_*
|
|
||||||
\ No newline at end of file
|
|
||||||
+ rm -rf batmand-adv_*
|
|
||||||
+
|
|
||||||
+install:
|
|
||||||
+ mkdir -p $(SBINDIR)
|
|
||||||
+ install -m 755 batmand-adv $(SBINDIR)
|
|
||||||
+
|
|
@ -1,274 +0,0 @@
|
|||||||
diff -urN batmand-adv_0.1-alpha-rv466_sources.orig/list.h batmand-adv_0.1-alpha-rv466_sources/list.h
|
|
||||||
--- batmand-adv_0.1-alpha-rv466_sources.orig/list.h 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ batmand-adv_0.1-alpha-rv466_sources/list.h 2007-07-31 21:56:31.633434504 +0100
|
|
||||||
@@ -0,0 +1,270 @@
|
|
||||||
+#ifndef _LINUX_LIST_H
|
|
||||||
+#define _LINUX_LIST_H
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * XXX: Resolve conflict between this file and <sys/queue.h> on BSD systems.
|
|
||||||
+ */
|
|
||||||
+#ifdef LIST_HEAD
|
|
||||||
+#undef LIST_HEAD
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Simple doubly linked list implementation.
|
|
||||||
+ *
|
|
||||||
+ * Some of the internal functions ("__xxx") are useful when
|
|
||||||
+ * manipulating whole lists rather than single entries, as
|
|
||||||
+ * sometimes we already know the next/prev entries and we can
|
|
||||||
+ * generate better code by using them directly rather than
|
|
||||||
+ * using the generic single-entry routines.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+struct list_head {
|
|
||||||
+ struct list_head *next, *prev;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+#define LIST_HEAD_INIT(name) { &(name), &(name) }
|
|
||||||
+
|
|
||||||
+#define LIST_HEAD(name) \
|
|
||||||
+ struct list_head name = LIST_HEAD_INIT(name)
|
|
||||||
+
|
|
||||||
+#define INIT_LIST_HEAD(ptr) do { \
|
|
||||||
+ (ptr)->next = (ptr); (ptr)->prev = (ptr); \
|
|
||||||
+} while (0)
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Insert a new entry between two known consecutive entries.
|
|
||||||
+ *
|
|
||||||
+ * This is only for internal list manipulation where we know
|
|
||||||
+ * the prev/next entries already!
|
|
||||||
+ */
|
|
||||||
+static inline void __list_add(struct list_head *new,
|
|
||||||
+ struct list_head *prev,
|
|
||||||
+ struct list_head *next)
|
|
||||||
+{
|
|
||||||
+ next->prev = new;
|
|
||||||
+ new->next = next;
|
|
||||||
+ new->prev = prev;
|
|
||||||
+ prev->next = new;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_add - add a new entry
|
|
||||||
+ * @new: new entry to be added
|
|
||||||
+ * @head: list head to add it after
|
|
||||||
+ *
|
|
||||||
+ * Insert a new entry after the specified head.
|
|
||||||
+ * This is good for implementing stacks.
|
|
||||||
+ */
|
|
||||||
+static inline void list_add(struct list_head *new, struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ __list_add(new, head, head->next);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_add_tail - add a new entry
|
|
||||||
+ * @new: new entry to be added
|
|
||||||
+ * @head: list head to add it before
|
|
||||||
+ *
|
|
||||||
+ * Insert a new entry before the specified head.
|
|
||||||
+ * This is useful for implementing queues.
|
|
||||||
+ */
|
|
||||||
+static inline void list_add_tail(struct list_head *new, struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ __list_add(new, head->prev, head);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Delete a list entry by making the prev/next entries
|
|
||||||
+ * point to each other.
|
|
||||||
+ *
|
|
||||||
+ * This is only for internal list manipulation where we know
|
|
||||||
+ * the prev/next entries already!
|
|
||||||
+ */
|
|
||||||
+static inline void __list_del(struct list_head *prev, struct list_head *next)
|
|
||||||
+{
|
|
||||||
+ next->prev = prev;
|
|
||||||
+ prev->next = next;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_del - deletes entry from list.
|
|
||||||
+ * @entry: the element to delete from the list.
|
|
||||||
+ * Note: list_empty on entry does not return true after this, the entry is in an undefined state.
|
|
||||||
+ */
|
|
||||||
+static inline void list_del(struct list_head *entry)
|
|
||||||
+{
|
|
||||||
+ __list_del(entry->prev, entry->next);
|
|
||||||
+ entry->next = (void *) 0;
|
|
||||||
+ entry->prev = (void *) 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void list_add_before( struct list_head *list, struct list_head *pos_node, struct list_head *new_node ) {
|
|
||||||
+
|
|
||||||
+ if ( pos_node->prev != NULL )
|
|
||||||
+ pos_node->prev->next = new_node;
|
|
||||||
+ else
|
|
||||||
+ list->next = new_node;
|
|
||||||
+
|
|
||||||
+ new_node->prev = pos_node->prev;
|
|
||||||
+ new_node->next = pos_node;
|
|
||||||
+
|
|
||||||
+ pos_node->prev = new_node;
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_del_init - deletes entry from list and reinitialize it.
|
|
||||||
+ * @entry: the element to delete from the list.
|
|
||||||
+ */
|
|
||||||
+static inline void list_del_init(struct list_head *entry)
|
|
||||||
+{
|
|
||||||
+ __list_del(entry->prev, entry->next);
|
|
||||||
+ INIT_LIST_HEAD(entry);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_move - delete from one list and add as another's head
|
|
||||||
+ * @list: the entry to move
|
|
||||||
+ * @head: the head that will precede our entry
|
|
||||||
+ */
|
|
||||||
+static inline void list_move(struct list_head *list, struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ __list_del(list->prev, list->next);
|
|
||||||
+ list_add(list, head);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_move_tail - delete from one list and add as another's tail
|
|
||||||
+ * @list: the entry to move
|
|
||||||
+ * @head: the head that will follow our entry
|
|
||||||
+ */
|
|
||||||
+static inline void list_move_tail(struct list_head *list,
|
|
||||||
+ struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ __list_del(list->prev, list->next);
|
|
||||||
+ list_add_tail(list, head);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_empty - tests whether a list is empty
|
|
||||||
+ * @head: the list to test.
|
|
||||||
+ */
|
|
||||||
+static inline int list_empty(struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ return head->next == head;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void __list_splice(struct list_head *list,
|
|
||||||
+ struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ struct list_head *first = list->next;
|
|
||||||
+ struct list_head *last = list->prev;
|
|
||||||
+ struct list_head *at = head->next;
|
|
||||||
+
|
|
||||||
+ first->prev = head;
|
|
||||||
+ head->next = first;
|
|
||||||
+
|
|
||||||
+ last->next = at;
|
|
||||||
+ at->prev = last;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_splice - join two lists
|
|
||||||
+ * @list: the new list to add.
|
|
||||||
+ * @head: the place to add it in the first list.
|
|
||||||
+ */
|
|
||||||
+static inline void list_splice(struct list_head *list, struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ if (!list_empty(list))
|
|
||||||
+ __list_splice(list, head);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_splice_init - join two lists and reinitialise the emptied list.
|
|
||||||
+ * @list: the new list to add.
|
|
||||||
+ * @head: the place to add it in the first list.
|
|
||||||
+ *
|
|
||||||
+ * The list at @list is reinitialised
|
|
||||||
+ */
|
|
||||||
+static inline void list_splice_init(struct list_head *list,
|
|
||||||
+ struct list_head *head)
|
|
||||||
+{
|
|
||||||
+ if (!list_empty(list)) {
|
|
||||||
+ __list_splice(list, head);
|
|
||||||
+ INIT_LIST_HEAD(list);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_entry - get the struct for this entry
|
|
||||||
+ * @ptr: the &struct list_head pointer.
|
|
||||||
+ * @type: the type of the struct this is embedded in.
|
|
||||||
+ * @member: the name of the list_struct within the struct.
|
|
||||||
+ */
|
|
||||||
+#define list_entry(ptr, type, member) \
|
|
||||||
+ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_for_each - iterate over a list
|
|
||||||
+ * @pos: the &struct list_head to use as a loop counter.
|
|
||||||
+ * @head: the head for your list.
|
|
||||||
+ */
|
|
||||||
+#define list_for_each(pos, head) \
|
|
||||||
+ for (pos = (head)->next; pos != (head); \
|
|
||||||
+ pos = pos->next)
|
|
||||||
+/**
|
|
||||||
+ * list_for_each_prev - iterate over a list backwards
|
|
||||||
+ * @pos: the &struct list_head to use as a loop counter.
|
|
||||||
+ * @head: the head for your list.
|
|
||||||
+ */
|
|
||||||
+#define list_for_each_prev(pos, head) \
|
|
||||||
+ for (pos = (head)->prev; pos != (head); \
|
|
||||||
+ pos = pos->prev)
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_for_each_safe - iterate over a list safe against removal of list entry
|
|
||||||
+ * @pos: the &struct list_head to use as a loop counter.
|
|
||||||
+ * @n: another &struct list_head to use as temporary storage
|
|
||||||
+ * @head: the head for your list.
|
|
||||||
+ */
|
|
||||||
+#define list_for_each_safe(pos, n, head) \
|
|
||||||
+ for (pos = (head)->next, n = pos->next; pos != (head); \
|
|
||||||
+ pos = n, n = pos->next)
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_for_each_entry - iterate over list of given type
|
|
||||||
+ * @pos: the type * to use as a loop counter.
|
|
||||||
+ * @head: the head for your list.
|
|
||||||
+ * @member: the name of the list_struct within the struct.
|
|
||||||
+ */
|
|
||||||
+#define list_for_each_entry(pos, head, member) \
|
|
||||||
+ for (pos = list_entry((head)->next, typeof(*pos), member); \
|
|
||||||
+ &pos->member != (head); \
|
|
||||||
+ pos = list_entry(pos->member.next, typeof(*pos), member))
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
|
|
||||||
+ * @pos: the type * to use as a loop counter.
|
|
||||||
+ * @n: another type * to use as temporary storage
|
|
||||||
+ * @head: the head for your list.
|
|
||||||
+ * @member: the name of the list_struct within the struct.
|
|
||||||
+ */
|
|
||||||
+#define list_for_each_entry_safe(pos, n, head, member) \
|
|
||||||
+ for (pos = list_entry((head)->next, typeof(*pos), member), \
|
|
||||||
+ n = list_entry(pos->member.next, typeof(*pos), member); \
|
|
||||||
+ &pos->member != (head); \
|
|
||||||
+ pos = n, n = list_entry(n->member.next, typeof(*n), member))
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * list_for_each_entry_continue - iterate over list of given type
|
|
||||||
+ * continuing after existing point
|
|
||||||
+ * @pos: the type * to use as a loop counter.
|
|
||||||
+ * @head: the head for your list.
|
|
||||||
+ * @member: the name of the list_struct within the struct.
|
|
||||||
+ */
|
|
||||||
+#define list_for_each_entry_continue(pos, head, member) \
|
|
||||||
+ for (pos = list_entry(pos->member.next, typeof(*pos), member); \
|
|
||||||
+ &pos->member != (head); \
|
|
||||||
+ pos = list_entry(pos->member.next, typeof(*pos), member))
|
|
||||||
+
|
|
||||||
+#endif
|
|
@ -1,4 +1,4 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2006 OpenWrt.org
|
# Copyright (C) 2006 OpenWrt.org
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
@ -9,7 +9,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=batmand
|
PKG_NAME:=batmand
|
||||||
PKG_REV:=949
|
PKG_REV:=963
|
||||||
PKG_VERSION:=r$(PKG_REV)
|
PKG_VERSION:=r$(PKG_REV)
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_BRANCH:=batman
|
PKG_BRANCH:=batman
|
||||||
@ -17,7 +17,7 @@ PKG_BRANCH:=batman
|
|||||||
PKG_SOURCE_PROTO:=svn
|
PKG_SOURCE_PROTO:=svn
|
||||||
PKG_SOURCE_VERSION:=$(PKG_REV)
|
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_BRANCH)d-$(PKG_VERSION)
|
PKG_SOURCE_SUBDIR:=$(PKG_BRANCH)d-$(PKG_VERSION)
|
||||||
PKG_SOURCE_URL:=https://dev.open-mesh.net/svn/batman/trunk/$(PKG_BRANCH)
|
PKG_SOURCE_URL:=http://downloads.open-mesh.net/svn/batman/trunk/$(PKG_BRANCH)
|
||||||
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
|
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
|
||||||
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
|
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
|
||||||
@ -37,21 +37,23 @@ endef
|
|||||||
define Package/batmand
|
define Package/batmand
|
||||||
$(call Package/batmand/Default)
|
$(call Package/batmand/Default)
|
||||||
DEPENDS:=+libpthread +kmod-tun
|
DEPENDS:=+libpthread +kmod-tun
|
||||||
TITLE:=B.A.T.M.A.N. Better Approach To Mobile Ad-hoc Networking
|
TITLE:=B.A.T.M.A.N. layer 3 routing daemon
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/batmand/description
|
define Package/batmand/description
|
||||||
B.A.T.M.A.N. layer 3 routing daemon
|
B.A.T.M.A.N. layer 3 routing daemon
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/batgat
|
define KernelPackage/batgat
|
||||||
$(call Package/batmand/Default)
|
$(call Package/batmand/Default)
|
||||||
DEPENDS:=batmand
|
DEPENDS:=batmand
|
||||||
TITLE:=B.A.T.M.A.N. gateway module
|
TITLE:=B.A.T.M.A.N. gateway module
|
||||||
FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX)
|
FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX)
|
||||||
|
AUTOLOAD:=$(call AutoLoad,50,batgat)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/batgat/description
|
|
||||||
|
define KernelPackage/batgat/description
|
||||||
Kernel gateway module for B.A.T.M.A.N.
|
Kernel gateway module for B.A.T.M.A.N.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -59,6 +61,7 @@ MAKE_ARGS += \
|
|||||||
CFLAGS="$(TARGET_CFLAGS)" \
|
CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
CCFLAGS="$(TARGET_CFLAGS)" \
|
CCFLAGS="$(TARGET_CFLAGS)" \
|
||||||
OFLAGS="$(TARGET_CFLAGS)" \
|
OFLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
REVISION="$(PKG_REV)" \
|
||||||
CC="$(TARGET_CC)" \
|
CC="$(TARGET_CC)" \
|
||||||
NODEBUG=1 \
|
NODEBUG=1 \
|
||||||
UNAME="Linux" \
|
UNAME="Linux" \
|
||||||
@ -71,7 +74,7 @@ endef
|
|||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_ARGS)
|
$(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_ARGS)
|
||||||
$(shell [ -e $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild ] && mv $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile)
|
cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile
|
||||||
$(MAKE) -C "$(LINUX_DIR)" \
|
$(MAKE) -C "$(LINUX_DIR)" \
|
||||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
ARCH="$(LINUX_KARCH)" \
|
ARCH="$(LINUX_KARCH)" \
|
||||||
@ -89,4 +92,4 @@ define Package/batmand/install
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,batmand))
|
$(eval $(call BuildPackage,batmand))
|
||||||
$(eval $(call BuildPackage,batgat))
|
$(eval $(call KernelPackage,batgat))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user