Wrap bundlen static libraries into object files
This commit is contained in:
parent
9b735a7132
commit
e16c77847d
7 changed files with 51 additions and 19 deletions
|
@ -22,9 +22,14 @@ pub const METADATA_FILENAME: &str = "lib.rmeta";
|
|||
/// building an `.rlib` (stomping over one another), or writing an `.rmeta` into a
|
||||
/// directory being searched for `extern crate` (observing an incomplete file).
|
||||
/// The returned path is the temporary file containing the complete metadata.
|
||||
pub fn emit_metadata(sess: &Session, metadata: &[u8], tmpdir: &MaybeTempDir) -> PathBuf {
|
||||
let out_filename = tmpdir.as_ref().join(METADATA_FILENAME);
|
||||
let result = fs::write(&out_filename, metadata);
|
||||
pub fn emit_wrapper_file(
|
||||
sess: &Session,
|
||||
data: &[u8],
|
||||
tmpdir: &MaybeTempDir,
|
||||
name: &str,
|
||||
) -> PathBuf {
|
||||
let out_filename = tmpdir.as_ref().join(name);
|
||||
let result = fs::write(&out_filename, data);
|
||||
|
||||
if let Err(err) = result {
|
||||
sess.emit_fatal(FailedWriteError { filename: out_filename, err });
|
||||
|
|
|
@ -41,6 +41,6 @@ pub mod errors;
|
|||
pub mod fs;
|
||||
pub mod locator;
|
||||
|
||||
pub use fs::{emit_metadata, METADATA_FILENAME};
|
||||
pub use fs::{emit_wrapper_file, METADATA_FILENAME};
|
||||
pub use native_libs::find_native_static_library;
|
||||
pub use rmeta::{encode_metadata, EncodedMetadata, METADATA_HEADER};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue