Skip to content

Commit

Permalink
Respect PATH separator platform differences
Browse files Browse the repository at this point in the history
  • Loading branch information
jieyouxu committed Feb 29, 2024
1 parent ef8f096 commit df7a627
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/tools/run-make-support/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ impl AuxBuildInvocationBuilder {
}
}

fn path_sep(target: &str) -> char {
if target.contains("windows") { ';' } else { ':' }
}

fn run_common(bin_name: &str) -> (Command, Output) {
let target = std::env::var("TARGET").unwrap();

Expand All @@ -102,18 +106,16 @@ fn run_common(bin_name: &str) -> (Command, Output) {
cmd.env(&ld_lib_path_envvar, {
let mut target_rpath_env_path = String::new();
target_rpath_env_path.push_str(&std::env::var("TMPDIR").unwrap());
target_rpath_env_path.push(':');
target_rpath_env_path.push(path_sep(&target));
target_rpath_env_path.push_str(&std::env::var("TARGET_RPATH_ENV").unwrap());
target_rpath_env_path.push(':');
target_rpath_env_path.push(path_sep(&target));
target_rpath_env_path.push_str(&std::env::var(&ld_lib_path_envvar).unwrap());
target_rpath_env_path
});

if target.contains("windows") {
let mut path = std::env::var("PATH").unwrap_or(String::new());
if !path.is_empty() {
path.push(':');
}
path.push(path_sep(&target));
path.push_str(&std::env::var("TARGET_RPATH_DIR").unwrap());
cmd.env("PATH", &path);
}
Expand Down

0 comments on commit df7a627

Please sign in to comment.