]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs
Rollup merge of #94461 - jhpratt:2024-edition, r=pnkfelix
[rust.git] / compiler / rustc_target / src / spec / windows_uwp_gnu_base.rs
1 use crate::spec::{LinkArgs, LinkerFlavor, LldFlavor, 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 mut late_link_args = LinkArgs::new();
9     let late_link_args_dynamic = LinkArgs::new();
10     let late_link_args_static = LinkArgs::new();
11     let mingw_libs = vec![
12         //"-lwinstorecompat".into(),
13         //"-lmingwex".into(),
14         //"-lwinstorecompat".into(),
15         "-lwinstorecompat".into(),
16         "-lruntimeobject".into(),
17         "-lsynchronization".into(),
18         "-lvcruntime140_app".into(),
19         "-lucrt".into(),
20         "-lwindowsapp".into(),
21         "-lmingwex".into(),
22         "-lmingw32".into(),
23     ];
24     late_link_args.insert(LinkerFlavor::Gcc, mingw_libs.clone());
25     late_link_args.insert(LinkerFlavor::Lld(LldFlavor::Ld), mingw_libs);
26
27     TargetOptions {
28         abi: "uwp".into(),
29         vendor: "uwp".into(),
30         executables: false,
31         limit_rdylib_exports: false,
32         late_link_args,
33         late_link_args_dynamic,
34         late_link_args_static,
35
36         ..base
37     }
38 }