Skip to content

Commit 9185ddb

Browse files
committed
bootstrap: support target specific config overrides
1 parent 213ad10 commit 9185ddb

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

Diff for: src/bootstrap/src/core/config/config.rs

+14-1
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,20 @@ impl Merge for TomlConfig {
644644
do_merge(&mut self.llvm, llvm, replace);
645645
do_merge(&mut self.rust, rust, replace);
646646
do_merge(&mut self.dist, dist, replace);
647-
assert!(target.is_none(), "merging target-specific config is not currently supported");
647+
648+
match (self.target.as_mut(), target) {
649+
(_, None) => {}
650+
(None, Some(target)) => self.target = Some(target),
651+
(Some(original_target), Some(new_target)) => {
652+
for (triple, new) in new_target {
653+
if let Some(original) = original_target.get_mut(&triple) {
654+
original.merge(new, replace);
655+
} else {
656+
original_target.insert(triple, new);
657+
}
658+
}
659+
}
660+
}
648661
}
649662
}
650663

0 commit comments

Comments
 (0)