Avoid JS ||= in Emscripten
...as at least the baseline (see static/README.wasm.md) emsdk 3.1.46 apparently
uses some acorn-optimizer.js that cannot parse that and causes builds to fail
with
> /home/tdf/lode/emsdk/upstream/emscripten/tools/acorn-optimizer.js:1992
> throw err;
> ^
>
> SyntaxError: Unexpected token (1492:56)
> function runUnoScriptUrls(handle) { globalThis.Module ||= Module; importScripts.apply(self, Emval.toValue(handle)); }
> ^
>
> at pp$4.raise (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:3553:15)
> at pp$9.unexpected (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:764:10)
> at pp$5.parseExprAtomDefault (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2924:10)
> at pp$5.parseExprAtom (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2919:19)
> at pp$5.parseExprSubscripts (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2703:21)
> at pp$5.parseMaybeUnary (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2669:19)
> at pp$5.parseExprOp (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2621:43)
> at pp$5.parseExprOps (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2598:93)
> at pp$5.parseMaybeConditional (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2579:21)
> at pp$5.parseMaybeAssign (/home/tdf/lode/emsdk/upstream/emscripten/node_modules/acorn/dist/acorn.js:2546:21) {
> pos: 63545,
> loc: Position { line: 1492, column: 56 },
> raisedAt: 63546
> }
>
> Node.js v18.20.3
> em++: error: '/home/tdf/lode/emsdk/node/18.20.3_64bit/bin/node /home/tdf/lode/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_duktdfj5/soffice.js JSDCE minifyWhitespace -o /tmp/emscripten_temp_duktdfj5/soffice.jso1.js' failed (returned 1)
> make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_gerrit/tb/src_wasm/desktop/Executable_soffice_bin.mk:10: /home/tdf/lode/jenkins/workspace/lo_gerrit/tb/build_master/instdir/program/soffice.js] Error 1
(<https://ci.libreoffice.org/job/lo_daily_tb_linux_wasm/1145/>)
Change-Id: Ib6155b6f518af056b3d23ec648d0558a5f3ab6c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190044
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
This commit is contained in:
@@ -45,7 +45,7 @@ extern "C" void getUnoScriptUrls(std::vector<std::u16string> * urls) {
|
||||
|
||||
#if HAVE_EMSCRIPTEN_PROXY_TO_PTHREAD
|
||||
EM_JS(void, runUnoScriptUrls, (emscripten::EM_VAL handle), {
|
||||
globalThis.Module ||= Module;
|
||||
globalThis.Module = globalThis.Module || Module;
|
||||
importScripts.apply(self, Emval.toValue(handle));
|
||||
});
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user