mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-08 07:57:40 +00:00
Move filename_for_metadata
to codegen_utils
This function isn't strictly tied to LLVM (it's more of a utility) and it's now near an analogous, almost identical `filename_for_input` (for rlibs and so forth). Also this means not depending on the backend when one wants to know the accurate .rmeta output filename.
This commit is contained in:
parent
c01e4ce74e
commit
cddd00a1e6
@ -47,7 +47,8 @@ use std::str;
|
|||||||
use syntax::attr;
|
use syntax::attr;
|
||||||
|
|
||||||
pub use rustc_codegen_utils::link::{find_crate_name, filename_for_input, default_output_for_target,
|
pub use rustc_codegen_utils::link::{find_crate_name, filename_for_input, default_output_for_target,
|
||||||
invalid_output_for_target, out_filename, check_file_is_writeable};
|
invalid_output_for_target, out_filename, check_file_is_writeable,
|
||||||
|
filename_for_metadata};
|
||||||
|
|
||||||
// The third parameter is for env vars, used on windows to set up the
|
// The third parameter is for env vars, used on windows to set up the
|
||||||
// path for MSVC to find its DLLs, and gcc to find its bundled
|
// path for MSVC to find its DLLs, and gcc to find its bundled
|
||||||
@ -218,15 +219,6 @@ fn preserve_objects_for_their_debuginfo(sess: &Session) -> bool {
|
|||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
fn filename_for_metadata(sess: &Session, crate_name: &str, outputs: &OutputFilenames) -> PathBuf {
|
|
||||||
let out_filename = outputs.single_output_file.clone()
|
|
||||||
.unwrap_or(outputs
|
|
||||||
.out_directory
|
|
||||||
.join(&format!("lib{}{}.rmeta", crate_name, sess.opts.cg.extra_filename)));
|
|
||||||
check_file_is_writeable(&out_filename, sess);
|
|
||||||
out_filename
|
|
||||||
}
|
|
||||||
|
|
||||||
pub(crate) fn each_linked_rlib(sess: &Session,
|
pub(crate) fn each_linked_rlib(sess: &Session,
|
||||||
info: &CrateInfo,
|
info: &CrateInfo,
|
||||||
f: &mut dyn FnMut(CrateNum, &Path)) -> Result<(), String> {
|
f: &mut dyn FnMut(CrateNum, &Path)) -> Result<(), String> {
|
||||||
|
@ -97,6 +97,19 @@ pub fn find_crate_name(sess: Option<&Session>,
|
|||||||
"rust_out".to_string()
|
"rust_out".to_string()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn filename_for_metadata(sess: &Session,
|
||||||
|
crate_name: &str,
|
||||||
|
outputs: &OutputFilenames) -> PathBuf {
|
||||||
|
let libname = format!("{}{}", crate_name, sess.opts.cg.extra_filename);
|
||||||
|
|
||||||
|
let out_filename = outputs.single_output_file.clone()
|
||||||
|
.unwrap_or(outputs.out_directory.join(&format!("lib{}.rmeta", libname)));
|
||||||
|
|
||||||
|
check_file_is_writeable(&out_filename, sess);
|
||||||
|
|
||||||
|
out_filename
|
||||||
|
}
|
||||||
|
|
||||||
pub fn filename_for_input(sess: &Session,
|
pub fn filename_for_input(sess: &Session,
|
||||||
crate_type: config::CrateType,
|
crate_type: config::CrateType,
|
||||||
crate_name: &str,
|
crate_name: &str,
|
||||||
|
Loading…
Reference in New Issue
Block a user