summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/iperf/Config.in9
-rw-r--r--package/iperf/iperf.mk73
3 files changed, 83 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 4657aa638..af6bec398 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -128,6 +128,7 @@ source "package/dropbear/Config.in"
source "package/ethtool/Config.in"
source "package/haserl/Config.in"
source "package/hostap/Config.in"
+source "package/iperf/Config.in"
source "package/iproute2/Config.in"
source "package/ipsec-tools/Config.in"
source "package/iptables/Config.in"
diff --git a/package/iperf/Config.in b/package/iperf/Config.in
new file mode 100644
index 000000000..9d0e41bc0
--- /dev/null
+++ b/package/iperf/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_IPERF
+ bool "iperf"
+ default n
+ select BR2_INSTALL_LIBSTDCPP
+ help
+ Internet Protocol bandwidth measuring tool for measuring
+ TCP/UDP performance.
+
+ http://dast.nlanr.net/projects/iperf/
diff --git a/package/iperf/iperf.mk b/package/iperf/iperf.mk
new file mode 100644
index 000000000..e1a84b1b6
--- /dev/null
+++ b/package/iperf/iperf.mk
@@ -0,0 +1,73 @@
+#############################################################
+#
+# iperf
+#
+#############################################################
+
+IPERF_VERSION:=2.0.2
+IPERF_SOURCE:=iperf-$(IPERF_VERSION).tar.gz
+IPERF_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/iperf
+IPERF_DIR:=$(BUILD_DIR)/iperf-$(IPERF_VERSION)
+IPERF_CAT:=$(ZCAT)
+
+$(DL_DIR)/$(IPERF_SOURCE):
+ $(WGET) -P $(DL_DIR) $(IPERF_SITE)/$(IPERF_SOURCE)
+
+$(IPERF_DIR)/.unpacked: $(DL_DIR)/$(IPERF_SOURCE)
+ $(IPERF_CAT) $(DL_DIR)/$(IPERF_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(IPERF_DIR) package/iperf/ iperf\*.patch
+ touch $(IPERF_DIR)/.unpacked
+
+$(IPERF_DIR)/.configured: $(IPERF_DIR)/.unpacked
+ ( cd $(IPERF_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ ac_cv_func_malloc_0_nonnull=yes \
+ ./configure \
+ --with-gnu-ld \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --disable-ipv6 \
+ --disable-dependency-tracking \
+ --disable-web100 \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --libexecdir=/usr/sbin \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --includedir=$(STAGING_DIR)/include \
+ );
+ touch $(IPERF_DIR)/.configured
+
+$(IPERF_DIR)/src/iperf: $(IPERF_DIR)/.configured
+ $(MAKE) CC=$(TARGET_CC) -C $(IPERF_DIR)
+ -$(STRIP) --strip-unneeded $(IPERF_DIR)/src/iperf
+
+$(TARGET_DIR)/usr/bin/iperf: $(IPERF_DIR)/src/iperf
+ cp $(IPERF_DIR)/src/iperf $(TARGET_DIR)/usr/bin/iperf
+
+iperf: $(TARGET_DIR)/usr/bin/iperf
+
+iperf-source: $(DL_DIR)/$(IPERF_SOURCE)
+
+iperf-clean:
+ @if [ -d $(IPERF_KDIR)/Makefile ] ; then \
+ $(MAKE) -C $(IPERF_DIR) clean ; \
+ fi;
+
+iperf-dirclean:
+ rm -rf $(IPERF_DIR)
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_IPERF)),y)
+TARGETS+=iperf
+endif