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 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}