Trait rustc_trans::back::linker::Linker
[−]
[src]
pub trait Linker {
fn link_dylib(&mut self, lib: &str);
fn link_rust_dylib(&mut self, lib: &str, path: &Path);
fn link_framework(&mut self, framework: &str);
fn link_staticlib(&mut self, lib: &str);
fn link_rlib(&mut self, lib: &Path);
fn link_whole_rlib(&mut self, lib: &Path);
fn link_whole_staticlib(&mut self, lib: &str, search_path: &[PathBuf]);
fn include_path(&mut self, path: &Path);
fn framework_path(&mut self, path: &Path);
fn output_filename(&mut self, path: &Path);
fn add_object(&mut self, path: &Path);
fn gc_sections(&mut self, keep_metadata: bool);
fn position_independent_executable(&mut self);
fn optimize(&mut self);
fn debuginfo(&mut self);
fn no_default_libraries(&mut self);
fn build_dylib(&mut self, out_filename: &Path);
fn args(&mut self, args: &[String]);
fn hint_static(&mut self);
fn hint_dynamic(&mut self);
fn whole_archives(&mut self);
fn no_whole_archives(&mut self);
fn export_symbols(&mut self, sess: &Session, trans: &CrateTranslation, tmpdir: &Path, crate_type: CrateType);
}Unstable (
rustc_private)Linker abstraction used by back::link to build up the command to invoke a linker.
This trait is the total list of requirements needed by back::link and
represents the meaning of each option being passed down. This trait is then
used to dispatch on whether a GNU-like linker (generally ld.exe) or an
MSVC linker (e.g. link.exe) is being used.
Required Methods
fn link_dylib(&mut self, lib: &str)
Unstable (
rustc_private)fn link_rust_dylib(&mut self, lib: &str, path: &Path)
Unstable (
rustc_private)fn link_framework(&mut self, framework: &str)
Unstable (
rustc_private)fn link_staticlib(&mut self, lib: &str)
Unstable (
rustc_private)fn link_rlib(&mut self, lib: &Path)
Unstable (
rustc_private)fn link_whole_rlib(&mut self, lib: &Path)
Unstable (
rustc_private)fn link_whole_staticlib(&mut self, lib: &str, search_path: &[PathBuf])
Unstable (
rustc_private)fn include_path(&mut self, path: &Path)
Unstable (
rustc_private)fn framework_path(&mut self, path: &Path)
Unstable (
rustc_private)fn output_filename(&mut self, path: &Path)
Unstable (
rustc_private)fn add_object(&mut self, path: &Path)
Unstable (
rustc_private)fn gc_sections(&mut self, keep_metadata: bool)
Unstable (
rustc_private)fn position_independent_executable(&mut self)
Unstable (
rustc_private)fn optimize(&mut self)
Unstable (
rustc_private)fn debuginfo(&mut self)
Unstable (
rustc_private)fn no_default_libraries(&mut self)
Unstable (
rustc_private)fn build_dylib(&mut self, out_filename: &Path)
Unstable (
rustc_private)fn args(&mut self, args: &[String])
Unstable (
rustc_private)fn hint_static(&mut self)
Unstable (
rustc_private)fn hint_dynamic(&mut self)
Unstable (
rustc_private)fn whole_archives(&mut self)
Unstable (
rustc_private)fn no_whole_archives(&mut self)
Unstable (
rustc_private)fn export_symbols(&mut self, sess: &Session, trans: &CrateTranslation, tmpdir: &Path, crate_type: CrateType)
Unstable (
rustc_private)Implementors
impl<'a> Linker for GnuLinker<'a>impl<'a> Linker for MsvcLinker<'a>