about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/tools/run-make-support/src/artifact_names.rs36
1 files changed, 6 insertions, 30 deletions
diff --git a/src/tools/run-make-support/src/artifact_names.rs b/src/tools/run-make-support/src/artifact_names.rs
index a2c58f4e4b6..bc6ec7566e5 100644
--- a/src/tools/run-make-support/src/artifact_names.rs
+++ b/src/tools/run-make-support/src/artifact_names.rs
@@ -1,7 +1,9 @@
 //! A collection of helpers to construct artifact names, such as names of dynamic or static
 //! librarys which are target-dependent.
 
-use crate::targets::{is_darwin, is_msvc, is_windows};
+// FIXME(jieyouxu): convert these to return `PathBuf`s instead of strings!
+
+use crate::targets::is_msvc;
 
 /// Construct the static library name based on the target.
 #[must_use]
@@ -31,41 +33,15 @@ pub fn static_lib_name(name: &str) -> String {
 /// Construct the dynamic library name based on the target.
 #[must_use]
 pub fn dynamic_lib_name(name: &str) -> String {
-    // See tools.mk (irrelevant lines omitted):
-    //
-    // ```makefile
-    // ifeq ($(UNAME),Darwin)
-    //     DYLIB = $(TMPDIR)/lib$(1).dylib
-    // else
-    //     ifdef IS_WINDOWS
-    //         DYLIB = $(TMPDIR)/$(1).dll
-    //     else
-    //         DYLIB = $(TMPDIR)/lib$(1).so
-    //     endif
-    // endif
-    // ```
     assert!(!name.contains(char::is_whitespace), "dynamic library name cannot contain whitespace");
 
-    let extension = dynamic_lib_extension();
-    if is_darwin() {
-        format!("lib{name}.{extension}")
-    } else if is_windows() {
-        format!("{name}.{extension}")
-    } else {
-        format!("lib{name}.{extension}")
-    }
+    format!("{}{name}.{}", std::env::consts::DLL_PREFIX, std::env::consts::DLL_EXTENSION)
 }
 
 /// Construct the dynamic library extension based on the target.
 #[must_use]
 pub fn dynamic_lib_extension() -> &'static str {
-    if is_darwin() {
-        "dylib"
-    } else if is_windows() {
-        "dll"
-    } else {
-        "so"
-    }
+    std::env::consts::DLL_EXTENSION
 }
 
 /// Construct the name of a rust library (rlib).
@@ -77,5 +53,5 @@ pub fn rust_lib_name(name: &str) -> String {
 /// Construct the binary (executable) name based on the target.
 #[must_use]
 pub fn bin_name(name: &str) -> String {
-    if is_windows() { format!("{name}.exe") } else { name.to_string() }
+    format!("{name}{}", std::env::consts::EXE_SUFFIX)
 }