Fix generating rustc docs with non-default lib directory.

This commit is contained in:
Eric Huss 2020-09-14 14:42:56 -07:00
parent 32efcfca2f
commit 9dad908145
3 changed files with 14 additions and 6 deletions

View File

@ -710,7 +710,7 @@ impl<'a> Builder<'a> {
/// Adds the compiler's directory of dynamic libraries to `cmd`'s dynamic
/// library lookup path.
pub fn add_rustc_lib_path(&self, compiler: Compiler, cmd: &mut Cargo) {
pub fn add_rustc_lib_path(&self, compiler: Compiler, cmd: &mut Command) {
// Windows doesn't need dylib path munging because the dlls for the
// compiler live next to the compiler and the system will find them
// automatically.
@ -718,7 +718,7 @@ impl<'a> Builder<'a> {
return;
}
add_dylib_path(vec![self.rustc_libdir(compiler)], &mut cmd.command);
add_dylib_path(vec![self.rustc_libdir(compiler)], cmd);
}
/// Gets a path to the compiler specified.
@ -1515,6 +1515,10 @@ impl Cargo {
self.command.env(key.as_ref(), value.as_ref());
self
}
pub fn add_rustc_lib_path(&mut self, builder: &Builder<'_>, compiler: Compiler) {
builder.add_rustc_lib_path(compiler, &mut self.command);
}
}
impl From<Cargo> for Command {

View File

@ -766,6 +766,10 @@ impl Step for RustcBook {
if builder.config.verbose() {
cmd.arg("--verbose");
}
// If the lib directories are in an unusual location (changed in
// config.toml), then this needs to explicitly update the dylib search
// path.
builder.add_rustc_lib_path(self.compiler, &mut cmd);
builder.run(&mut cmd);
// Run rustbook/mdbook to generate the HTML pages.
builder.ensure(RustbookSrc {

View File

@ -270,7 +270,7 @@ impl Step for Rls {
&[],
);
builder.add_rustc_lib_path(compiler, &mut cargo);
cargo.add_rustc_lib_path(builder, compiler);
cargo.arg("--").args(builder.config.cmd.test_args());
if try_run(builder, &mut cargo.into()) {
@ -328,7 +328,7 @@ impl Step for Rustfmt {
t!(fs::create_dir_all(&dir));
cargo.env("RUSTFMT_TEST_DIR", dir);
builder.add_rustc_lib_path(compiler, &mut cargo);
cargo.add_rustc_lib_path(builder, compiler);
if try_run(builder, &mut cargo.into()) {
builder.save_toolstate("rustfmt", ToolState::TestPass);
@ -449,7 +449,7 @@ impl Step for Miri {
cargo.arg("--").args(builder.config.cmd.test_args());
builder.add_rustc_lib_path(compiler, &mut cargo);
cargo.add_rustc_lib_path(builder, compiler);
if !try_run(builder, &mut cargo.into()) {
return;
@ -554,7 +554,7 @@ impl Step for Clippy {
cargo.arg("--").args(builder.config.cmd.test_args());
builder.add_rustc_lib_path(compiler, &mut cargo);
cargo.add_rustc_lib_path(builder, compiler);
builder.run(&mut cargo.into());
}