diff options
author | Aman Goel <amangoel@umich.edu> | 2018-07-04 15:14:58 -0400 |
---|---|---|
committer | Aman Goel <amangoel@umich.edu> | 2018-07-04 15:14:58 -0400 |
commit | f0b1ec3e9758582bc0215e646c331e45a4e2a824 (patch) | |
tree | 2847b1045fbf06420cfdce3ccf8bae1346d8c5b3 /kernel | |
parent | 6e63df6dd08fe424f46039d26f9f238ac1cb4494 (diff) | |
parent | 4d343fc1cdafe469484846051680ca0b1f948549 (diff) | |
download | yosys-f0b1ec3e9758582bc0215e646c331e45a4e2a824.tar.gz yosys-f0b1ec3e9758582bc0215e646c331e45a4e2a824.tar.bz2 yosys-f0b1ec3e9758582bc0215e646c331e45a4e2a824.zip |
Merge branch 'YosysHQ-master'
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/driver.cc | 19 | ||||
-rw-r--r-- | kernel/yosys.cc | 2 |
2 files changed, 19 insertions, 2 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) diff --git a/kernel/yosys.cc b/kernel/yosys.cc index aa5901271..750a154e6 100644 --- a/kernel/yosys.cc +++ b/kernel/yosys.cc @@ -739,7 +739,7 @@ std::string proc_self_dirname() #ifdef EMSCRIPTEN std::string proc_share_dirname() { - return "/share"; + return "/share/"; } #else std::string proc_share_dirname() |