SCons: Convert platform get_flags to dictionary

This commit is contained in:
Thaddeus Crews 2024-05-19 09:41:03 -05:00
parent 8e2141eac5
commit 896b003cc8
No known key found for this signature in database
GPG key ID: 62181B86FE9E5D84
7 changed files with 38 additions and 36 deletions

View file

@ -122,6 +122,8 @@ for x in sorted(glob.glob("platform/*")):
platform_list += [x]
platform_opts[x] = detect.get_opts()
platform_flags[x] = detect.get_flags()
if isinstance(platform_flags[x], list): # backwards compatibility
platform_flags[x] = {flag[0]: flag[1] for flag in platform_flags[x]}
sys.path.remove(tmppath)
sys.modules.pop("detect")
@ -569,9 +571,9 @@ if env["build_profile"] != "":
# Platform specific flags.
# These can sometimes override default options.
flag_list = platform_flags[env["platform"]]
for f in flag_list:
if f[0] not in ARGUMENTS or ARGUMENTS[f[0]] == "auto": # Allow command line to override platform flags
env[f[0]] = f[1]
for key, value in flag_list.items():
if key not in ARGUMENTS or ARGUMENTS[key] == "auto": # Allow command line to override platform flags
env[key] = value
# 'dev_mode' and 'production' are aliases to set default options if they haven't been
# set manually by the user.

View file

@ -67,11 +67,11 @@ def get_min_target_api():
def get_flags():
return [
("arch", "arm64"), # Default for convenience.
("target", "template_debug"),
("supported", ["mono"]),
]
return {
"arch": "arm64", # Default for convenience.
"target": "template_debug",
"supported": ["mono"],
}
# Check if Android NDK version is installed

View file

@ -47,13 +47,13 @@ def get_doc_path():
def get_flags():
return [
("arch", "arm64"), # Default for convenience.
("target", "template_debug"),
("use_volk", False),
("supported", ["mono"]),
("builtin_pcre2_with_jit", False),
]
return {
"arch": "arm64", # Default for convenience.
"target": "template_debug",
"use_volk": False,
"supported": ["mono"],
"builtin_pcre2_with_jit": False,
}
def configure(env: "SConsEnvironment"):

View file

@ -65,10 +65,10 @@ def get_doc_path():
def get_flags():
return [
("arch", detect_arch()),
("supported", ["mono"]),
]
return {
"arch": detect_arch(),
"supported": ["mono"],
}
def configure(env: "SConsEnvironment"):

View file

@ -53,11 +53,11 @@ def get_doc_path():
def get_flags():
return [
("arch", detect_arch()),
("use_volk", False),
("supported", ["mono"]),
]
return {
"arch": detect_arch(),
"use_volk": False,
"supported": ["mono"],
}
def configure(env: "SConsEnvironment"):

View file

@ -65,21 +65,21 @@ def get_doc_path():
def get_flags():
return [
("arch", "wasm32"),
("target", "template_debug"),
("builtin_pcre2_with_jit", False),
("vulkan", False),
return {
"arch": "wasm32",
"target": "template_debug",
"builtin_pcre2_with_jit": False,
"vulkan": False,
# Embree is heavy and requires too much memory (GH-70621).
("module_raycast_enabled", False),
"module_raycast_enabled": False,
# Use -Os to prioritize optimizing for reduced file size. This is
# particularly valuable for the web platform because it directly
# decreases download time.
# -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.
("optimize", "size"),
]
"optimize": "size",
}
def configure(env: "SConsEnvironment"):

View file

@ -248,10 +248,10 @@ def get_doc_path():
def get_flags():
arch = detect_build_env_arch() or detect_arch()
return [
("arch", arch),
("supported", ["mono"]),
]
return {
"arch": arch,
"supported": ["mono"],
}
def build_res_file(target, source, env: "SConsEnvironment"):