Update of /cvsroot/compbench/CompBenchmarks++/Benchmark
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv11467
Added Files:
benchmarks-genliblist.sh benchmarks-genlibwrapper.sh
Log Message:
Dynamic library handling inferface wrapper scripts.
--- NEW FILE: benchmarks-genlibwrapper.sh ---
#!/bin/sh
PACKAGE=`echo $1 | cut -f2 -d'-' | cut -f1 -d'.'`
if test "$2"x = "x"; then
PREFIX=.
else
PREFIX=$2
fi
number=0
idx=0
cat <<EOF
CBMBenchmark *cbmlib_getBenchmark(int idx, CBMSystem *_system)
{
switch(idx) {
EOF
for l in $(cat $PREFIX/benchmarks.list); do
package=`echo $l | cut -f2 -d':'`
bench=`echo $l | cut -f3 -d':'`
if test ! "$package" = "$PACKAGE"; then
continue;
fi
number=`expr $number + 1`
cat <<EOF
case $idx:
return(new CBMBenchmark$bench(_system));
;;
EOF
idx=`expr $idx + 1`
done
cat <<EOF
default:
return(0);
;;
}
}
EOF
cat <<EOF
CBMBenchmark *cbmlib_getBenchmarkByName(char *bench_id, CBMSystem *_system)
{
std::string tmp = bench_id;
EOF
for l in $(cat $PREFIX/benchmarks.list); do
package=`echo $l | cut -f2 -d':'`
bench=`echo $l | cut -f1 -d':'`
object=`echo $l | cut -f3 -d':'`
if test ! "$package" = "$PACKAGE"; then
continue;
fi
cat <<EOF
if (tmp=="$bench") {
return(new CBMBenchmark$object(_system));
}
EOF
done
cat <<EOF
return(0);
}
EOF
cat <<EOF
int cbmlib_getBenchmarkNumber(void)
{
return($number);
}
EOF
--- NEW FILE: benchmarks-genliblist.sh ---
#!/bin/sh
if test "$1"x = "x"; then
PREFIX=.
else
PREFIX=$1
fi
for l in $(grep -v '^#' $PREFIX/benchmarks.list); do
benchmark=`echo $l | cut -f1 -d':'`
package=`echo $benchmark | cut -f1 -d'-'`
cat <<EOF
B=cbmlib_bench_load("$benchmark", system);
if (B)
B->display();
EOF
done
|