From 4ae03d98ee8175a65e9eb7eb736aa15120db9457 Mon Sep 17 00:00:00 2001 From: whitequark Date: Thu, 7 Oct 2021 14:55:49 +0000 Subject: [PATCH] Allow using any absolute or relative paths on Linux and Windows. --- pypi/yowasp_yosys/__init__.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pypi/yowasp_yosys/__init__.py b/pypi/yowasp_yosys/__init__.py index 95a81a2..c7003f2 100644 --- a/pypi/yowasp_yosys/__init__.py +++ b/pypi/yowasp_yosys/__init__.py @@ -27,10 +27,15 @@ def _run_wasm_app(wasm_filename, argv): wasi_cfg.argv = argv wasi_cfg.preopen_dir(str(importlib_resources.files(__package__) / "share"), "/share") wasi_cfg.preopen_dir(_tempdir.name, "/tmp") - wasi_cfg.preopen_dir("/", "/") + if os.name == "nt": + for letter in "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ": + wasi_cfg.preopen_dir(letter + ":\\", letter + ":") + else: + wasi_cfg.preopen_dir("/", "/") wasi_cfg.preopen_dir(".", ".") - # sby needs to run `yowasp-yosys -ql ../model/design.log ../model/design.ys` - wasi_cfg.preopen_dir("..", "..") + for level in range(len(pathlib.Path().cwd().parts)): + wasi_cfg.preopen_dir(str(pathlib.Path("").joinpath(*[".."] * level)), + "/".join([".."] * level)) wasi_cfg.inherit_stdin() wasi_cfg.inherit_stdout() wasi_cfg.inherit_stderr()