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

Unstable (rustc_private)
Unstable (rustc_private)
Unstable (rustc_private)
Unstable (rustc_private)
Unstable (rustc_private)
Unstable (rustc_private)
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