Commit91fafa4aRecorded17 Jul 2026Repositorysigil-vt
wasm: declare a compute-only wasm-bridge so consumers whole-archive libsigil-vt.a
Message
Adds provides: (wasm-bridge: ((name . vt) ...)) so a wasm app (Slate) --whole-archives libsigil-vt.a, pulling the strong sigilwasmvt_register export in to satisfy the runtime's weak hook (monorepo 0.17.16, t-4c70 rider) — which registers the %vt-* natives. Compute-only: no JS asset / no wasm imports, so no js key (loader emits "js":"" and skips the script load).
This replaces the interim slate-side app-register shim with the durable weak-hook path. Native build/test unaffected (95/95 conformance green).
Changed
package.sgl | 10 ++++++++++
1 file changed, 10 insertions(+)Diff
package.sglmodified
@@ -38,6 +38,16 @@
38
c-sources: '("native/vt.c") 39
native-init: "sigil__init_sigil_vt_module")) 40
+41
;; Declare a wasm-bridge so a consuming wasm app (Slate) whole-archives+42
;; libsigil-vt.a — that pulls the strong `sigil_wasm_vt_register` export+43
;; (native/vt.c) in to satisfy the runtime's weak hook (added in monorepo+44
;; 0.17.16, the t-4c70 rider), which registers the %vt-* natives. COMPUTE-ONLY:+45
;; no JS asset and no wasm imports (the parser is pure computation), so there+46
;; is no `js` — the bridge loader emits `"js":""` and skips the script load.+47
provides: (list+48
wasm-bridge: '((name . vt)+49
(imports . ((sigil vt)))))+50
51
tasks: (list 52
(task 53
name: 'build