wasm: enable WASM_BIGINT

JavaScripts's BigInt feature provides support for arbitrary-precision
integers. This makes it possible to represent 64-bit integers; the
standard JS Number type supports 32-bit integers only (or more
accurately 53-bit integers - see Number.MAX_SAFE_INTEGER).

Enable WASM_BIGINT which makes Emscripten map int64_t and uint64_t
to BigInt when interfacing with JavaScript code.

This removes one of the conditions which enables
wasm-emscripten-finalize.

Task-number: QTBUG-103352
Change-Id: Ia70d599daaf34c92695f5a2b61665e0c237e6b95
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: David Skoland <david.skoland@qt.io>
bb10
Morten Sørvig 2022-05-10 09:09:51 +02:00
parent bd8d3fb47c
commit b119f26a56
2 changed files with 4 additions and 2 deletions

View File

@ -7,7 +7,8 @@ function (qt_internal_setup_wasm_target_properties wasmTarget)
"SHELL:-s EXPORTED_RUNTIME_METHODS=[UTF16ToString,stringToUTF16,specialHTMLTargets]"
"SHELL:-s USE_WEBGL2=1"
"--bind"
"SHELL:-s FETCH=1")
"SHELL:-s FETCH=1"
"SHELL:-s WASM_BIGINT=1")
# Enable MODULARIZE and set EXPORT_NAME, which makes it possible to
# create application instances using a global constructor function,

View File

@ -38,7 +38,8 @@ EMCC_COMMON_LFLAGS += \
--bind \
-s FETCH=1 \
-s MODULARIZE=1 \
-s EXPORT_NAME=createQtAppInstance
-s EXPORT_NAME=createQtAppInstance \
-s WASM_BIGINT=1
# The -s arguments can also be used with release builds,
# but are here in debug for clarity.