diff options
author | jiegec <noc@jiegec.ac.cn> | 2020-03-11 22:08:02 +0800 |
---|---|---|
committer | jiegec <noc@jiegec.ac.cn> | 2020-03-11 22:09:24 +0800 |
commit | 7b679eecb334e1f52bdf5878118ba2631835b8b3 (patch) | |
tree | 8fedf9639bc9d79f42d67502bf779a962658775e | |
parent | dd8ebf7873eadab9c6d0fba8c4ed25eb88acbb8f (diff) | |
download | yosys-7b679eecb334e1f52bdf5878118ba2631835b8b3.tar.gz yosys-7b679eecb334e1f52bdf5878118ba2631835b8b3.tar.bz2 yosys-7b679eecb334e1f52bdf5878118ba2631835b8b3.zip |
Fix compilation for emcc
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | frontends/rpc/Makefile.inc | 3 | ||||
-rw-r--r-- | kernel/log.cc | 1 | ||||
-rw-r--r-- | kernel/yosys.cc | 4 |
4 files changed, 8 insertions, 3 deletions
@@ -237,7 +237,7 @@ ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H -DABC_MEMALIGN=8" EMCCFLAGS := -Os -Wno-warn-absolute-paths EMCCFLAGS += --memory-init-file 0 --embed-file share -s NO_EXIT_RUNTIME=1 EMCCFLAGS += -s EXPORTED_FUNCTIONS="['_main','_run','_prompt','_errmsg']" -EMCCFLAGS += -s TOTAL_MEMORY=128*1024*1024 +EMCCFLAGS += -s TOTAL_MEMORY=134217728 # https://github.com/kripken/emscripten/blob/master/src/settings.js CXXFLAGS += $(EMCCFLAGS) LDFLAGS += $(EMCCFLAGS) @@ -895,6 +895,7 @@ config-emcc: clean echo 'ENABLE_ABC := 0' >> Makefile.conf echo 'ENABLE_PLUGINS := 0' >> Makefile.conf echo 'ENABLE_READLINE := 0' >> Makefile.conf + echo 'ENABLE_ZLIB := 0' >> Makefile.conf config-mxe: clean echo 'CONFIG := mxe' > Makefile.conf diff --git a/frontends/rpc/Makefile.inc b/frontends/rpc/Makefile.inc index 9af505098..7b270b6fe 100644 --- a/frontends/rpc/Makefile.inc +++ b/frontends/rpc/Makefile.inc @@ -1,2 +1,3 @@ - +ifneq ($(CONFIG),emcc) OBJS += frontends/rpc/rpc_frontend.o +endif diff --git a/kernel/log.cc b/kernel/log.cc index 72181ebe8..2f8ce9e8c 100644 --- a/kernel/log.cc +++ b/kernel/log.cc @@ -695,7 +695,6 @@ void log_check_expected() log_warn_regexes.clear(); log("Expected error pattern '%s' found !!!\n", item.second.pattern.c_str()); #ifdef EMSCRIPTEN - log_files = backup_log_files; throw 0; #elif defined(_MSC_VER) _exit(0); diff --git a/kernel/yosys.cc b/kernel/yosys.cc index 8190d8902..7694fc9b6 100644 --- a/kernel/yosys.cc +++ b/kernel/yosys.cc @@ -341,7 +341,11 @@ int run_command(const std::string &command, std::function<void(const std::string if (!process_line) return system(command.c_str()); +#ifdef EMSCRIPTEN + FILE *f = nullptr; +#else FILE *f = popen(command.c_str(), "r"); +#endif if (f == nullptr) return -1; |