diff options
author | Clifford Wolf <clifford@clifford.at> | 2014-10-15 01:20:14 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2014-10-15 01:20:14 +0200 |
commit | 8cea352a6aafa80d397d8a6a7d195c1378dcb324 (patch) | |
tree | cc670a0dadca8f6df7a1d24e1f00fa649d40f29a /kernel/log.cc | |
parent | 2873a8444ee5dbd0a3d034fb4a7a877c680be45d (diff) | |
parent | 1fc6208ec05af672c7c6b7973b0eba1295bca5f4 (diff) | |
download | yosys-8cea352a6aafa80d397d8a6a7d195c1378dcb324.tar.gz yosys-8cea352a6aafa80d397d8a6a7d195c1378dcb324.tar.bz2 yosys-8cea352a6aafa80d397d8a6a7d195c1378dcb324.zip |
Merge branch 'win32'
Diffstat (limited to 'kernel/log.cc')
-rw-r--r-- | kernel/log.cc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/kernel/log.cc b/kernel/log.cc index 87a75410d..2cae6a636 100644 --- a/kernel/log.cc +++ b/kernel/log.cc @@ -21,7 +21,10 @@ #include "libs/sha1/sha1.h" #include "backends/ilang/ilang_backend.h" -#include <sys/time.h> +#ifndef _WIN32 +# include <sys/time.h> +#endif + #include <stdlib.h> #include <stdio.h> #include <string.h> @@ -48,6 +51,26 @@ static struct timeval initial_tv = { 0, 0 }; static bool next_print_log = false; static int log_newline_count = 0; +#ifdef _WIN32 +// this will get time information and return it in timeval, simulating gettimeofday() +int gettimeofday(struct timeval *tv, struct timezone *tz) +{ + LARGE_INTEGER counter; + LARGE_INTEGER freq; + + QueryPerformanceFrequency(&freq); + QueryPerformanceCounter(&counter); + + counter.QuadPart *= 1000000; + counter.QuadPart /= freq.QuadPart; + + tv->tv_sec = counter.QuadPart / 1000000; + tv->tv_usec = counter.QuadPart % 1000000; + + return 0; +} +#endif + void logv(const char *format, va_list ap) { while (format[0] == '\n' && format[1] != 0) { |