pub struct Resolver { /* private fields */ }Implementations§
Source§impl Resolver
impl Resolver
pub fn new(root: SourceRoot) -> Resolver
pub fn with_library_paths(self, paths: Vec<PathBuf>) -> Resolver
pub fn root(&self) -> &SourceRoot
pub fn ld_cache(&self) -> Option<&LdCache>
Sourcepub fn notes(&self) -> &[ResolutionNote]
pub fn notes(&self) -> &[ResolutionNote]
Libraries that resolved through something the bundle does not reproduce.
Sourcepub fn logical_of_host(&self, host: &Path) -> PathBuf
pub fn logical_of_host(&self, host: &Path) -> PathBuf
Map a host path to its logical path inside the source root.
Sourcepub fn closure(
&mut self,
binary: &Path,
install: &Path,
) -> Result<DependencyGraph>
pub fn closure( &mut self, binary: &Path, install: &Path, ) -> Result<DependencyGraph>
Build the full runtime closure of an executable.
binary is a host path; install is where the executable will live in
the generated rootfs. Every other object keeps its original location.
Sourcepub fn resolve_extra_library(
&mut self,
soname: &str,
architecture: Architecture,
requester: &Path,
) -> Result<Option<ResolvedLibrary>>
pub fn resolve_extra_library( &mut self, soname: &str, architecture: Architecture, requester: &Path, ) -> Result<Option<ResolvedLibrary>>
Resolve a soname that is already known to be a library the policy wants,
e.g. NSS modules pulled in by runtime policy rather than by DT_NEEDED.
Sourcepub fn attach_library(
&mut self,
graph: &mut DependencyGraph,
library: &ResolvedLibrary,
from: NodeId,
reason: DependencyReason,
) -> Result<NodeId>
pub fn attach_library( &mut self, graph: &mut DependencyGraph, library: &ResolvedLibrary, from: NodeId, reason: DependencyReason, ) -> Result<NodeId>
Add an already-resolved object (and its own DT_NEEDED closure) to a graph.
Trait Implementations§
Source§impl DynamicLinkerResolver for Resolver
impl DynamicLinkerResolver for Resolver
Source§fn resolve(&mut self, request: &LibraryRequest) -> Result<ResolvedLibrary>
fn resolve(&mut self, request: &LibraryRequest) -> Result<ResolvedLibrary>
One DT_NEEDED lookup: a soname is either a path or a search, and a
search finds a compatible object, an incompatible one, or nothing.
Auto Trait Implementations§
impl Freeze for Resolver
impl RefUnwindSafe for Resolver
impl Send for Resolver
impl Sync for Resolver
impl Unpin for Resolver
impl UnsafeUnpin for Resolver
impl UnwindSafe for Resolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more