[csw-devel] SF.net SVN: gar:[4994] csw/mgar/pkg/iperf/trunk

skayser at users.sourceforge.net skayser at users.sourceforge.net
Thu May 21 17:14:27 CEST 2009


Revision: 4994
          http://gar.svn.sourceforge.net/gar/?rev=4994&view=rev
Author:   skayser
Date:     2009-05-21 15:14:27 +0000 (Thu, 21 May 2009)

Log Message:
-----------
iperf: created GAR build description

Added Paths:
-----------
    csw/mgar/pkg/iperf/trunk/Makefile
    csw/mgar/pkg/iperf/trunk/checksums
    csw/mgar/pkg/iperf/trunk/files/
    csw/mgar/pkg/iperf/trunk/files/gar-base.diff

Removed Paths:
-------------
    csw/mgar/pkg/iperf/trunk/legacy/

Property Changed:
----------------
    csw/mgar/pkg/iperf/trunk/


Property changes on: csw/mgar/pkg/iperf/trunk
___________________________________________________________________
Added: svn:ignore
   + cookies
download
work

Added: svn:externals
   + gar https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2


Added: csw/mgar/pkg/iperf/trunk/Makefile
===================================================================
--- csw/mgar/pkg/iperf/trunk/Makefile	                        (rev 0)
+++ csw/mgar/pkg/iperf/trunk/Makefile	2009-05-21 15:14:27 UTC (rev 4994)
@@ -0,0 +1,71 @@
+# Todo:
+#
+# * Check sf project page for patches and threads related to CPU saturation
+# * Run some real world performance tests
+# * Submit feedback upstream: 
+#   - Add AC_CHECK_FUNC or AC_SEARCH_LIBS for sched_yield() so that we get -lrt
+#   - Use PTHREAD_{LIBS,CFLAGS} to amend CFLAGS so that we get -lpthreads
+#   - Submit language linkage declarations patch for review
+# * Add changelog.CSW
+#
+GARNAME = iperf
+GARVERSION = 2.0.4
+CATEGORIES = net
+
+DESCRIPTION = Internet Protocol bandwidth measuring tool 
+define BLURB
+  Iperf was developed by NLANR/DAST as a modern alternative for measuring
+  maximum TCP and UDP bandwidth performance. Iperf allows the tuning of
+  various parameters and UDP characteristics. Iperf reports bandwidth,
+  delay jitter, datagram loss. 
+endef
+
+MASTER_SITES = $(SF_MIRRORS)
+DISTFILES  = $(GARNAME)-$(GARVERSION).tar.gz
+
+# Add some explicit language linkage declarations. 
+#
+# See C++ Migration Guide, 3.11.1 "Language Linkage"
+# http://dlc.sun.com/pdf/819-3689-10/819-3689-10.pdf
+#
+# "In compatibility mode, the compiler implements the ARM rule that the 
+# language linkage is not part of the function type. In particular, you can
+# declare a pointer to a function without regard to the linkage of the pointer 
+# or a function assigned to it. 
+# In standard mode, the compiler implements the new rule that the language 
+# linkage is part of its type, and is part of the type of a pointer to 
+# function. The linkages must therefore match."
+PATCHFILES = gar-base.diff
+
+# We define upstream file regex so we can be notifed of new upstream software release
+UPSTREAM_MASTER_SITES = $(SF_PROJECT_SHOWFILE)=128336
+UPSTREAM_USE_SF = 1
+UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
+
+TEST_SCRIPTS = 
+
+CONFIGURE_ARGS = $(DIRPATHS)
+
+# Tell CC not to include additional directories in R*PATH, otherwise we end
+# up with something like
+# [11]    RUNPATH         /opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/studio/SOS11/SUNWspro/lib/rw7:/opt/studio/SOS11/SUNWspro/lib:/opt/SUNWspro/lib:/usr/ccs/lib:/lib:/usr/lib
+# [12]    RPATH           /opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/studio/SOS11/SUNWspro/lib/rw7:/opt/studio/SOS11/SUNWspro/lib:/opt/SUNWspro/lib:/usr/ccs/lib:/lib:/usr/lib
+EXTRA_CXX_FLAGS = -norunpath
+
+include gar/category.mk
+
+# * Get rid of gcc -Walls 
+# * LIBS: Append -lrt for sched_yield()
+# * LIBS: Append -lpthread (upstream should use $PTHREAD_{LIBS,CFLAGS} instead
+pre-configure-modulated:
+	@perl -pi -e 's|-Wall||; s|\@LIBS\@|\@LIBS\@ -lrt -lpthread|' \
+		$(WORKSRC)/Makefile.in \
+		$(WORKSRC)/compat/Makefile.in \
+		$(WORKSRC)/src/Makefile.in
+	@$(MAKECOOKIE)
+
+post-install-modulated: DOCDEST = $(DESTDIR)$(docdir)/$(GARNAME)
+post-install-modulated:
+	@ginstall -d $(DOCDEST)
+	@(cd $(WORKSRC) && cp Changelog AUTHORS $(DOCDEST))
+	@$(MAKECOOKIE)

