overleaf/services/web/frontend/js/features/source-editor/hunspell/compile.sh
Alf Eaton 24c8629cd4 Use Hunspell for client-side spellchecking (#20286)
GitOrigin-RevId: c4d0d9e06fe0cc9d7cb7a058fd0768eb024e44f5
2024-10-14 10:58:36 +00:00

24 lines
803 B
Bash
Executable file

#!/usr/bin/env bash
set -e
COMMIT="e994dceb97fb695bca6bfe5ad5665525426bf01f"
curl -L "https://github.com/hunspell/hunspell/archive/${COMMIT}.tar.gz" | tar xvz
cd "hunspell-${COMMIT}"
autoreconf -fiv
emconfigure ./configure --disable-shared --enable-static
emmake make
em++ \
-s EXPORTED_FUNCTIONS="['_Hunspell_create', '_Hunspell_destroy', '_Hunspell_spell', '_Hunspell_suggest', '_Hunspell_free_list', '_Hunspell_add_dic', '_Hunspell_add', '_Hunspell_remove', '_free', '_malloc', 'FS']" \
-s EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap', 'getValue', 'stringToNewUTF8', 'UTF8ToString', 'WORKERFS']" \
-s ENVIRONMENT=worker \
-s ALLOW_MEMORY_GROWTH \
-lworkerfs.js \
-O2 \
-g2 \
src/hunspell/.libs/libhunspell-1.7.a \
-o hunspell.mjs
cp hunspell.{mjs,wasm} /wasm/