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>