Updates for build system integration

- Use a config file as input to `dol split`
- Add depfile output
- Adjust splits config writing
This commit is contained in:
2023-08-06 15:46:51 -04:00
parent 4b6e317d0b
commit a046bf9a66
9 changed files with 141 additions and 37 deletions

View File

@@ -764,6 +764,12 @@ impl ObjInfo {
self.splits.entry(address).or_default().push(split);
Ok(())
}
pub fn is_unit_autogenerated(&self, unit: &str) -> bool {
self.splits_for_range(..)
.filter(|(_, split)| split.unit == unit)
.all(|(_, split)| split.autogenerated)
}
}
impl ObjSection {

View File

@@ -402,8 +402,7 @@ fn resolve_link_order(obj: &ObjInfo) -> Result<Vec<String>> {
unit_to_index_map.insert(split.unit.clone(), NodeIndex::new(0));
}
for (unit, index) in unit_to_index_map.iter_mut() {
let new_index = graph.add_node(unit.clone());
*index = new_index;
*index = graph.add_node(unit.clone());
}
for section in &obj.sections {