diff options
-rw-r--r-- | package/network/utils/iperf/Makefile | 86 | ||||
-rw-r--r-- | package/network/utils/iperf/patches/001-set-report-next-time-in-single-thread-mode.patch | 14 |
2 files changed, 100 insertions, 0 deletions
diff --git a/package/network/utils/iperf/Makefile b/package/network/utils/iperf/Makefile new file mode 100644 index 0000000000..2937460dd8 --- /dev/null +++ b/package/network/utils/iperf/Makefile @@ -0,0 +1,86 @@ +# +# Copyright (C) 2007-2010 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:=iperf +PKG_VERSION:=2.0.5 +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/$(PKG_NAME) +PKG_MD5SUM:=44b5536b67719f4250faed632a3cd016 + +PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org> + +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/uclibc++.mk +include $(INCLUDE_DIR)/package.mk + +define Package/iperf/Default + SECTION:=net + CATEGORY:=Network + DEPENDS:= $(CXX_DEPENDS) + TITLE:=Internet Protocol bandwidth measuring tool + URL:=http://sourceforge.net/projects/iperf/ +endef + +define Package/iperf/Default/description + Iperf is a modern alternative for measuring TCP and UDP bandwidth + performance, allowing the tuning of various parameters and + characteristics. +endef + +define Package/iperf +$(call Package/iperf/Default) + TITLE+= (with single thread support) + VARIANT:=single +endef + +define Package/iperf/description +$(call Package/iperf/Default/description) + This package is built with single thread support. +endef + +define Package/iperf-mt +$(call Package/iperf/Default) + DEPENDS+= +libpthread + TITLE+= (with multithread support) + VARIANT:=mt +endef + +define Package/iperf-mt/description +$(call Package/iperf/Default/description) + This package is built with multithread support. +endef + +CONFIGURE_ARGS += --disable-multicast +CONFIGURE_VARS += ac_cv_func_malloc_0_nonnull=yes + +ifeq ($(BUILD_VARIANT),single) + CONFIGURE_ARGS += --disable-threads +else + CONFIGURE_ARGS += --enable-threads=posix + CONFIGURE_VARS += ac_cv_func_pthread_cancel=no +endif + +CONFIGURE_VARS += CXXFLAGS="$$$$CXXFLAGS -fno-rtti" + +ifeq ($(BUILD_VARIANT),mt) + CONFIGURE_VARS += LIBS="-lpthread" +endif + +define Package/iperf/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/iperf $(1)/usr/bin/iperf +endef +Package/iperf-mt/install = $(Package/iperf/install) + +$(eval $(call BuildPackage,iperf)) +$(eval $(call BuildPackage,iperf-mt)) diff --git a/package/network/utils/iperf/patches/001-set-report-next-time-in-single-thread-mode.patch b/package/network/utils/iperf/patches/001-set-report-next-time-in-single-thread-mode.patch new file mode 100644 index 0000000000..c61c75494a --- /dev/null +++ b/package/network/utils/iperf/patches/001-set-report-next-time-in-single-thread-mode.patch @@ -0,0 +1,14 @@ +--- a/src/Reporter.c ++++ b/src/Reporter.c +@@ -308,6 +308,11 @@ ReportHeader* InitReport( thread_Setting + #else + // set start time + gettimeofday( &(reporthdr->report.startTime), NULL ); ++ ++ // set next time ++ reporthdr->report.nextTime = reporthdr->report.startTime; ++ TimeAdd( reporthdr->report.nextTime, reporthdr->report.intervalTime ); ++ + /* + * Process the report in this thread + */ |