diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2018-09-10 18:18:49 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2018-10-23 17:23:59 +0200 |
commit | 8ebce9c149112d59552ed530361f80372455fdb2 (patch) | |
tree | ebc90eb93345d1b3a77841ed2a92e56a4c1b1baf /platform/wasm/build.sh | |
parent | ddd00f62888c908c84932c2a92a0c2d195b26c36 (diff) | |
download | mupdf-8ebce9c149112d59552ed530361f80372455fdb2.tar.xz |
Add Emscripten / WebAssembly build.
Requires Linux (or possibly MacOS X) and an installed emsdk to build.
Diffstat (limited to 'platform/wasm/build.sh')
-rw-r--r-- | platform/wasm/build.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/platform/wasm/build.sh b/platform/wasm/build.sh new file mode 100644 index 00000000..ee092dc8 --- /dev/null +++ b/platform/wasm/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +make -j4 -C ../.. generate + +source /opt/emsdk/emsdk_env.sh + +echo Building library: +make -j4 -C ../.. \ + OS=wasm build=release \ + XCFLAGS="-DTOFU -DTOFU_CJK -DFZ_ENABLE_SVG=0 -DFZ_ENABLE_HTML=0 -DFZ_ENABLE_EPUB=0 -DFZ_ENABLE_JS=0" \ + libs + +echo +echo Linking WebAssembly: +emcc -Wall -Os -o libmupdf.js \ + -s WASM=1 \ + -s VERBOSE=0 \ + -s ABORTING_MALLOC=0 \ + -s TOTAL_MEMORY=134217728 \ + -s EXTRA_EXPORTED_RUNTIME_METHODS='["ccall","cwrap"]' \ + -s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE='[$Browser,"memcpy","memset","malloc","free"]' \ + -I ../../include \ + --pre-js wrap.js \ + wrap.c \ + ../../build/wasm/release/libmupdf.a \ + ../../build/wasm/release/libmupdf-third.a + +echo Done. |