]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/windows_uwp_gnu_base.rs
remove redundant clones
[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".to_string(),
13         //"-lmingwex".to_string(),
14         //"-lwinstorecompat".to_string(),
15         "-lwinstorecompat".to_string(),
16         "-lruntimeobject".to_string(),
17         "-lsynchronization".to_string(),
18         "-lvcruntime140_app".to_string(),
19         "-lucrt".to_string(),
20         "-lwindowsapp".to_string(),
21         "-lmingwex".to_string(),
22         "-lmingw32".to_string(),
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         executables: false,
29         limit_rdylib_exports: false,
30         late_link_args,
31         late_link_args_dynamic,
32         late_link_args_static,
33
34         ..base
35     }
36 }