Skip to main content

rustc_target/spec/base/
linux_gnu.rs

1use crate::spec::{Cc, Env, LinkerFlavor, Lld, TargetOptions, base};
2
3pub(crate) fn opts() -> TargetOptions {
4    let mut base = TargetOptions {
5        env: Env::Gnu,
6        static_position_independent_executables: true,
7        ..base::linux::opts()
8    };
9
10    // When we're asked to use the `rust-lld` linker by default, set the appropriate lld-using
11    // linker flavor, and self-contained linker component.
12    if ::core::option::Option::Some("1")option_env!("CFG_DEFAULT_LINKER_SELF_CONTAINED_LLD_CC").is_some() {
13        base.linker_flavor = LinkerFlavor::Gnu(Cc::Yes, Lld::Yes);
14        base.link_self_contained = crate::spec::LinkSelfContainedDefault::with_linker();
15    }
16
17    base
18}