rustc: Simplify getting sysroot library directory
This commit is contained in:
parent
0f6e1ae678
commit
f62b9e0179
3 changed files with 14 additions and 45 deletions
|
@ -5,14 +5,11 @@ use std::{env, fs};
|
|||
|
||||
use rustc_fs_util::{fix_windows_verbatim_for_gcc, try_canonicalize};
|
||||
use smallvec::{smallvec, SmallVec};
|
||||
use tracing::debug;
|
||||
|
||||
use crate::search_paths::{PathKind, SearchPath};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct FileSearch<'a> {
|
||||
sysroot: &'a Path,
|
||||
triple: &'a str,
|
||||
cli_search_paths: &'a [SearchPath],
|
||||
tlib_path: &'a SearchPath,
|
||||
kind: PathKind,
|
||||
|
@ -32,23 +29,12 @@ impl<'a> FileSearch<'a> {
|
|||
.chain(std::iter::once(self.tlib_path))
|
||||
}
|
||||
|
||||
pub fn get_lib_path(&self) -> PathBuf {
|
||||
make_target_lib_path(self.sysroot, self.triple)
|
||||
}
|
||||
|
||||
pub fn get_self_contained_lib_path(&self) -> PathBuf {
|
||||
self.get_lib_path().join("self-contained")
|
||||
}
|
||||
|
||||
pub fn new(
|
||||
sysroot: &'a Path,
|
||||
triple: &'a str,
|
||||
cli_search_paths: &'a [SearchPath],
|
||||
tlib_path: &'a SearchPath,
|
||||
kind: PathKind,
|
||||
) -> FileSearch<'a> {
|
||||
debug!("using sysroot = {}, triple = {}", sysroot.display(), triple);
|
||||
FileSearch { sysroot, triple, cli_search_paths, tlib_path, kind }
|
||||
FileSearch { cli_search_paths, tlib_path, kind }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -439,22 +439,10 @@ impl Session {
|
|||
}
|
||||
|
||||
pub fn target_filesearch(&self, kind: PathKind) -> filesearch::FileSearch<'_> {
|
||||
filesearch::FileSearch::new(
|
||||
&self.sysroot,
|
||||
self.opts.target_triple.triple(),
|
||||
&self.opts.search_paths,
|
||||
&self.target_tlib_path,
|
||||
kind,
|
||||
)
|
||||
filesearch::FileSearch::new(&self.opts.search_paths, &self.target_tlib_path, kind)
|
||||
}
|
||||
pub fn host_filesearch(&self, kind: PathKind) -> filesearch::FileSearch<'_> {
|
||||
filesearch::FileSearch::new(
|
||||
&self.sysroot,
|
||||
config::host_triple(),
|
||||
&self.opts.search_paths,
|
||||
&self.host_tlib_path,
|
||||
kind,
|
||||
)
|
||||
filesearch::FileSearch::new(&self.opts.search_paths, &self.host_tlib_path, kind)
|
||||
}
|
||||
|
||||
/// Returns a list of directories where target-specific tool binaries are located. Some fallback
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue