Update of /cvsroot/compbench/CompBenchmarks++/Benchmark
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv30234
Modified Files:
Benchmark-DLLoader.cpp Benchmark-DLLoader.h
Log Message:
Many improvements.
Index: Benchmark-DLLoader.cpp
===================================================================
RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-DLLoader.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Benchmark-DLLoader.cpp 28 Dec 2006 13:18:55 -0000 1.2
--- Benchmark-DLLoader.cpp 28 Dec 2006 18:18:15 -0000 1.3
***************
*** 61,64 ****
--- 61,81 ----
}
+
+
+
+ if (UO_verbose)
+ std::cout << " Checking cbmlib_getBenchmarks... ";
+ r->GetBenchmarks=(cbmlib_internal_getBenchmarks_t) (dlsym(r->library, "cbmlib_getBenchmarks"));
+ if (!r->GetBenchmarks) {
+ dlclose(library);
+ if (UO_verbose)
+ std::cout << "N.A." << std::endl;
+ delete(r);
+ return(0);
+ } else {
+ if (UO_verbose)
+ std::cout << "found." << std::endl;
+ }
+
if (UO_verbose)
std::cout << " Checking cbmlib_getBenchmark... ";
***************
*** 108,112 ****
for(i=0; i<n; i++) {
tmp=cbmlib_paths[i];
! tmp+="/libcompbenchmarks-";
tmp+=package_id;
tmp+=".so";
--- 125,129 ----
for(i=0; i<n; i++) {
tmp=cbmlib_paths[i];
! tmp+="/libcompbenchmarks-bm-";
tmp+=package_id;
tmp+=".so";
Index: Benchmark-DLLoader.h
===================================================================
RCS file: /cvsroot/compbench/CompBenchmarks++/Benchmark/Benchmark-DLLoader.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Benchmark-DLLoader.h 28 Dec 2006 13:18:55 -0000 1.2
--- Benchmark-DLLoader.h 28 Dec 2006 18:18:15 -0000 1.3
***************
*** 25,35 ****
typedef CBMBenchmark* (*cbmlib_internal_benchbyname_t)(char*, CBMSystem*);
/** Low-level internal benchmark's shared library object */
typedef struct cbmlib_internal {
void *library;
! std::string package_id;
! cbmlib_internal_number_t Number;
! cbmlib_internal_bench_t Bench;
! cbmlib_internal_benchbyname_t BenchByName;
};
--- 25,40 ----
typedef CBMBenchmark* (*cbmlib_internal_benchbyname_t)(char*, CBMSystem*);
+ /** Function prototype for getting all benchmarks wihtin a package */
+ typedef std::vector<std::string> (*cbmlib_internal_getBenchmarks_t)(void);
+
+
/** Low-level internal benchmark's shared library object */
typedef struct cbmlib_internal {
void *library;
! std::string package_id;
! cbmlib_internal_number_t Number;
! cbmlib_internal_bench_t Bench;
! cbmlib_internal_benchbyname_t BenchByName;
! cbmlib_internal_getBenchmarks_t GetBenchmarks;
};
|