Lines Matching +full:- +full:- +full:quiet
21 CROSS_BUILD_DIR = CHECKOUT / "cross-build"
25 LOCAL_SETUP_MARKER = "# Generated by Tools/wasm/wasi.py\n".encode("utf-8")
37 # https://reproducible-builds.org/docs/source-date-epoch/
38 git_epoch_cmd = ["git", "log", "-1", "--pretty=%ct"]
40 epoch = subprocess.check_output(git_epoch_cmd, encoding="utf-8").strip()
70 encoding="utf-8")
79 print(f" Deleting directory (--clean)...")
92 def call(command, *, quiet, **kwargs): argument
95 If 'quiet' is true, then redirect stdout and stderr to a temporary file.
98 if not quiet:
102 stdout = tempfile.NamedTemporaryFile("w", encoding="utf-8",
104 prefix="cpython-wasi-",
107 print(f" Logging output to {stdout.name} (--quiet)...")
143 call(configure, quiet=context.quiet)
149 call(["make", "--jobs", str(cpu_count()), "all"],
150 quiet=context.quiet)
153 cmd = [binary, "-c",
156 version = subprocess.check_output(cmd, encoding="utf-8").strip()
162 """Find the path to wasi-sdk."""
165 elif (default_path := pathlib.Path("/opt/wasi-sdk")).exists():
170 """Calculate environment variables for building with wasi-sdk."""
172 sysroot = wasi_sdk_path / "share" / "wasi-sysroot"
173 env = {"CC": "clang", "CPP": "clang-cpp", "CXX": "clang++",
174 "AR": "llvm-ar", "RANLIB": "ranlib"}
179 if wasi_sdk_path != pathlib.Path("/opt/wasi-sdk"):
181 env[compiler] += f" --sysroot={sysroot}"
203 raise ValueError("WASI-SDK not found; "
205 "https://github.com/WebAssembly/wasi-sdk and/or "
206 "specify via $WASI_SDK_PATH or --wasi-sdk")
208 config_site = os.fsdecode(CHECKOUT / "Tools" / "wasm" / "config.site-wasm32-wasi")
216 pydebug = lib_dir.endswith("-pydebug")
217 python_version = lib_dir.removesuffix("-pydebug").rpartition("-")[-1]
218 sysconfig_data = f"{wasi_build_dir}/build/lib.wasi-wasm32-{python_version}"
220 sysconfig_data += "-pydebug"
230 # `--host-runner`.
244 f"--host={context.host_triple}",
245 f"--build={build_platform()}",
246 f"--with-build-python={build_python}"]
248 configure.append("--with-pydebug")
253 quiet=context.quiet)
257 with exec_script.open("w", encoding="utf-8") as file:
267 call(["make", "--jobs", str(cpu_count()), "all"],
269 quiet=context.quiet)
272 subprocess.check_call([exec_script, "--version"])
298 # The 8388608 value comes from `ulimit -s` under Linux
300 "--wasm max-wasm-stack=8388608 "
302 "--wasi preview2 "
304 #"--wasm threads=y --wasi threads=y "
306 "--dir {HOST_DIR}::{GUEST_DIR} "
308 "--env {ENV_VAR_NAME}={ENV_VAR_VALUE}")
313 configure_build = subcommands.add_parser("configure-build-python",
316 make_build = subcommands.add_parser("make-build-python",
318 configure_host = subcommands.add_parser("configure-host",
323 make_host = subcommands.add_parser("make-host",
328 subcommand.add_argument("--quiet", action="store_true", default=False,
329 dest="quiet",
332 subcommand.add_argument("--clean", action="store_true", default=False,
339 subcommand.add_argument("--wasi-sdk", type=pathlib.Path,
342 help="Path to wasi-sdk; defaults to "
343 "$WASI_SDK_PATH or /opt/wasi-sdk")
344 subcommand.add_argument("--host-runner", action="store",
350 subcommand.add_argument("--host-triple", action="store", default="wasm32-wasip1",
355 dispatch = {"configure-build-python": configure_build_python,
356 "make-build-python": make_build_python,
357 "configure-host": configure_wasi_python,
358 "make-host": make_wasi_python,