summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/wasm/default_pre.prf25
-rw-r--r--mkspecs/features/wasm/emcc_ver.prf23
-rw-r--r--mkspecs/wasm-emscripten/qmake.conf6
3 files changed, 29 insertions, 25 deletions
diff --git a/mkspecs/features/wasm/default_pre.prf b/mkspecs/features/wasm/default_pre.prf
index 982ef0498f..2760889929 100644
--- a/mkspecs/features/wasm/default_pre.prf
+++ b/mkspecs/features/wasm/default_pre.prf
@@ -1,25 +1,2 @@
load(default_pre)
-
-defineReplace(qtEmccRecommendedVersion) {
- return (1.38.27)
-}
-
-defineReplace(qtSystemEmccVersion) {
- E_VERSION = $$system("emcc -v 2>&1 | perl -alne $$shell_quote($_ = $F[9]; s/://; print;) ")
- return ($${E_VERSION})
-}
-
-defineTest(qtConfTest_emccVersion) {
-
- REQ_VERSION = $$qtEmccRecommendedVersion()
- EMCC_VERSION = $$qtSystemEmccVersion()
-
- !defined(QT_EMCC_VERSION, var):!equals(EMCC_VERSION, $${REQ_VERSION}) {
- warning ("You should use the recommended Emscripten version $$REQ_VERSION with this Qt. You have $${EMCC_VERSION} ")
- }
- contains(TEMPLATE, .*app) {
- !equals(QT_EMCC_VERSION, $$EMCC_VERSION) {
- warning("This Qt was built with Emscripten version $${QT_EMCC_VERSION}. You have $${EMCC_VERSION}. The difference may cause issues.")
- }
- }
-}
+load(emcc_ver)
diff --git a/mkspecs/features/wasm/emcc_ver.prf b/mkspecs/features/wasm/emcc_ver.prf
new file mode 100644
index 0000000000..505a321d64
--- /dev/null
+++ b/mkspecs/features/wasm/emcc_ver.prf
@@ -0,0 +1,23 @@
+defineReplace(qtEmccRecommendedVersion) {
+ return (1.38.27)
+}
+
+defineReplace(qtSystemEmccVersion) {
+ E_VERSION = $$system("emcc -v 2>&1 | perl -alne $$shell_quote($_ = $F[9]; s/://; print;) ")
+ return ($${E_VERSION})
+}
+
+defineTest(qtConfTest_emccVersion) {
+
+ REQ_VERSION = $$qtEmccRecommendedVersion()
+ EMCC_VERSION = $$qtSystemEmccVersion()
+
+ !defined(QT_EMCC_VERSION, var):!equals(EMCC_VERSION, $${REQ_VERSION}) {
+ warning ("You should use the recommended Emscripten version $$REQ_VERSION with this Qt. You have $${EMCC_VERSION} ")
+ }
+ contains(TEMPLATE, .*app) {
+ !equals(QT_EMCC_VERSION, $$EMCC_VERSION) {
+ warning("This Qt was built with Emscripten version $${QT_EMCC_VERSION}. You have $${EMCC_VERSION}. The difference may cause issues.")
+ }
+ }
+}
diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf
index cde6dac42b..48c3fb7359 100644
--- a/mkspecs/wasm-emscripten/qmake.conf
+++ b/mkspecs/wasm-emscripten/qmake.conf
@@ -6,6 +6,7 @@ include(../common/gcc-base.conf)
include(../common/clang.conf)
load(device_config)
+load(emcc_ver)
# Support setting WASM_OBJECT_FILES with -device-option WASM_OBJECT_FILES=1
!isEmpty(WASM_OBJECT_FILES): {
@@ -15,7 +16,10 @@ load(device_config)
QMAKE_CXXFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
QMAKE_LFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES
} else {
- EMCC_COMMON_LFLAGS += -s \"BINARYEN_TRAP_MODE=\'clamp\'\"
+ EMSCRIPTEN_VERSION=$$qtSystemEmccVersion()
+ lessThan(EMSCRIPTEN_VERSION, 1.39) {
+ EMCC_COMMON_LFLAGS += -s \"BINARYEN_TRAP_MODE=\'clamp\'\"
+ }
}
EMTERP_FLAGS = \