mirror of
https://github.com/YosysHQ/yosys
synced 2025-05-04 14:25:47 +00:00
Add WASI platform support.
This includes the following significant changes: * Patching ezsat and minisat to disable resource limiting code on WASM/WASI, since the POSIX functions they use are unavailable. * Adding a new definition, YOSYS_DISABLE_SPAWN, present if platform does not support spawning subprocesses (i.e. Emscripten or WASI). This definition hides the definition of `run_command()`. * Adding a new Makefile flag, DISABLE_SPAWN, present in the same condition. This flag disables all passes that require spawning subprocesses for their function.
This commit is contained in:
parent
bc380b0b56
commit
b43c282e4e
17 changed files with 167 additions and 30 deletions
|
@ -238,6 +238,7 @@ void Pass::call(RTLIL::Design *design, std::string command)
|
|||
return;
|
||||
|
||||
if (tok[0] == '!') {
|
||||
#if !defined(YOSYS_DISABLE_SPAWN)
|
||||
cmd_buf = command.substr(command.find('!') + 1);
|
||||
while (!cmd_buf.empty() && (cmd_buf.back() == ' ' || cmd_buf.back() == '\t' ||
|
||||
cmd_buf.back() == '\r' || cmd_buf.back() == '\n'))
|
||||
|
@ -247,6 +248,9 @@ void Pass::call(RTLIL::Design *design, std::string command)
|
|||
if (retCode != 0)
|
||||
log_cmd_error("Shell command returned error code %d.\n", retCode);
|
||||
return;
|
||||
#else
|
||||
log_cmd_error("Shell is not available.\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
while (!tok.empty()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue