SCons: Default `optimize` to `auto`, fixing `target`/`dev_build` inference for Web
Fixes #94087.
This commit is contained in:
parent
b0467d07bf
commit
8897c77d50
20
SConstruct
20
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(BoolVariable("dev_build", "Developer build with dev-only debugging code (DEV_ENABLED)", False))
|
||||||
opts.Add(
|
opts.Add(
|
||||||
EnumVariable(
|
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))
|
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.dev_build = env["dev_build"]
|
||||||
env.debug_features = env["target"] in ["editor", "template_debug"]
|
env.debug_features = env["target"] in ["editor", "template_debug"]
|
||||||
|
|
||||||
if env.dev_build:
|
if env["optimize"] == "auto":
|
||||||
opt_level = "none"
|
if env.dev_build:
|
||||||
elif env.debug_features:
|
opt_level = "none"
|
||||||
opt_level = "speed_trace"
|
elif env.debug_features:
|
||||||
else: # Release
|
opt_level = "speed_trace"
|
||||||
opt_level = "speed"
|
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)
|
env["debug_symbols"] = methods.get_cmdline_bool("debug_symbols", env.dev_build)
|
||||||
|
|
||||||
if env.editor_build:
|
if env.editor_build:
|
||||||
|
|
|
@ -78,6 +78,7 @@ def get_flags():
|
||||||
# -Os reduces file size by around 5 MiB over -O3. -Oz only saves about
|
# -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
|
# 100 KiB over -Os, which does not justify the negative impact on
|
||||||
# run-time performance.
|
# run-time performance.
|
||||||
|
# Note that this overrides the "auto" behavior for target/dev_build.
|
||||||
"optimize": "size",
|
"optimize": "size",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue