diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-05-19 08:42:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-19 08:42:45 +0200 |
commit | a5f4b44745f023dffd096258d965d3c5d685021e (patch) | |
tree | b5d90d65e4cb43c3a3a403b566357d19664ce5df /kernel/driver.cc | |
parent | 177a989e48d13b1b983b28a9c322967548a138ee (diff) | |
parent | bea71e71ca4f2b756519cd67ec99d24f1e70b53b (diff) | |
download | yosys-a5f4b44745f023dffd096258d965d3c5d685021e.tar.gz yosys-a5f4b44745f023dffd096258d965d3c5d685021e.tar.bz2 yosys-a5f4b44745f023dffd096258d965d3c5d685021e.zip |
Merge pull request #454 from rqou/emscripten-and-abc
Add option to statically link abc; emscripten fixes
Diffstat (limited to 'kernel/driver.cc')
-rw-r--r-- | kernel/driver.cc | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/kernel/driver.cc b/kernel/driver.cc index bec872c24..178641101 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -85,20 +85,37 @@ USING_YOSYS_NAMESPACE #ifdef EMSCRIPTEN # include <sys/stat.h> # include <sys/types.h> +# include <emscripten.h> extern "C" int main(int, char**); extern "C" void run(const char*); extern "C" const char *errmsg(); extern "C" const char *prompt(); -int main(int, char**) +int main(int argc, char **argv) { + EM_ASM( + if (ENVIRONMENT_IS_NODE) + { + FS.mkdir('/hostcwd'); + FS.mount(NODEFS, { root: '.' }, '/hostcwd'); + FS.mkdir('/hostfs'); + FS.mount(NODEFS, { root: '/' }, '/hostfs'); + } + ); + mkdir("/work", 0777); chdir("/work"); log_files.push_back(stdout); log_error_stderr = true; yosys_banner(); yosys_setup(); + + if (argc == 2) + { + // Run the first argument as a script file + run_frontend(argv[1], "script", 0, 0, 0); + } } void run(const char *command) |