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