pub struct Request<'a> {
pub pkg_root: &'a Path,
pub lib_dirs: &'a [&'a str],
pub policy: HostLibsPolicy,
pub store: &'a Path,
pub ld_cache: &'a Path,
pub icd_dirs: &'a [&'a str],
pub extra_root: Option<&'a Path>,
pub set_roots: &'a [PathBuf],
pub host_libc: bool,
}Expand description
One launch’s inputs.
Fields§
§pkg_root: &'a PathThe package root as the entrypoint will see it.
lib_dirs: &'a [&'a str]Library directories relative to pkg_root.
policy: HostLibsPolicy§store: &'a PathWhere the link farm and the recorded decision live. Created on demand; reused across launches of the same package on the same host.
ld_cache: &'a PathThe loader cache image describing the host.
icd_dirs: &'a [&'a str]Directories of Vulkan ICD and EGL vendor files describing the
host’s drivers. ICD_DIRS outside of tests.
extra_root: Option<&'a Path>A fetched GL build’s extracted root, indexed ahead of the host:
its GL_BUILD_LIB_DIRS and GL_BUILD_ICD_DIRS supply what
the host could not.
set_roots: &'a [PathBuf]Extracted roots of the dependency sets the package pins. Their libraries are the ones the bundle left out, so they are compared against the host exactly as a bundled copy would be.
host_libc: boolWhether the launch can place host files over their bundled copies. Without that the host’s glibc is never chosen: the bundled executables’ run path would still find the bundled libc, and it cannot run under the host loader.