aboutsummaryrefslogtreecommitdiffstats
path: root/icemulti/icemulti.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-04-01 15:19:27 +0200
committerGitHub <noreply@github.com>2018-04-01 15:19:27 +0200
commit21809924600a7d6608ba0f2d098ee3ae30f64834 (patch)
tree54cd6a8b36740bdd98a4f9dea6c6290ec3d15d59 /icemulti/icemulti.cc
parent9b0603c4bc156b350918c3a8762ffac28b3de42b (diff)
parent3bee3cfeadcb57833a90c7789333750676f39e81 (diff)
downloadicestorm-21809924600a7d6608ba0f2d098ee3ae30f64834.tar.gz
icestorm-21809924600a7d6608ba0f2d098ee3ae30f64834.tar.bz2
icestorm-21809924600a7d6608ba0f2d098ee3ae30f64834.zip
Merge pull request #108 from rqou/master
Better emscripten support
Diffstat (limited to 'icemulti/icemulti.cc')
-rw-r--r--icemulti/icemulti.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/icemulti/icemulti.cc b/icemulti/icemulti.cc
index 65ae6b6..4bc0919 100644
--- a/icemulti/icemulti.cc
+++ b/icemulti/icemulti.cc
@@ -24,6 +24,10 @@
#include <stdlib.h>
#include <string.h>
+#ifdef __EMSCRIPTEN__
+#include <emscripten.h>
+#endif
+
#define log(...) fprintf(stderr, __VA_ARGS__);
#define error(...) do { fprintf(stderr, "%s: ", program_short_name); fprintf(stderr, __VA_ARGS__); exit(EXIT_FAILURE); } while (0)
@@ -178,6 +182,18 @@ void usage()
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
+
int c;
char *endptr = NULL;
bool coldboot = false;