pub struct Options<'a> {
pub user: &'a [PathBuf],
pub resources: Option<&'a Path>,
pub sysroot: Option<&'a Sysroot>,
pub bundled: Option<&'a Sysroot>,
pub host_include: &'a [PathBuf],
pub no_std_inc: bool,
pub no_builtin_inc: bool,
}Expand description
What the driver knows that the rule needs.
A struct rather than seven arguments, because six of the seven are empty in the common case and a function with six defaulted parameters is a function somebody calls wrong.
Fields§
§user: &'a [PathBuf]-I, in the order given. Order is preserved exactly, because a user who put one -I before
another meant it.
resources: Option<&'a Path>The compiler’s own header directory, which is where stddef.h and the intrinsic headers
live. Supplied by the caller rather than found here, because finding it means asking the
host where the compiler is installed and that is not this crate’s business.
sysroot: Option<&'a Sysroot>--sysroot or -isysroot. Replaces step 3’s root.
bundled: Option<&'a Sysroot>The tree we bundle for this target, when there is one.
host_include: &'a [PathBuf]The host’s own include directories, as the driver computes them today.
Used only when the target is the host. On any other target this field is ignored, and that is the whole of the cross compilation guarantee in this file.
no_std_inc: bool-nostdinc. Removes step 3.
no_builtin_inc: bool-nobuiltininc. Removes step 2.