Added: csw/mgar/pkg/iperf/trunk/checksums
===================================================================
--- csw/mgar/pkg/iperf/trunk/checksums	                        (rev 0)
+++ csw/mgar/pkg/iperf/trunk/checksums	2009-05-21 15:14:27 UTC (rev 4994)
@@ -0,0 +1,2 @@
+3bb101038d372642f1fa7e83c7c93e46  download/gar-base.diff
+8c5bc14cc2ea55f18f22afe3c23e3dcb  download/iperf-2.0.4.tar.gz

Added: csw/mgar/pkg/iperf/trunk/files/gar-base.diff
===================================================================
--- csw/mgar/pkg/iperf/trunk/files/gar-base.diff	                        (rev 0)
+++ csw/mgar/pkg/iperf/trunk/files/gar-base.diff	2009-05-21 15:14:27 UTC (rev 4994)
@@ -0,0 +1,48 @@
+diff --speed-large-files --minimal -Nru iperf-2.0.4.orig/include/PerfSocket.hpp iperf-2.0.4/include/PerfSocket.hpp
+--- iperf-2.0.4.orig/include/PerfSocket.hpp	2007-08-30 00:06:19.000000000 +0200
++++ iperf-2.0.4/include/PerfSocket.hpp	2009-05-21 16:04:35.263120435 +0200
+@@ -61,12 +61,11 @@
+ 
+     void SetSocketOptions( thread_Settings *inSettings );
+ 
+-    // handle interupts
+-    void Sig_Interupt( int inSigno );
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
++    // handle interupts
++    void Sig_Interupt( int inSigno );
+     extern int sInterupted;
+     extern int groupID;
+     extern Mutex groupCond;
+diff --speed-large-files --minimal -Nru iperf-2.0.4.orig/src/main.cpp iperf-2.0.4/src/main.cpp
+--- iperf-2.0.4.orig/src/main.cpp	2008-04-08 04:37:54.000000000 +0200
++++ iperf-2.0.4/src/main.cpp	2009-05-21 16:04:03.840031595 +0200
+@@ -79,7 +79,7 @@
+  * prototypes
+  * ------------------------------------------------------------------- */
+ // Function called at exit to clean up as much as possible
+-void cleanup( void );
++extern "C" void cleanup( void );
+ 
+ /* -------------------------------------------------------------------
+  * global variables
+@@ -247,7 +247,7 @@
+  * respond appropriately.. [static]
+  * ------------------------------------------------------------------- */
+ 
+-void Sig_Interupt( int inSigno ) {
++extern "C" void Sig_Interupt( int inSigno ) {
+ #ifdef HAVE_THREAD
+     // We try to not allow a single interrupt handled by multiple threads
+     // to completely kill the app so we save off the first thread ID
+@@ -276,7 +276,7 @@
+  * either by exit() or terminating main().
+  * ------------------------------------------------------------------- */
+ 
+-void cleanup( void ) {
++extern "C" void cleanup( void ) {
+ #ifdef WIN32
+     // Shutdown Winsock
+     WSACleanup();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list