pub trait ArchiveBuilderBuilder {
    // Required methods
    fn new_archive_builder<'a>(
        &self,
        sess: &'a Session
    ) -> Box<dyn ArchiveBuilder<'a> + 'a>;
    fn create_dll_import_lib(
        &self,
        sess: &Session,
        lib_name: &str,
        dll_imports: &[DllImport],
        tmpdir: &Path,
        is_direct_dependency: bool
    ) -> PathBuf;

    // Provided method
    fn extract_bundled_libs<'a>(
        &'a self,
        rlib: &'a Path,
        outdir: &Path,
        bundled_lib_file_names: &FxHashSet<Symbol>
    ) -> Result<(), ExtractBundledLibsError<'_>> { ... }
}

Required Methods§

source

fn new_archive_builder<'a>( &self, sess: &'a Session ) -> Box<dyn ArchiveBuilder<'a> + 'a>

source

fn create_dll_import_lib( &self, sess: &Session, lib_name: &str, dll_imports: &[DllImport], tmpdir: &Path, is_direct_dependency: bool ) -> PathBuf

Creates a DLL Import Library https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-creation#creating-an-import-library. and returns the path on disk to that import library. This functions doesn’t take self so that it can be called from linker_with_args, which is specialized on ArchiveBuilder but doesn’t take or create an instance of that type.

Provided Methods§

source

fn extract_bundled_libs<'a>( &'a self, rlib: &'a Path, outdir: &Path, bundled_lib_file_names: &FxHashSet<Symbol> ) -> Result<(), ExtractBundledLibsError<'_>>

Implementors§