Development/WASM

Introduction
This page describes the port of LibreOffice to WebAssembly (aka WASM) using the Emscripten toolchain, currently targeting the Qt5 VCL backend. The goal is to cross-compile LibreOffice to run in the Browser, maybe with some native UI using LibreOfficeKit. Eventually we can target some WASI runtime or node.js in the future.

Current state
Work is now merged in master. feature/wasm will be removed, once the last two WIP patches are merged.

State: LibreOffice builds, vcldemo as well; both run in recent desktop browsers. Writer works (somewhat).

If you want to help out or have questions, poke jmux or alg or thorsten on IRC (#libreoffice-dev).

Demo websites:
 * latest master build: https://wasm-test.libreoffice.org/
 * feature/wasm branch: https://lab.allotropia.de/wasm/

Setup, build and further information
Instead of keeping outdated info here, please check out the README.wasm.md.

For what's needed on the webserver / CI side, this redmine ticket holds some details: https://redmine.documentfoundation.org/issues/3545

Further resources

 * SBOM (software bill of materials), derived from Debian's LibreOffice packages: https://share.allotropia.de/s/R3qrzgMcq8iyMtC
 * CI setup script (TBD for gerrit/Jenkins, once feature/wasm is merged to master): https://git.libreoffice.org/lode/+/2ce1c7b4d1735ff8f66949bb61deac799be28ed6
 * if you prepare building against a controlled container setup, perhaps this is better: https://git.libreoffice.org/lode/+/ccb36979563635b51215477455953252c99ec013
 * FOSDEM talks:
 * 2021: https://archive.fosdem.org/2021/schedule/event/lo_wasm/
 * 2022: https://fosdem.org/2022/schedule/event/lotech_lowa/