浏览代码

iperf package. Closes #0001224

Peter Korsgaard 18 年之前
父节点
当前提交
70821e3365
共有 3 个文件被更改,包括 83 次插入0 次删除
  1. 1 0
      package/Config.in
  2. 9 0
      package/iperf/Config.in
  3. 73 0
      package/iperf/iperf.mk

+ 1 - 0
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"

+ 9 - 0
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/

+ 73 - 0
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