include $(TOPDIR)/rules.mk
PKG_NAME:=wing
-
-ifneq ($(CONFIG_WING_STABLE),)
- PKG_VERSION:=20100805
- PKG_RELEASE:=1
- PKG_REV:=21aae2ae5bea85426aded47b055b4fe62c2cea2e
-else
- PKG_VERSION:=$(shell date +%Y%m%d)
- PKG_RELEASE:=1
- PKG_REV:=HEAD
-endif
+PKG_VERSION:=20110329
+PKG_RELEASE:=2
+PKG_REV:=4ef2a352b29c26ce76d8b3d7c6897d301362a101
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://github.com/create-net/click-wing.git
+PKG_SOURCE_URL:=git://github.com/rriggio/click.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_PROTO:=git
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=wing/host
+
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
define Package/wing
- TITLE:=Wireless mesh networking toolkit
- SECTION:=net
- CATEGORY:=Network
- MAINTAINER:=Roberto Riggio (roberto.riggio@create-net.org)
- DEPENDS:=+kmod-tun
- URL:=http://www.wing-project.org/
+ TITLE:=Wireless mesh networking toolkit
+ SECTION:=net
+ CATEGORY:=Network
+ MAINTAINER:=Roberto Riggio <roberto.riggio@create-net.org>
+ DEPENDS:=+kmod-tun +libpcap +libstdcpp
+ URL:=http://www.wing-project.org/
endef
define Package/wing/Description
Wing is a wireless mesh routing software. The routing protocol
- is derived from Roofnet. It supports multiple radio interfaces and
- link quality routing using the ETX, ETT, and WCETT metrics.
+ is derived from Roofnet. It supports multiple radio interfaces
+ and link quality routing using the ETX, ETT, or WCETT metric.
endef
-define Package/wing/config
- source "$(SOURCE)/Config.in"
+EXTRA_CFLAGS=-MD
+
+CONFIGURE_ARGS += \
+ --enable-tools=host \
+ --enable-userlevel \
+ --enable-wifi \
+ --enable-wing \
+ --enable-diffserv \
+ --disable-linuxmodule \
+ --disable-dynamic-linking \
+
+HOST_CONFIGURE_ARGS += \
+ --enable-userlevel \
+ --enable-wifi \
+ --enable-diffserv \
+ --enable-wing \
+ --disable-linuxmodule \
+
+define Host/Compile
+ $(call Host/Install/Default, tools elementmap.xml install)
endef
-define Build/Configure
- (cd $(PKG_BUILD_DIR); \
- rm -rf config.{cache,status}; \
- ./configure \
- --prefix=/usr \
- --enable-userlevel \
- --enable-wifi \
- --enable-wing \
- --disable-linuxmodule \
- );
- $(MAKE) -C $(PKG_BUILD_DIR) tools elementmap.xml
+define Build/Compile
(cd $(PKG_BUILD_DIR)/userlevel; \
- ../tools/click-mkmindriver/click-mkmindriver -p $(PKG_NAME) -C .. \
+ $(STAGING_DIR_HOST)/bin/click-mkmindriver -p $(PKG_NAME) -C $(STAGING_DIR_HOST) \
-f $(PKG_BUILD_DIR)/conf/wing/sample.click \
- -A --all -E Discard -E Print -E Null \
+ -A --all -E Discard -E Print -E PrintWifi -E Null \
-E InfiniteSource -E RatedSource -E EtherEncap -E UDPIPEncap \
- -E AthdescEncap -E AthdescDecap -E RadiotapDecap -E RadiotapEncap \
- -E ProbeTXRate -E MadwifiRate -E AutoRateFallback \
- -E RoundRobinSched -E DRRSched; \
- )
- (cd $(PKG_BUILD_DIR); \
- rm -rf config.{cache,status} ; \
- $(TARGET_CONFIGURE_OPTS) \
- CXXFLAGS="-static -O2 -MD" CFLAGS="-static -MD" \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
- LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
- ./configure \
- --prefix=/usr \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --enable-tools=mixed \
- --enable-userlevel \
- --enable-wifi \
- --enable-wing \
- --disable-linuxmodule \
+ -E WINGETTMetric -E WINGETXMetric -E WINGHopCountMetric \
+ -E ProbeTXRate -E MadwifiRate -E AutoRateFallback -E Minstrel \
+ -E FairBuffer -E DeAggregator -E DWRRSched -E WFQSched -E WRRSched; \
);
-endef
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- MINDRIVER=$(PKG_NAME) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all install
+ $(call Build/Install/Default, MINDRIVER=$(PKG_NAME) install)
endef
define Package/wing/install
$(CP) $(PKG_INSTALL_DIR)/usr/share/click/elementmap.xml $(1)/usr/share/click/elementmap.xml
endef
+$(eval $(call HostBuild))
$(eval $(call BuildPackage,wing))