diff options
| author | Peter Wagenet <peter.wagenet@gmail.com> | 2017-03-13 11:36:44 -0700 |
|---|---|---|
| committer | Peter Wagenet <peter.wagenet@gmail.com> | 2017-03-14 10:08:29 -0700 |
| commit | 61d93877b70cfb9cab974ef2fb3c60d9cb50f72f (patch) | |
| tree | 223ecf851087011ff7be2588f5cf53c8931f9ae0 /src/bootstrap | |
| parent | a5483a7f36dfb97c2500c0ed4eedc4a665f3f5b1 (diff) | |
| download | rust-61d93877b70cfb9cab974ef2fb3c60d9cb50f72f.tar.gz rust-61d93877b70cfb9cab974ef2fb3c60d9cb50f72f.zip | |
Target builds for older macOS
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/compile.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 3459c1d2b84..af1f43eb4c1 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -20,6 +20,7 @@ use std::collections::HashMap; use std::fs::{self, File}; use std::path::{Path, PathBuf}; use std::process::Command; +use std::env; use build_helper::{output, mtime, up_to_date}; use filetime::FileTime; @@ -44,6 +45,11 @@ pub fn std(build: &Build, target: &str, compiler: &Compiler) { build.clear_if_dirty(&out_dir, &build.compiler_path(compiler)); let mut cargo = build.cargo(compiler, Mode::Libstd, target, "build"); let mut features = build.std_features(); + + if let Ok(target) = env::var("MACOSX_STD_DEPLOYMENT_TARGET") { + cargo.env("MACOSX_DEPLOYMENT_TARGET", target); + } + // When doing a local rebuild we tell cargo that we're stage1 rather than // stage0. This works fine if the local rust and being-built rust have the // same view of what the default allocator is, but fails otherwise. Since @@ -170,6 +176,9 @@ pub fn test(build: &Build, target: &str, compiler: &Compiler) { let out_dir = build.cargo_out(compiler, Mode::Libtest, target); build.clear_if_dirty(&out_dir, &libstd_stamp(build, compiler, target)); let mut cargo = build.cargo(compiler, Mode::Libtest, target, "build"); + if let Ok(target) = env::var("MACOSX_STD_DEPLOYMENT_TARGET") { + cargo.env("MACOSX_DEPLOYMENT_TARGET", target); + } cargo.arg("--manifest-path") .arg(build.src.join("src/libtest/Cargo.toml")); build.run(&mut cargo); |
