fluffos/.github
Yucong Sun 0096a6e70c feat(wasm): enable the pcre package on the WebAssembly target
Cross-build classic libpcre 8.45 (the library src/packages/pcre links)
with emconfigure/emmake into the wasm-deps prefix and stop forcing
PACKAGE_PCRE off under EMSCRIPTEN, so all pcre_* efuns exist in the
browser driver. Mudlibs whose boot-critical code (e.g. simul_efuns
doing ANSI handling with pcre_replace) calls these no longer fail to
boot on wasm.

- tools/wasm/build-deps.sh: new PCRE section following the ICU
  pattern (idempotent re-run guard extended, PCRE_VER override).
  Static, UTF-8 + Unicode properties on (the driver compiles every
  pattern with PCRE_UTF8), JIT off (no executable pages in wasm),
  default chartables (no host-run dftables needed).
- src/CMakeLists.txt: drop the forced PACKAGE_PCRE OFF; FindPCRE
  locates the static lib through CMAKE_FIND_ROOT_PATH -> wasm-deps.
- .github/actions/build-wasm: pcre-ver input feeds the deps cache key
  (old ICU-only caches no longer match) and PCRE_VER reaches
  build-deps.sh.
- docs/build-wasm.md, src/wasm/README.md: pcre moved out of the
  absent-package lists; deps/build notes updated.

Verified: wasm LPC testsuite passes with the 9 pcre efun tests now
active (621 OK / 0 failed, same as native); native rebuild + testsuite
unaffected. fluffos.wasm grows 3,390,869 -> 3,604,494 bytes (+209KB
raw, ~0.84MB brotli over the wire).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VyQCUoTo1Z93Py9aVFHQi1
2026-07-23 23:58:50 -07:00
..
actions feat(wasm): enable the pcre package on the WebAssembly target 2026-07-23 23:58:50 -07:00
workflows lpcc: JSON-native stage outputs, wasm lpcc, disassembler fixes (#1283) 2026-07-17 22:27:17 -07:00