Skip to content

WASI phase 4: --target wasi link driver and wasmtime smoke test #11379

Closed

Description

@proggeramlug

Part of #11375.

  • new --target wasi in crates/perry/src/commands/compile/targets.rs, emitting a .wasm
  • build libperry_runtime.a for wasm32-wasip2 (Tier-2, prebuilt std — no -Z build-std)
  • link with wasm-ld against a wasi-sdk sysroot, then produce a component (wasm-component-ld / wasm-tools component new)
  • pin the WASI runtime version in external-tools.json; smoke test: hello world, try/catch, a GC-heavy loop, a timer, a TCP round trip

Activity

  1. proggeramlug commented on Sep 28, 2026

    @proggeramlug
    ContributorAuthor

    Progress: #11413 landed. perry compile --target wasi now links a runnable wasm32-wasip2 component: a wasm-ld link against a wasi-sdk sysroot, then component creation, with the WASI toolchain pinned. scripts/wasi_smoke.sh runs six programs under wasmtime and diffs them against Node: values, closures/callbacks, classes, collections/JSON, generators/iterator helpers, and process.exit. All six match.

    Still open for this phase, from the smoke list above:

  2. proggeramlug commented on Oct 12, 2026

    @proggeramlug
    ContributorAuthor

    Done by #11413: perry compile --target wasi links a runnable wasm32-wasip2 component, with the toolchain pinned and scripts/wasi_smoke.sh running programs under wasmtime against Node. #12208 completed acceptance support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions