mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-04 19:29:07 +00:00
Auto merge of #85362 - jsgf:fix-emit-metadata, r=estebank
Use command line metadata path if provided If the command-line has `--emit metadata=some/path/libfoo.rmeta` then use that. Closes #85356 I couldn't find any existing tests for the `--emit TYPE=PATH` command line syntax, so I wasn't sure how to test this aside from ad-hoc manual testing. Is there a ui test type for "generated output file with expected name"?
This commit is contained in:
commit
758c00ea40
@ -127,6 +127,11 @@ pub fn filename_for_metadata(
|
|||||||
crate_name: &str,
|
crate_name: &str,
|
||||||
outputs: &OutputFilenames,
|
outputs: &OutputFilenames,
|
||||||
) -> PathBuf {
|
) -> PathBuf {
|
||||||
|
// If the command-line specified the path, use that directly.
|
||||||
|
if let Some(Some(out_filename)) = sess.opts.output_types.get(&OutputType::Metadata) {
|
||||||
|
return out_filename.clone();
|
||||||
|
}
|
||||||
|
|
||||||
let libname = format!("{}{}", crate_name, sess.opts.cg.extra_filename);
|
let libname = format!("{}{}", crate_name, sess.opts.cg.extra_filename);
|
||||||
|
|
||||||
let out_filename = outputs
|
let out_filename = outputs
|
||||||
|
33
src/test/run-make/emit-named-files/Makefile
Normal file
33
src/test/run-make/emit-named-files/Makefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-include ../../run-make-fulldeps/tools.mk
|
||||||
|
|
||||||
|
OUT=$(TMPDIR)/emit
|
||||||
|
|
||||||
|
all: asm llvm-bc llvm-ir obj metadata link dep-info mir
|
||||||
|
|
||||||
|
asm: $(OUT)
|
||||||
|
$(RUSTC) --emit asm=$(OUT)/libfoo.s foo.rs
|
||||||
|
test -f $(OUT)/libfoo.s
|
||||||
|
llvm-bc: $(OUT)
|
||||||
|
$(RUSTC) --emit llvm-bc=$(OUT)/libfoo.bc foo.rs
|
||||||
|
test -f $(OUT)/libfoo.bc
|
||||||
|
llvm-ir: $(OUT)
|
||||||
|
$(RUSTC) --emit llvm-ir=$(OUT)/libfoo.ll foo.rs
|
||||||
|
test -f $(OUT)/libfoo.ll
|
||||||
|
obj: $(OUT)
|
||||||
|
$(RUSTC) --emit obj=$(OUT)/libfoo.o foo.rs
|
||||||
|
test -f $(OUT)/libfoo.o
|
||||||
|
metadata: $(OUT)
|
||||||
|
$(RUSTC) --emit metadata=$(OUT)/libfoo.rmeta foo.rs
|
||||||
|
test -f $(OUT)/libfoo.rmeta
|
||||||
|
link: $(OUT)
|
||||||
|
$(RUSTC) --emit link=$(OUT)/libfoo.rlib foo.rs
|
||||||
|
test -f $(OUT)/libfoo.rlib
|
||||||
|
dep-info: $(OUT)
|
||||||
|
$(RUSTC) --emit dep-info=$(OUT)/libfoo.d foo.rs
|
||||||
|
test -f $(OUT)/libfoo.d
|
||||||
|
mir: $(OUT)
|
||||||
|
$(RUSTC) --emit mir=$(OUT)/libfoo.mir foo.rs
|
||||||
|
test -f $(OUT)/libfoo.mir
|
||||||
|
|
||||||
|
$(OUT):
|
||||||
|
mkdir -p $(OUT)
|
1
src/test/run-make/emit-named-files/foo.rs
Normal file
1
src/test/run-make/emit-named-files/foo.rs
Normal file
@ -0,0 +1 @@
|
|||||||
|
#![crate_type = "rlib"]
|
Loading…
Reference in New Issue
Block a user