From 1c125e6cc6880220cbc603b85a08ac6d0f7d4204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Mon, 18 Sep 2023 16:32:13 +0200 Subject: [PATCH] Web: Fix version check for missing scalbnf LTO workaround The check needs to happen after we set `env["CXX"]`. Follow-up to #81340. (cherry picked from commit 50161808c240b2296045887e1fc683eee87905ae) --- platform/javascript/detect.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index 8a61813b5a3..a8e34b0c2cb 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -108,12 +108,6 @@ def configure(env): env.Append(CCFLAGS=["-flto=full"]) env.Append(LINKFLAGS=["-flto=full"]) - if env["use_thinlto"] or env["use_lto"]: - # Workaround https://github.com/emscripten-core/emscripten/issues/19781. - cc_semver = tuple(get_compiler_version(env)) - if cc_semver >= (3, 1, 42): - env.Append(LINKFLAGS=["-Wl,-u,scalbnf"]) - # Sanitizers if env["use_ubsan"]: env.Append(CCFLAGS=["-fsanitize=undefined"]) @@ -191,8 +185,15 @@ def configure(env): else: env.Append(CPPDEFINES=["NO_THREADS"]) + # Get version info for checks below. + cc_semver = tuple(get_compiler_version(env)) + + if env["use_thinlto"] or env["use_lto"]: + # Workaround https://github.com/emscripten-core/emscripten/issues/19781. + if cc_semver >= (3, 1, 42) and cc_semver < (3, 1, 46): + env.Append(LINKFLAGS=["-Wl,-u,scalbnf"]) + if env["gdnative_enabled"]: - cc_semver = tuple(get_compiler_version(env)) if cc_semver < (2, 0, 10): print("GDNative support requires emscripten >= 2.0.10, detected: %s.%s.%s" % cc_semver) sys.exit(255)