Stabilize native library modifier syntax and the whole-archive modifier specifically
This commit is contained in:
@@ -186,6 +186,9 @@ pub trait Linker {
|
||||
fn no_crt_objects(&mut self);
|
||||
fn no_default_libraries(&mut self);
|
||||
fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType, symbols: &[String]);
|
||||
fn exported_symbol_means_used_symbol(&self) -> bool {
|
||||
true
|
||||
}
|
||||
fn subsystem(&mut self, subsystem: &str);
|
||||
fn group_start(&mut self);
|
||||
fn group_end(&mut self);
|
||||
@@ -724,6 +727,10 @@ impl<'a> Linker for GccLinker<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
fn exported_symbol_means_used_symbol(&self) -> bool {
|
||||
self.sess.target.is_like_windows || self.sess.target.is_like_osx
|
||||
}
|
||||
|
||||
fn subsystem(&mut self, subsystem: &str) {
|
||||
self.linker_arg("--subsystem");
|
||||
self.linker_arg(&subsystem);
|
||||
@@ -1471,6 +1478,10 @@ impl<'a> Linker for L4Bender<'a> {
|
||||
return;
|
||||
}
|
||||
|
||||
fn exported_symbol_means_used_symbol(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
fn subsystem(&mut self, subsystem: &str) {
|
||||
self.cmd.arg(&format!("--subsystem {}", subsystem));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user