commit c3f2222a59af4c189562b63c45ead23b02cda5cc (tree)
parent 11db7eaf4efd0305c294a53c74e022e2231f67d3
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Wed, 2 Apr 2025 23:47:37 +0200
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).
Diffstat:
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/lib/std/zig/system.zig b/lib/std/zig/system.zig
@@ -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