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.
This commit is contained in:
Brett Cannon 2025-09-05 15:48:16 -07:00 committed by GitHub
parent 92b2a8a04d
commit bde1291952
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 6 deletions

View file

@ -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.

6
configure generated vendored
View file

@ -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=''
;;

View file

@ -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