mirror of https://github.com/rust-lang/rust.git
Auto merge of #125406 - tbu-:pr_rm_path_with_extension, r=Nadrieril
Directly add extension instead of using `Path::with_extension` `Path::with_extension` has a nice footgun when the original path doesn't contain an extension: Anything after the last dot gets removed.
This commit is contained in:
commit
67caf52fbc
|
@ -128,11 +128,7 @@ impl ArchiveBuilderBuilder for LlvmArchiveBuilderBuilder {
|
||||||
is_direct_dependency: bool,
|
is_direct_dependency: bool,
|
||||||
) -> PathBuf {
|
) -> PathBuf {
|
||||||
let name_suffix = if is_direct_dependency { "_imports" } else { "_imports_indirect" };
|
let name_suffix = if is_direct_dependency { "_imports" } else { "_imports_indirect" };
|
||||||
let output_path = {
|
let output_path = tmpdir.join(format!("{lib_name}{name_suffix}.lib"));
|
||||||
let mut output_path: PathBuf = tmpdir.to_path_buf();
|
|
||||||
output_path.push(format!("{lib_name}{name_suffix}"));
|
|
||||||
output_path.with_extension("lib")
|
|
||||||
};
|
|
||||||
|
|
||||||
let target = &sess.target;
|
let target = &sess.target;
|
||||||
let mingw_gnu_toolchain = common::is_mingw_gnu_toolchain(target);
|
let mingw_gnu_toolchain = common::is_mingw_gnu_toolchain(target);
|
||||||
|
@ -157,8 +153,7 @@ impl ArchiveBuilderBuilder for LlvmArchiveBuilderBuilder {
|
||||||
// that loaded but crashed with an AV upon calling one of the imported
|
// that loaded but crashed with an AV upon calling one of the imported
|
||||||
// functions. Therefore, use binutils to create the import library instead,
|
// functions. Therefore, use binutils to create the import library instead,
|
||||||
// by writing a .DEF file to the temp dir and calling binutils's dlltool.
|
// by writing a .DEF file to the temp dir and calling binutils's dlltool.
|
||||||
let def_file_path =
|
let def_file_path = tmpdir.join(format!("{lib_name}{name_suffix}.def"));
|
||||||
tmpdir.join(format!("{lib_name}{name_suffix}")).with_extension("def");
|
|
||||||
|
|
||||||
let def_file_content = format!(
|
let def_file_content = format!(
|
||||||
"EXPORTS\n{}",
|
"EXPORTS\n{}",
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
//@ needs-dlltool
|
//@ needs-dlltool
|
||||||
//@ compile-flags: --crate-type lib --emit link
|
//@ compile-flags: --crate-type lib --emit link
|
||||||
//@ normalize-stderr-test: "[^ ']*/dlltool.exe" -> "$$DLLTOOL"
|
//@ normalize-stderr-test: "[^ ']*/dlltool.exe" -> "$$DLLTOOL"
|
||||||
//@ normalize-stderr-test: "[^ ]*/foo.def" -> "$$DEF_FILE"
|
//@ normalize-stderr-test: "[^ ]*/foo.dll_imports.def" -> "$$DEF_FILE"
|
||||||
//@ normalize-stderr-test: "[^ ]*/foo.lib" -> "$$LIB_FILE"
|
//@ normalize-stderr-test: "[^ ]*/foo.dll_imports.lib" -> "$$LIB_FILE"
|
||||||
//@ normalize-stderr-test: "-m [^ ]*" -> "$$TARGET_MACHINE"
|
//@ normalize-stderr-test: "-m [^ ]*" -> "$$TARGET_MACHINE"
|
||||||
//@ normalize-stderr-test: "-f [^ ]*" -> "$$ASM_FLAGS"
|
//@ normalize-stderr-test: "-f [^ ]*" -> "$$ASM_FLAGS"
|
||||||
//@ normalize-stderr-test: "--temp-prefix [^ ]*/foo.dll" -> "$$TEMP_PREFIX"
|
//@ normalize-stderr-test: "--temp-prefix [^ ]*/foo.dll" -> "$$TEMP_PREFIX"
|
||||||
|
|
Loading…
Reference in New Issue