diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2024-02-19 10:46:20 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2024-02-19 15:24:07 +0100 |
commit | 9c56c1f7c2a9aa28eb800d16d783290ff4b55aa4 (patch) | |
tree | 236c816df954de071fea3f7483445ac702f9ebcf | |
parent | f54d222d223262b07580a082f95a9f9935d5743f (diff) |
QMake: Fix quoting of WASM's ASYNCIFY_IMPORTS linker option
WASM projects failed to link on Windows if "CONFIG += silent" was
specified in the .pro file and the build environment did not contain
sh.exe.
In that case, QMake prepends "@echo linking && " to the link command.
The mingw32-make tool then considers this command as "complex command"
and runs it through either sh.exe or cmd.exe, depending on whether
sh.exe is found in PATH. If cmd.exe is used, the single quotes around
the ASYNCIFY_IMPORTS option are passed verbatim to em++. Then em++
thinks 'ASYNCIFY_IMPORTS=qt_asyncify_suspend_js,qt_asyncify_resume_js'
is an input file. That file is of course non-existent, and linking
fails.
Remove the single quotes around the linker option. They are not
necessary.
Pick-to: 6.5 6.6 6.7
Fixes: QTBUG-122192
Change-Id: Id362b51ac787f7f235bcb3d9102c5dee66ce5768
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
-rw-r--r-- | mkspecs/common/wasm/wasm.conf | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mkspecs/common/wasm/wasm.conf b/mkspecs/common/wasm/wasm.conf index adad999200..2a5ea23145 100644 --- a/mkspecs/common/wasm/wasm.conf +++ b/mkspecs/common/wasm/wasm.conf @@ -26,7 +26,7 @@ load(emcc_ver) } # Declare async functions -QMAKE_LFLAGS += -s \'ASYNCIFY_IMPORTS=qt_asyncify_suspend_js,qt_asyncify_resume_js\' +QMAKE_LFLAGS += -s ASYNCIFY_IMPORTS=qt_asyncify_suspend_js,qt_asyncify_resume_js EMCC_COMMON_LFLAGS += \ -s WASM=1 \ |