summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-07-09 00:17:16 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-07-09 00:21:29 +0200
commit8897c77d50e3de84fbcd33c762d89bc4e94861e1 (patch)
treeb98a7cab89864fc23b5303a05392bdeec1065c25
parentb0467d07bfd84c82de5f5dff9d21dc3a8cacd527 (diff)
downloadredot-engine-8897c77d50e3de84fbcd33c762d89bc4e94861e1.tar.gz
SCons: Default `optimize` to `auto`, fixing `target`/`dev_build` inference for Web
Fixes #94087.
-rw-r--r--SConstruct20
-rw-r--r--platform/web/detect.py1
2 files changed, 13 insertions, 8 deletions
diff --git a/SConstruct b/SConstruct
index 3fabc4706f..8e9a536bdc 100644
--- a/SConstruct
+++ b/SConstruct
@@ -200,7 +200,10 @@ opts.Add(EnumVariable("arch", "CPU architecture", "auto", ["auto"] + architectur
opts.Add(BoolVariable("dev_build", "Developer build with dev-only debugging code (DEV_ENABLED)", False))
opts.Add(
EnumVariable(
- "optimize", "Optimization level", "speed_trace", ("none", "custom", "debug", "speed", "speed_trace", "size")
+ "optimize",
+ "Optimization level (by default inferred from 'target' and 'dev_build')",
+ "auto",
+ ("auto", "none", "custom", "debug", "speed", "speed_trace", "size"),
)
)
opts.Add(BoolVariable("debug_symbols", "Build with debugging symbols", False))
@@ -466,14 +469,15 @@ env.editor_build = env["target"] == "editor"
env.dev_build = env["dev_build"]
env.debug_features = env["target"] in ["editor", "template_debug"]
-if env.dev_build:
- opt_level = "none"
-elif env.debug_features:
- opt_level = "speed_trace"
-else: # Release
- opt_level = "speed"
+if env["optimize"] == "auto":
+ if env.dev_build:
+ opt_level = "none"
+ elif env.debug_features:
+ opt_level = "speed_trace"
+ else: # Release
+ opt_level = "speed"
+ env["optimize"] = ARGUMENTS.get("optimize", opt_level)
-env["optimize"] = ARGUMENTS.get("optimize", opt_level)
env["debug_symbols"] = methods.get_cmdline_bool("debug_symbols", env.dev_build)
if env.editor_build:
diff --git a/platform/web/detect.py b/platform/web/detect.py
index cb4dac1125..79485ea28a 100644
--- a/platform/web/detect.py
+++ b/platform/web/detect.py
@@ -78,6 +78,7 @@ def get_flags():
# -Os reduces file size by around 5 MiB over -O3. -Oz only saves about
# 100 KiB over -Os, which does not justify the negative impact on
# run-time performance.
+ # Note that this overrides the "auto" behavior for target/dev_build.
"optimize": "size",
}