diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2023-09-19 09:04:53 +0200 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-09-19 09:04:53 +0200 |
| commit | f0a9931eb750474fef5d44c74327636fc9080d37 (patch) | |
| tree | 323a36ccc5ab86d583c63902cd87bfad44fa858f | |
| parent | e207595de9cdf47bf617776df69296d44c85f2d7 (diff) | |
| parent | 50161808c240b2296045887e1fc683eee87905ae (diff) | |
| download | redot-engine-f0a9931eb750474fef5d44c74327636fc9080d37.tar.gz | |
Merge pull request #81869 from akien-mga/web-fix-lto-scalbnf-version-check
Web: Fix version check for missing scalbnf LTO workaround
| -rw-r--r-- | platform/web/detect.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/platform/web/detect.py b/platform/web/detect.py index 7b2e5646d6..3e2bb5cd30 100644 --- a/platform/web/detect.py +++ b/platform/web/detect.py @@ -118,11 +118,6 @@ def configure(env: "Environment"): else: env.Append(CCFLAGS=["-flto"]) env.Append(LINKFLAGS=["-flto"]) - # Workaround https://github.com/emscripten-core/emscripten/issues/19781. - cc_version = get_compiler_version(env) - cc_semver = (int(cc_version["major"]), int(cc_version["minor"]), int(cc_version["patch"])) - if cc_semver >= (3, 1, 42): - env.Append(LINKFLAGS=["-Wl,-u,scalbnf"]) # Sanitizers if env["use_ubsan"]: @@ -204,9 +199,16 @@ def configure(env: "Environment"): env.Append(LINKFLAGS=["-s", "PTHREAD_POOL_SIZE=8"]) env.Append(LINKFLAGS=["-s", "WASM_MEM_MAX=2048MB"]) + # Get version info for checks below. + cc_version = get_compiler_version(env) + cc_semver = (int(cc_version["major"]), int(cc_version["minor"]), int(cc_version["patch"])) + + if env["lto"] != "none": + # 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["dlink_enabled"]: - cc_version = get_compiler_version(env) - cc_semver = (int(cc_version["major"]), int(cc_version["minor"]), int(cc_version["patch"])) if cc_semver < (3, 1, 14): print("GDExtension support requires emscripten >= 3.1.14, detected: %s.%s.%s" % cc_semver) sys.exit(255) |
