Doc comments
This commit is contained in:
parent
434cb437b5
commit
a4a22f07d7
2 changed files with 17 additions and 17 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
//! A module for searching for libraries
|
||||||
|
|
||||||
pub use self::FileMatch::*;
|
pub use self::FileMatch::*;
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
|
@ -14,8 +16,6 @@ pub enum FileMatch {
|
||||||
FileDoesntMatch,
|
FileDoesntMatch,
|
||||||
}
|
}
|
||||||
|
|
||||||
// A module for searching for libraries
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct FileSearch<'a> {
|
pub struct FileSearch<'a> {
|
||||||
sysroot: &'a Path,
|
sysroot: &'a Path,
|
||||||
|
@ -83,12 +83,12 @@ impl<'a> FileSearch<'a> {
|
||||||
FileSearch { sysroot, triple, search_paths, tlib_path, kind }
|
FileSearch { sysroot, triple, search_paths, tlib_path, kind }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns just the directories within the search paths.
|
/// Returns just the directories within the search paths.
|
||||||
pub fn search_path_dirs(&self) -> Vec<PathBuf> {
|
pub fn search_path_dirs(&self) -> Vec<PathBuf> {
|
||||||
self.search_paths().map(|sp| sp.dir.to_path_buf()).collect()
|
self.search_paths().map(|sp| sp.dir.to_path_buf()).collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a list of directories where target-specific tool binaries are located.
|
/// Returns a list of directories where target-specific tool binaries are located.
|
||||||
pub fn get_tools_search_paths(&self, self_contained: bool) -> Vec<PathBuf> {
|
pub fn get_tools_search_paths(&self, self_contained: bool) -> Vec<PathBuf> {
|
||||||
let rustlib_path = rustc_target::target_rustlib_path(self.sysroot, &self.triple);
|
let rustlib_path = rustc_target::target_rustlib_path(self.sysroot, &self.triple);
|
||||||
let p = std::array::IntoIter::new([
|
let p = std::array::IntoIter::new([
|
||||||
|
@ -107,8 +107,8 @@ pub fn make_target_lib_path(sysroot: &Path, target_triple: &str) -> PathBuf {
|
||||||
.collect::<PathBuf>()
|
.collect::<PathBuf>()
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function checks if sysroot is found using env::args().next(), and if it
|
/// This function checks if sysroot is found using env::args().next(), and if it
|
||||||
// is not found, uses env::current_exe() to imply sysroot.
|
/// is not found, uses env::current_exe() to imply sysroot.
|
||||||
pub fn get_or_default_sysroot() -> PathBuf {
|
pub fn get_or_default_sysroot() -> PathBuf {
|
||||||
// Follow symlinks. If the resolved path is relative, make it absolute.
|
// Follow symlinks. If the resolved path is relative, make it absolute.
|
||||||
fn canonicalize(path: PathBuf) -> PathBuf {
|
fn canonicalize(path: PathBuf) -> PathBuf {
|
||||||
|
|
|
@ -9,17 +9,17 @@ pub struct SearchPath {
|
||||||
pub files: Vec<SearchPathFile>,
|
pub files: Vec<SearchPathFile>,
|
||||||
}
|
}
|
||||||
|
|
||||||
// The obvious implementation of `SearchPath::files` is a `Vec<PathBuf>`. But
|
/// The obvious implementation of `SearchPath::files` is a `Vec<PathBuf>`. But
|
||||||
// it is searched repeatedly by `find_library_crate`, and the searches involve
|
/// it is searched repeatedly by `find_library_crate`, and the searches involve
|
||||||
// checking the prefix and suffix of the filename of each `PathBuf`. This is
|
/// checking the prefix and suffix of the filename of each `PathBuf`. This is
|
||||||
// doable, but very slow, because it involves calls to `file_name` and
|
/// doable, but very slow, because it involves calls to `file_name` and
|
||||||
// `extension` that are themselves slow.
|
/// `extension` that are themselves slow.
|
||||||
//
|
///
|
||||||
// This type augments the `PathBuf` with an `Option<String>` containing the
|
/// This type augments the `PathBuf` with an `Option<String>` containing the
|
||||||
// `PathBuf`'s filename. The prefix and suffix checking is much faster on the
|
/// `PathBuf`'s filename. The prefix and suffix checking is much faster on the
|
||||||
// `Option<String>` than the `PathBuf`. (It's an `Option` because
|
/// `Option<String>` than the `PathBuf`. (It's an `Option` because
|
||||||
// `Path::file_name` can fail; if that happens then all subsequent checking
|
/// `Path::file_name` can fail; if that happens then all subsequent checking
|
||||||
// will also fail, which is fine.)
|
/// will also fail, which is fine.)
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct SearchPathFile {
|
pub struct SearchPathFile {
|
||||||
pub path: PathBuf,
|
pub path: PathBuf,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue