aboutsummaryrefslogtreecommitdiffstats
path: root/icetime
diff options
context:
space:
mode:
authorRobert Ou <rqou@robertou.com>2017-11-15 03:14:14 -0800
committerRobert Ou <rqou@robertou.com>2018-03-31 14:10:36 -0700
commit3bee3cfeadcb57833a90c7789333750676f39e81 (patch)
tree54cd6a8b36740bdd98a4f9dea6c6290ec3d15d59 /icetime
parent9b0603c4bc156b350918c3a8762ffac28b3de42b (diff)
downloadicestorm-3bee3cfeadcb57833a90c7789333750676f39e81.tar.gz
icestorm-3bee3cfeadcb57833a90c7789333750676f39e81.tar.bz2
icestorm-3bee3cfeadcb57833a90c7789333750676f39e81.zip
Mount NODEFS if using emscripten and nodejs
Mounts root directory on `/hostfs` and the current working directory on `/hostcwd`
Diffstat (limited to 'icetime')
-rw-r--r--icetime/icetime.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/icetime/icetime.cc b/icetime/icetime.cc
index 0b7cea2..f9e0994 100644
--- a/icetime/icetime.cc
+++ b/icetime/icetime.cc
@@ -33,6 +33,10 @@
#include <map>
#include <set>
+#ifdef __EMSCRIPTEN__
+#include <emscripten.h>
+#endif
+
// add this number of ns as estimate for clock distribution mismatch
#define GLOBAL_CLK_DIST_JITTER 0.1
@@ -2223,6 +2227,18 @@ void help(const char *cmd)
int main(int argc, char **argv)
{
+#ifdef __EMSCRIPTEN__
+ EM_ASM(
+ if (ENVIRONMENT_IS_NODE)
+ {
+ FS.mkdir('/hostcwd');
+ FS.mount(NODEFS, { root: '.' }, '/hostcwd');
+ FS.mkdir('/hostfs');
+ FS.mount(NODEFS, { root: '/' }, '/hostfs');
+ }
+ );
+#endif
+
bool listnets = false;
bool print_timing = false;
bool interior_timing = false;