diff options
| author | Mateusz Mikuła <mati865@gmail.com> | 2020-08-17 14:53:24 +0200 |
|---|---|---|
| committer | Mateusz Mikuła <mati865@gmail.com> | 2020-08-19 19:37:22 +0200 |
| commit | fbce8785d4ca784006ff84d8226befe8b372decd (patch) | |
| tree | 6da16498c6c9c433163571b28c9022dbd64af038 | |
| parent | 0a49057dd35d9bd2fcc9760a054809c30eee2a58 (diff) | |
| download | rust-fbce8785d4ca784006ff84d8226befe8b372decd.tar.gz rust-fbce8785d4ca784006ff84d8226befe8b372decd.zip | |
Fix windows-gnu host cross-compilation
| -rw-r--r-- | src/bootstrap/dist.rs | 2 | ||||
| -rw-r--r-- | src/librustc_llvm/build.rs | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs index 98b6be29c07..813abc3df94 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs @@ -226,7 +226,7 @@ fn make_win_dist( let idx = line.find(':').unwrap(); let key = &line[..idx]; let trim_chars: &[_] = &[' ', '=']; - let value = line[(idx + 1)..].trim_start_matches(trim_chars).split(';').map(PathBuf::from); + let value = env::split_paths(line[(idx + 1)..].trim_start_matches(trim_chars)); if key == "programs" { bin_path.extend(value); diff --git a/src/librustc_llvm/build.rs b/src/librustc_llvm/build.rs index 21b8080714c..25c0b40c495 100644 --- a/src/librustc_llvm/build.rs +++ b/src/librustc_llvm/build.rs @@ -151,6 +151,12 @@ fn main() { continue; } + // Include path contains host directory, replace it with target + if is_crossed && flag.starts_with("-I") { + cfg.flag(&flag.replace(&host, &target)); + continue; + } + cfg.flag(flag); } @@ -189,6 +195,9 @@ fn main() { if !is_crossed { cmd.arg("--system-libs"); + } else if target.contains("windows-gnu") { + println!("cargo:rustc-link-lib=shell32"); + println!("cargo:rustc-link-lib=uuid"); } cmd.args(&components); |
