diff options
author | whitequark <whitequark@whitequark.org> | 2019-11-11 09:23:06 +0000 |
---|---|---|
committer | whitequark <whitequark@whitequark.org> | 2020-04-30 18:56:25 +0000 |
commit | b43c282e4e0de53b9323a5d8d85b07bc73324a17 (patch) | |
tree | ab7a0beb69f8f4cb7588128fbe248343665b1d7d /libs/minisat/System.cc | |
parent | bc380b0b56e0fa269a0d5844280cc4419d438d3a (diff) | |
download | yosys-b43c282e4e0de53b9323a5d8d85b07bc73324a17.tar.gz yosys-b43c282e4e0de53b9323a5d8d85b07bc73324a17.tar.bz2 yosys-b43c282e4e0de53b9323a5d8d85b07bc73324a17.zip |
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.
Diffstat (limited to 'libs/minisat/System.cc')
-rw-r--r-- | libs/minisat/System.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/minisat/System.cc b/libs/minisat/System.cc index 1921a1d71..345be8c4c 100644 --- a/libs/minisat/System.cc +++ b/libs/minisat/System.cc @@ -101,7 +101,7 @@ double Minisat::memUsedPeak(bool) { return 0; } #endif -#if !defined(_MSC_VER) && !defined(__MINGW32__) +#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__wasm) void Minisat::limitMemory(uint64_t max_mem_mb) { // FIXME: OpenBSD does not support RLIMIT_AS. Not sure how well RLIMIT_DATA works instead. @@ -133,7 +133,7 @@ void Minisat::limitMemory(uint64_t /*max_mem_mb*/) #endif -#if !defined(_MSC_VER) && !defined(__MINGW32__) +#if !defined(_MSC_VER) && !defined(__MINGW32__) && !defined(__wasm) void Minisat::limitTime(uint32_t max_cpu_time) { if (max_cpu_time != 0){ @@ -156,9 +156,13 @@ void Minisat::limitTime(uint32_t /*max_cpu_time*/) void Minisat::sigTerm(void handler(int)) { +#if defined(__wasm) + (void)handler; +#else signal(SIGINT, handler); signal(SIGTERM,handler); #ifdef SIGXCPU signal(SIGXCPU,handler); #endif +#endif } |