packages: add lmbench
git-svn-id: svn://svn.openwrt.org/openwrt/packages@30383 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
e22bcee2e5
commit
21a174a30d
124
utils/lmbench/Makefile
Normal file
124
utils/lmbench/Makefile
Normal file
@ -0,0 +1,124 @@
|
||||
#
|
||||
# Copyright (C) 2009-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:=lmbench
|
||||
PKG_VERSION:=3.0-a9
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
|
||||
PKG_SOURCE_URL:=@SF/lmbench/
|
||||
PKG_MD5SUM:=784b0873361cd5442e02b2544d42917b
|
||||
PKG_CAT:=cat
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_BUILD_DEPENDS:=librpc
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lmbench
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=lmbench microbenchmarks
|
||||
URL:=http://sourceforge.net/projects/lmbench
|
||||
MENU:=1
|
||||
endef
|
||||
|
||||
define Package/lmbench/description
|
||||
lmbench is a series of micro benchmarks intended to measure basic operating
|
||||
system and hardware system metrics.
|
||||
endef
|
||||
|
||||
define Package/lmbench/install
|
||||
true
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/src \
|
||||
CC="$(TARGET_CC)" \
|
||||
AR="$(TARGET_CROSS)ar" \
|
||||
OS="$(ARCH)" \
|
||||
BASE="$(PKG_INSTALL_DIR)" \
|
||||
LDLIBS="-lrpc" \
|
||||
COMPILE="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \
|
||||
lmbench install
|
||||
endef
|
||||
|
||||
define PartGen
|
||||
define Package/lmbench-$(subst _,-,$(1))
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=$(1) microbenchmark
|
||||
URL:=http://sourceforge.net/projects/lmbench
|
||||
DEPENDS:=lmbench +librpc
|
||||
endef
|
||||
endef
|
||||
|
||||
define PartInstall
|
||||
define Package/lmbench-$(subst _,-,$(1))/install
|
||||
$(INSTALL_DIR) $$(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/$(1) $$(1)/usr/sbin/$(1)
|
||||
endef
|
||||
endef
|
||||
|
||||
LMBENCH_FILES:= \
|
||||
bw_file_rd \
|
||||
bw_mem \
|
||||
bw_mmap_rd \
|
||||
bw_pipe \
|
||||
bw_tcp \
|
||||
bw_unix \
|
||||
cache \
|
||||
disk \
|
||||
enough \
|
||||
flushdisk \
|
||||
hello \
|
||||
lat_cmd \
|
||||
lat_connect \
|
||||
lat_ctx \
|
||||
lat_dram_page \
|
||||
lat_fcntl \
|
||||
lat_fifo \
|
||||
lat_fs \
|
||||
lat_http \
|
||||
lat_mem_rd \
|
||||
lat_mmap \
|
||||
lat_ops \
|
||||
lat_pagefault \
|
||||
lat_pipe \
|
||||
lat_pmake \
|
||||
lat_proc \
|
||||
lat_rand \
|
||||
lat_rpc \
|
||||
lat_select \
|
||||
lat_sem \
|
||||
lat_sig \
|
||||
lat_syscall \
|
||||
lat_tcp \
|
||||
lat_udp \
|
||||
lat_unix \
|
||||
lat_unix_connect \
|
||||
lat_usleep \
|
||||
line \
|
||||
lmdd \
|
||||
lmhttp \
|
||||
loop_o \
|
||||
memsize \
|
||||
mhz \
|
||||
msleep \
|
||||
par_mem \
|
||||
par_ops \
|
||||
stream \
|
||||
timing_o \
|
||||
tlb
|
||||
|
||||
$(foreach file,$(LMBENCH_FILES),$(eval $(call PartGen,$(file))))
|
||||
$(foreach file,$(LMBENCH_FILES),$(eval $(call PartInstall,$(file))))
|
||||
|
||||
$(eval $(call BuildPackage,lmbench))
|
||||
$(foreach file,$(LMBENCH_FILES),$(eval $(call BuildPackage,lmbench-$(subst _,-,$(file)))))
|
11
utils/lmbench/patches/001-fix_socklen_t_define.patch
Normal file
11
utils/lmbench/patches/001-fix_socklen_t_define.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/src/bench.h
|
||||
+++ b/src/bench.h
|
||||
@@ -77,7 +77,7 @@ typedef long long int64;
|
||||
#endif /* HAVE_int64_t */
|
||||
#endif /* HAVE_int64 */
|
||||
|
||||
-#ifndef HAVE_socklen_t
|
||||
+#if (!defined(HAVE_socklen_t) && !defined(__socklen_t_defined))
|
||||
typedef int socklen_t;
|
||||
#endif
|
||||
|
10
utils/lmbench/patches/002-install-cache.patch
Normal file
10
utils/lmbench/patches/002-install-cache.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -144,6 +144,7 @@ install-target:
|
||||
if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
|
||||
if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
|
||||
cp $(EXES) $(BASE)/bin
|
||||
+ cp $(OPT_EXES) $(BASE)/bin
|
||||
cp $(INCS) $(BASE)/include
|
||||
cp $O/lmbench.a $(BASE)/lib/libmbench.a
|
||||
cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install
|
30
utils/lmbench/patches/003-add-LDLIBS.patch
Normal file
30
utils/lmbench/patches/003-add-LDLIBS.patch
Normal file
@ -0,0 +1,30 @@
|
||||
--- a/scripts/build
|
||||
+++ b/scripts/build
|
||||
@@ -18,7 +18,7 @@ done
|
||||
|
||||
trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15
|
||||
|
||||
-LDLIBS=-lm
|
||||
+LDLIBS=${LDLIBS-"-lm -lrpc"}
|
||||
|
||||
# check for HP-UX's ANSI compiler
|
||||
echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -38,6 +38,7 @@ CC=`../scripts/compiler`
|
||||
MAKE=`../scripts/make`
|
||||
AR=ar
|
||||
ARCREATE=cr
|
||||
+LDLIBS=
|
||||
|
||||
# base of installation location
|
||||
BASE=/usr/local
|
||||
@@ -111,7 +112,7 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/li
|
||||
$O/lib_sched.o
|
||||
|
||||
lmbench: $(UTILS)
|
||||
- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
|
||||
+ @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" LDLIBS="$(LDLIBS)" ../scripts/build all
|
||||
-@env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
|
||||
|
||||
results: lmbench
|
@ -0,0 +1,11 @@
|
||||
--- a/src/bw_mem.c
|
||||
+++ b/src/bw_mem.c
|
||||
@@ -65,7 +65,7 @@ main(int ac, char **av)
|
||||
size_t nbytes;
|
||||
state_t state;
|
||||
int c;
|
||||
- char *usage = "[-P <parallelism>] [-W <warmup>] [-N <repetitions>] <size> what [conflict]\nwhat: rd wr rdwr cp fwr frd fcp bzero bcopy\n<size> must be larger than 512";
|
||||
+ char *usage = "[-P <parallelism>] [-W <warmup>] [-N <repetitions>] <size> what [conflict]\nwhat: rd wr rdwr cp fwr frd fcp bzero bcopy\n<size> must be larger than 512\n";
|
||||
|
||||
state.overhead = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user