]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs
Rollup merge of #99139 - jyn514:dist-tool-help, r=Mark-Simulacrum
[rust.git] / compiler / rustc_target / src / spec / windows_uwp_gnu_base.rs
1 use crate::spec::{LinkArgs, LinkerFlavor, 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 = TargetOptions::link_args(LinkerFlavor::Ld, mingw_libs);
19     super::add_link_args(&mut late_link_args, LinkerFlavor::Gcc, mingw_libs);
20     // Reset the flags back to empty until the FIXME above is addressed.
21     let late_link_args_dynamic = LinkArgs::new();
22     let late_link_args_static = LinkArgs::new();
23
24     TargetOptions {
25         abi: "uwp".into(),
26         vendor: "uwp".into(),
27         limit_rdylib_exports: false,
28         late_link_args,
29         late_link_args_dynamic,
30         late_link_args_static,
31
32         ..base
33     }
34 }