]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs
Rollup merge of #104732 - WaffleLapkin:from_def_idn't, r=compiler-errors
[rust.git] / compiler / rustc_target / src / spec / windows_uwp_gnu_base.rs
1 use crate::spec::{Cc, LinkArgs, LinkerFlavor, Lld, TargetOptions};
2
3 pub fn opts() -> TargetOptions {
4     let base = super::windows_gnu_base::opts();
5
6     // FIXME: This should be updated for the exception machinery changes from #67502
7     // and inherit from `windows_gnu_base`, at least partially.
8     let mingw_libs = &[
9         "-lwinstorecompat",
10         "-lruntimeobject",
11         "-lsynchronization",
12         "-lvcruntime140_app",
13         "-lucrt",
14         "-lwindowsapp",
15         "-lmingwex",
16         "-lmingw32",
17     ];
18     let mut late_link_args =
19         TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), mingw_libs);
20     super::add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs);
21     // Reset the flags back to empty until the FIXME above is addressed.
22     let late_link_args_dynamic = LinkArgs::new();
23     let late_link_args_static = LinkArgs::new();
24
25     TargetOptions {
26         abi: "uwp".into(),
27         vendor: "uwp".into(),
28         limit_rdylib_exports: false,
29         late_link_args,
30         late_link_args_dynamic,
31         late_link_args_static,
32
33         ..base
34     }
35 }