rustc_target: Add convenience functions for adding linker arguments

They ensure that lld and non-lld linker flavors get the same set of arguments
This commit is contained in:
Vadim Petrochenkov
2022-06-17 17:38:42 +03:00
parent 8aab472d52
commit 46aba8850b
74 changed files with 347 additions and 419 deletions

View File

@@ -1,16 +1,11 @@
use crate::spec::{LinkerFlavor, LldFlavor, TargetOptions};
use crate::spec::{LinkerFlavor, TargetOptions};
pub fn opts() -> TargetOptions {
let mut opts = super::windows_msvc_base::opts();
opts.abi = "uwp".into();
opts.vendor = "uwp".into();
let pre_link_args_msvc = vec!["/APPCONTAINER".into(), "mincore.lib".into()];
opts.pre_link_args.entry(LinkerFlavor::Msvc).or_default().extend(pre_link_args_msvc.clone());
opts.pre_link_args
.entry(LinkerFlavor::Lld(LldFlavor::Link))
.or_default()
.extend(pre_link_args_msvc);
opts.add_pre_link_args(LinkerFlavor::Msvc, &["/APPCONTAINER", "mincore.lib"]);
opts
}