2022-08-06 21:08:46 +03:00
|
|
|
use crate::spec::{Cc, LinkArgs, LinkerFlavor, Lld, TargetOptions};
|
2019-05-27 17:18:14 +02:00
|
|
|
|
|
|
|
pub fn opts() -> TargetOptions {
|
2020-04-11 17:07:39 +03:00
|
|
|
let base = super::windows_gnu_base::opts();
|
|
|
|
|
2020-04-29 20:47:07 +03:00
|
|
|
// FIXME: This should be updated for the exception machinery changes from #67502
|
|
|
|
// and inherit from `windows_gnu_base`, at least partially.
|
2022-06-17 17:38:42 +03:00
|
|
|
let mingw_libs = &[
|
|
|
|
"-lwinstorecompat",
|
|
|
|
"-lruntimeobject",
|
|
|
|
"-lsynchronization",
|
|
|
|
"-lvcruntime140_app",
|
|
|
|
"-lucrt",
|
|
|
|
"-lwindowsapp",
|
|
|
|
"-lmingwex",
|
|
|
|
"-lmingw32",
|
|
|
|
];
|
2022-08-06 21:08:46 +03:00
|
|
|
let mut late_link_args =
|
|
|
|
TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), mingw_libs);
|
|
|
|
super::add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs);
|
2022-06-17 23:53:00 +03:00
|
|
|
// Reset the flags back to empty until the FIXME above is addressed.
|
2020-04-11 17:07:39 +03:00
|
|
|
let late_link_args_dynamic = LinkArgs::new();
|
|
|
|
let late_link_args_static = LinkArgs::new();
|
2019-05-27 17:18:14 +02:00
|
|
|
|
|
|
|
TargetOptions {
|
2022-03-22 11:43:05 +01:00
|
|
|
abi: "uwp".into(),
|
|
|
|
vendor: "uwp".into(),
|
2020-04-11 17:07:39 +03:00
|
|
|
limit_rdylib_exports: false,
|
2019-05-27 17:18:14 +02:00
|
|
|
late_link_args,
|
2020-04-11 17:07:39 +03:00
|
|
|
late_link_args_dynamic,
|
|
|
|
late_link_args_static,
|
2019-05-27 17:18:14 +02:00
|
|
|
|
2020-04-11 17:07:39 +03:00
|
|
|
..base
|
2019-05-27 17:18:14 +02:00
|
|
|
}
|
|
|
|
}
|