Bug 1967834 - moved process_gn_config call to generate_gn_config. r=ng DONTBUILD

This is not dependent on the other configs being complete, so we can
run it in the threaded section for speed.

Differential Revision: https://phabricator.services.mozilla.com/D250519
This commit is contained in:
Michael Froman
2025-05-21 21:59:27 +00:00
committed by mfroman@mozilla.com
parent 16cb199df3
commit fbd34bb1de

View File

@@ -620,24 +620,9 @@ def write_mozbuild(topsrcdir, write_mozbuild_variables, relsrcdir, configs):
def write_mozbuild_files( def write_mozbuild_files(
topsrcdir, topsrcdir,
srcdir, srcdir,
non_unified_sources, all_mozbuild_results,
gn_configs,
mozilla_flags,
write_mozbuild_variables, write_mozbuild_variables,
): ):
all_mozbuild_results = []
for gn_config in gn_configs:
mozbuild_attrs = process_gn_config(
gn_config,
topsrcdir,
srcdir,
non_unified_sources,
gn_config["sandbox_vars"],
mozilla_flags,
)
all_mozbuild_results.append(mozbuild_attrs)
# Translate {config -> {dirs -> build info}} into # Translate {config -> {dirs -> build info}} into
# {dirs -> [(config, build_info)]} # {dirs -> [(config, build_info)]}
configs_by_dir = defaultdict(list) configs_by_dir = defaultdict(list)
@@ -710,6 +695,7 @@ def write_mozbuild_files(
def generate_gn_config( def generate_gn_config(
topsrcdir,
build_root_dir, build_root_dir,
target_dir, target_dir,
gn_binary, gn_binary,
@@ -717,12 +703,17 @@ def generate_gn_config(
sandbox_variables, sandbox_variables,
gn_target, gn_target,
moz_build_flag, moz_build_flag,
non_unified_sources,
mozilla_flags,
): ):
def str_for_arg(v): def str_for_arg(v):
if v in (True, False): if v in (True, False):
return str(v).lower() return str(v).lower()
return '"%s"' % v return '"%s"' % v
build_root_dir = topsrcdir / build_root_dir
srcdir = build_root_dir / target_dir
input_variables = input_variables.copy() input_variables = input_variables.copy()
input_variables.update( input_variables.update(
{ {
@@ -782,6 +773,14 @@ def generate_gn_config(
input_variables, input_variables,
gn_target, gn_target,
) )
gn_config = process_gn_config(
gn_config,
topsrcdir,
srcdir,
non_unified_sources,
gn_config["sandbox_vars"],
mozilla_flags,
)
return gn_config return gn_config
@@ -836,13 +835,16 @@ def main():
futures = { futures = {
executor.submit( executor.submit(
generate_gn_config, generate_gn_config,
topsrcdir / config["build_root_dir"], topsrcdir,
config["build_root_dir"],
config["target_dir"], config["target_dir"],
gn_binary, gn_binary,
vars, vars,
config["gn_sandbox_variables"], config["gn_sandbox_variables"],
config["gn_target"], config["gn_target"],
config["moz_build_flag"], config["moz_build_flag"],
config["non_unified_sources"],
config["mozilla_flags"],
): vars ): vars
for vars in vars_set for vars in vars_set
} }
@@ -860,9 +862,7 @@ def main():
write_mozbuild_files( write_mozbuild_files(
topsrcdir, topsrcdir,
topsrcdir / config["build_root_dir"] / config["target_dir"], topsrcdir / config["build_root_dir"] / config["target_dir"],
config["non_unified_sources"],
gn_configs, gn_configs,
config["mozilla_flags"],
config["write_mozbuild_variables"], config["write_mozbuild_variables"],
) )