mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-01 07:13:24 +03:00
bootstrap: don't run linkcheck when crosscompiling
When we cross compile, some things (and their documentation) are built for the host (e.g. rustc), while others (and their documentation) are built for the target. This generated documentation will have broken links between documentation for different platforms e.g. between rustc and cargo.
This commit is contained in:
+15
-1
@@ -122,7 +122,21 @@ fn run(self, builder: &Builder<'_>) {
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
let builder = run.builder;
|
||||
run.path("src/tools/linkchecker").default_condition(builder.config.docs)
|
||||
let run = run.path("src/tools/linkchecker");
|
||||
let hosts = &builder.hosts;
|
||||
let targets = &builder.targets;
|
||||
|
||||
// if we have different hosts and targets, some things may be built for
|
||||
// the host (e.g. rustc) and others for the target (e.g. std). The
|
||||
// documentation built for each will contain broken links to
|
||||
// docs built for the other platform (e.g. rustc linking to cargo)
|
||||
if (hosts != targets) && !hosts.is_empty() && !targets.is_empty() {
|
||||
panic!(
|
||||
"Linkcheck currently does not support builds with different hosts and targets.
|
||||
You can skip linkcheck with --exclude src/tools/linkchecker"
|
||||
);
|
||||
}
|
||||
run.default_condition(builder.config.docs)
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
|
||||
Reference in New Issue
Block a user