aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/log.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-10-15 01:20:14 +0200
committerClifford Wolf <clifford@clifford.at>2014-10-15 01:20:14 +0200
commit8cea352a6aafa80d397d8a6a7d195c1378dcb324 (patch)
treecc670a0dadca8f6df7a1d24e1f00fa649d40f29a /kernel/log.cc
parent2873a8444ee5dbd0a3d034fb4a7a877c680be45d (diff)
parent1fc6208ec05af672c7c6b7973b0eba1295bca5f4 (diff)
downloadyosys-8cea352a6aafa80d397d8a6a7d195c1378dcb324.tar.gz
yosys-8cea352a6aafa80d397d8a6a7d195c1378dcb324.tar.bz2
yosys-8cea352a6aafa80d397d8a6a7d195c1378dcb324.zip
Merge branch 'win32'
Diffstat (limited to 'kernel/log.cc')
-rw-r--r--kernel/log.cc25
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) {