You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4735908
Browse filesBrowse the repository at this point in the historyBrowse files
wasm32-emscripten names its launcher .js and carries the .wasm as a link output (#622 A5)
- artifact_naming grows an `emscripten` row (triple.cppm): exeSuffix ".js",
lib prefix/ext as ELF's, sharedLibExt empty with the shared-unsupported
marker set. Independent of host naming (Linux/Windows both answer ".js"),
and a "none" OS still falls back to the host answer unchanged.
- LinkIntentFlavor gains Wasm, rendered exactly as Elf (-L, -l); the switch
in flags.cppm has no default arm.
- ninja_backend.cppm declares bin/<name>.wasm as an implicit output of the
same link edge that writes bin/<name>.js, for every Binary/TestBinary link
unit on a Wasm-object-format triple.
- prepare.cppm refuses `kind = "shared"` on a Wasm triple by name, before any
toolchain is resolved (same site/reasoning as the Apple SDK check it sits
beside), naming -sSIDE_MODULE as the unrendered mechanism.
- stage_tree.cppm adds emscripten_stem_family(): the launcher is the
executable, the family is every other <name>.<anything> the link also
wrote, read from the directory rather than a fixed extension list.
pack.cppm gains a wasm packaging path (Plan::targetIsWasm, run_wasm) that
stages the launcher plus the whole stem family, with no dependency-closure
step (an ordinary Emscripten link is one static image).
Verified end to end on this machine's installed emsdk@6.0.9 payload:
`mcpp build/run/pack --target wasm32-emscripten` names bin/app.js +
bin/app.wasm, runs and prints its marker (fixture declares its own
`[target.wasm32-emscripten] runner = ["node"]`), and stages both files under
`--format dir` and `--format tar` with both listed in .stage-manifest. The
`shared` refusal is reached with MCPP_NO_AUTO_INSTALL=1 (no network).
Tests: tests/unit/test_artifact_naming.cpp (new emscripten/none-OS cases),
tests/unit/test_pack_stage_tree.cpp (emscripten_stem_family, positive and
negative), tests/e2e/650_wasm_row_names_its_launcher.sh.
0 commit comments