std.zig.system: Make getExternalExecutor() less opinionated about Wasmtime.

Wasmtime supports both wasm32 and wasm64, and can run freestanding WASM binaries
just fine (although the usefulness of the latter is fairly limited).
This commit is contained in:
Alex Rønne Petersen 2025-04-02 23:47:37 +02:00
parent 11db7eaf4e
commit c3f2222a59
No known key found for this signature in database

View File

@ -125,6 +125,10 @@ pub fn getExternalExecutor(
};
}
if (options.allow_wasmtime and candidate.cpu.arch.isWasm()) {
return Executor{ .wasmtime = "wasmtime" };
}
switch (candidate.os.tag) {
.windows => {
if (options.allow_wine) {
@ -142,15 +146,6 @@ pub fn getExternalExecutor(
}
return bad_result;
},
.wasi => {
if (options.allow_wasmtime) {
switch (candidate.ptrBitWidth()) {
32 => return Executor{ .wasmtime = "wasmtime" },
else => return bad_result,
}
}
return bad_result;
},
.macos => {
if (options.allow_darling) {
// This check can be loosened once darling adds a QEMU-based emulation