From d3405c15bf74b9a61968aa93ccbc61155e05585f Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 9 Oct 2014 10:51:24 +0200 Subject: [PATCH] No rusage on win32 --- kernel/driver.cc | 6 +++++- kernel/log.h | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/kernel/driver.cc b/kernel/driver.cc index f26d9ef82..4210d7ca4 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -268,12 +268,16 @@ int main(int argc, char **argv) delete log_hasher; log_hasher = nullptr; + log_spacer(); +#ifdef WIN32 + log("End of script. Logfile hash: %s\n", hash.c_str()); +#else struct rusage ru_buffer; getrusage(RUSAGE_SELF, &ru_buffer); - log_spacer(); log("End of script. Logfile hash: %s, CPU: user %.2fs system %.2fs\n", hash.c_str(), ru_buffer.ru_utime.tv_sec + 1e-6 * ru_buffer.ru_utime.tv_usec, ru_buffer.ru_stime.tv_sec + 1e-6 * ru_buffer.ru_stime.tv_usec); +#endif log("%s\n", yosys_version_str); int64_t total_ns = 0; diff --git a/kernel/log.h b/kernel/log.h index 2177db095..4514c420b 100644 --- a/kernel/log.h +++ b/kernel/log.h @@ -24,7 +24,10 @@ #include #include -#include + +#ifndef WIN32 +# include +#endif // from libs/sha1/sha1.h class SHA1; @@ -154,6 +157,8 @@ struct PerformanceTimer t = 1000000000ULL * (int64_t) rusage.ru_utime.tv_sec + (int64_t) rusage.ru_utime.tv_usec * 1000ULL; t += 1000000000ULL * (int64_t) rusage.ru_stime.tv_sec + (int64_t) rusage.ru_stime.tv_usec * 1000ULL; return t; +#elif WIN32 + return 0; #else #error Dont know how to measure per-process CPU time. Need alternative method (times()/clocks()/gettimeofday()?). #endif @@ -191,8 +196,10 @@ static inline void log_dump_val_worker(int v) { log("%d", v); } static inline void log_dump_val_worker(unsigned int v) { log("%u", v); } static inline void log_dump_val_worker(long int v) { log("%ld", v); } static inline void log_dump_val_worker(unsigned long int v) { log("%lu", v); } +#ifndef WIN32 static inline void log_dump_val_worker(long long int v) { log("%lld", v); } static inline void log_dump_val_worker(unsigned long long int v) { log("%lld", v); } +#endif static inline void log_dump_val_worker(char c) { log(c >= 32 && c < 127 ? "'%c'" : "'\\x%02x'", c); } static inline void log_dump_val_worker(unsigned char c) { log(c >= 32 && c < 127 ? "'%c'" : "'\\x%02x'", c); } static inline void log_dump_val_worker(bool v) { log("%s", v ? "true" : "false"); } -- 2.30.2