From: Brett Cannon Date: Fri, 5 Sep 2025 22:48:16 +0000 (-0700) Subject: GH-95952: Require setting `HOSTRUNNER` when cross compiling for WASI (#138203) X-Git-Tag: v3.15.0a1~472 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bde12919522b0c40fd9eaa2b2681695166497aba;p=thirdparty%2FPython%2Fcpython.git GH-95952: Require setting `HOSTRUNNER` when cross compiling for WASI (#138203) macOS by default doesn't have the requisite CLI tools to make a default value easy. Plus Tools/wasm/wasi takes care of setting HOSTRUNNER. --- diff --git a/Misc/NEWS.d/next/Build/2025-08-27-11-32-02.gh-issue-95952.KSymc7.rst b/Misc/NEWS.d/next/Build/2025-08-27-11-32-02.gh-issue-95952.KSymc7.rst new file mode 100644 index 000000000000..0e4b4615342b --- /dev/null +++ b/Misc/NEWS.d/next/Build/2025-08-27-11-32-02.gh-issue-95952.KSymc7.rst @@ -0,0 +1,5 @@ +When cross-compiling for WASI, require that the HOSTRUNNER environment +variable be explicitly set. + +This was needed as macOS lacks the appropriate CLI tools to set a reasonable +default. diff --git a/configure b/configure index bdeab8a6d126..7dd333690a3a 100755 --- a/configure +++ b/configure @@ -7903,8 +7903,10 @@ then : as_fn_append HOSTRUNNER " --experimental-wasm-memory64" fi ;; #( - WASI) : - HOSTRUNNER='wasmtime run --wasm max-wasm-stack=16777216 --wasi preview2=n --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/' ;; #( + WASI) : + + as_fn_error $? "HOSTRUNNER must be set when cross-compiling to WASI" "$LINENO" 5 + ;; #( *) : HOSTRUNNER='' ;; diff --git a/configure.ac b/configure.ac index 991fa40746be..8fc8f1eced20 100644 --- a/configure.ac +++ b/configure.ac @@ -1636,10 +1636,9 @@ then HOSTRUNNER="$NODE" AS_VAR_IF([host_cpu], [wasm64], [AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-memory64"])]) ], - dnl TODO: support other WASI runtimes - dnl wasmtime starts the process with "/" as CWD. For OOT builds add the - dnl directory containing _sysconfigdata to PYTHONPATH. - [WASI], [HOSTRUNNER='wasmtime run --wasm max-wasm-stack=16777216 --wasi preview2=n --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/'], + [WASI], [ + AC_MSG_ERROR([HOSTRUNNER must be set when cross-compiling to WASI]) + ], [HOSTRUNNER=''] ) fi