Skip to content

Commit 5dea040

Browse files
authored
Merge pull request #31 from OpenVicProject/overhaul/optimize-flags
Overhaul optimize build flags
2 parents 91f170a + 6cfa525 commit 5dea040

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

build/common_compiler_flags.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,15 @@ def generate(env):
5454
env.Append(CCFLAGS=["-fvisibility=hidden"])
5555
env.Append(LINKFLAGS=["-fvisibility=hidden"])
5656

57+
if env["optimize"] == "speed":
58+
env.Append(CPPDEFINES=["OPT_SPEED_ENABLED"])
59+
elif env["optimize"] == "speed_trace":
60+
env.Append(CPPDEFINES=["OPT_SPEED_TRACE_ENABLED"])
61+
elif env["optimize"] == "size":
62+
env.Append(CPPDEFINES=["OPT_SIZE_ENABLED"])
63+
elif env["optimize"] == "debug":
64+
env.Append(CPPDEFINES=["OPT_DEBUG_ENABLED"])
65+
5766
# Set optimize and debug_symbols flags.
5867
# "custom" means do nothing and let users set their own optimization flags.
5968
if env.get("is_msvc", False):

tools/targets.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ def options(opts):
4343
opts.Add(
4444
EnumVariable(
4545
"optimize",
46-
"The desired optimization flags",
47-
"speed_trace",
48-
("none", "custom", "debug", "speed", "speed_trace", "size"),
46+
"Optimization level (by default inferred from 'target' and 'dev_build')",
47+
"auto",
48+
["auto", "none", "custom", "debug", "speed", "speed_trace", "size"],
49+
ignorecase=2,
4950
)
5051
)
5152
opts.Add(
@@ -79,14 +80,15 @@ def generate(env):
7980
env.dev_build = env["dev_build"]
8081
env.debug_features = env["target"] in ["editor", "template_debug"]
8182

82-
if env.dev_build:
83-
opt_level = "none"
84-
elif env.debug_features:
85-
opt_level = "speed_trace"
86-
else: # Release
87-
opt_level = "speed"
83+
if env["optimize"] == "auto":
84+
if env.dev_build:
85+
opt_level = "none"
86+
elif env.debug_features:
87+
opt_level = "speed_trace"
88+
else: # Release
89+
opt_level = "speed"
90+
env["optimize"] = ARGUMENTS.get("optimize", opt_level)
8891

89-
env["optimize"] = ARGUMENTS.get("optimize", opt_level)
9092
env["debug_symbols"] = get_cmdline_bool("debug_symbols", env.dev_build)
9193

9294
if env.use_hot_reload:

0 commit comments

Comments
 (0)