Allow customizing progress report config arguments (#55)

* Update dtk, objdiff, sjiswrap, and wibo

* Allow customizing progress report config arguments

* Enable function reloc diffing in default configure.py

* Update comment & disable data_value config by default

---------

Co-authored-by: Luke Street <luke@street.dev>
This commit is contained in:
LagoLunatic 2025-05-18 01:00:08 -04:00 committed by GitHub
parent 7aeeeb5317
commit 1abea6952b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 5 deletions

View File

@ -144,10 +144,10 @@ if not config.non_matching:
# Tool versions
config.binutils_tag = "2.42-1"
config.compilers_tag = "20240706"
config.dtk_tag = "v1.4.1"
config.objdiff_tag = "v2.7.1"
config.sjiswrap_tag = "v1.2.0"
config.wibo_tag = "0.6.11"
config.dtk_tag = "v1.5.1"
config.objdiff_tag = "v3.0.0-beta.8"
config.sjiswrap_tag = "v1.2.1"
config.wibo_tag = "0.6.16"
# Project
config.config_path = Path("config") / config.version / "config.yml"
@ -301,6 +301,12 @@ config.progress_categories = [
ProgressCategory("sdk", "SDK Code"),
]
config.progress_each_module = args.verbose
# Optional extra arguments to `objdiff-cli report generate`
config.progress_report_args = [
# Marks relocations as mismatching if the target value is different
# Default is "functionRelocDiffs=none", which is most lenient
# "--config functionRelocDiffs=data_value",
]
if args.mode == "configure":
# Write build.ninja and objdiff.json

View File

@ -206,6 +206,9 @@ class ProjectConfig:
self.print_progress_categories: Union[bool, List[str]] = (
True # Print additional progress categories in the CLI progress output
)
self.progress_report_args: Optional[List[str]] = (
None # Flags to `objdiff-cli report generate`
)
# Progress fancy printing
self.progress_use_fancy: bool = False
@ -422,6 +425,7 @@ def generate_build_ninja(
if config.linker_version is None:
sys.exit("ProjectConfig.linker_version missing")
n.variable("mw_version", Path(config.linker_version))
n.variable("objdiff_report_args", make_flags_str(config.progress_report_args))
n.newline()
###
@ -1203,7 +1207,7 @@ def generate_build_ninja(
n.comment("Generate progress report")
n.rule(
name="report",
command=f"{objdiff} report generate -o $out",
command=f"{objdiff} report generate $objdiff_report_args -o $out",
description="REPORT",
)
n.build(