diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-08 03:33:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-08 03:33:58 +0200 |
| commit | 9f314fe2f3e9ed0eccfccfb04d7588d329eaff9d (patch) | |
| tree | cf7506814d204f0b2df6dc4d76fcc5f9390f1164 /src | |
| parent | ae487e04c89fe5295ed674cf08f0a86123304572 (diff) | |
| parent | 367b031d881cdb1f4fb6bd77f3d71a827ccd9735 (diff) | |
| download | rust-9f314fe2f3e9ed0eccfccfb04d7588d329eaff9d.tar.gz rust-9f314fe2f3e9ed0eccfccfb04d7588d329eaff9d.zip | |
Rollup merge of #61621 - Mark-Simulacrum:bootstrap-run-only-hosts, r=alexcrichton
Clarify when we run steps with ONLY_HOSTS Just some simple cleanup, no behavior changes. r? @alexcrichton
Diffstat (limited to 'src')
| -rw-r--r-- | src/bootstrap/builder.rs | 10 | ||||
| -rw-r--r-- | src/bootstrap/config.rs | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 1d3b4fe33c8..2281a45e014 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -59,7 +59,7 @@ pub trait Step: 'static + Clone + Debug + PartialEq + Eq + Hash { const DEFAULT: bool = false; - /// Run this rule for all hosts without cross compiling. + /// If true, then this rule should be skipped if --target was specified, but --host was not const ONLY_HOSTS: bool = false; /// Primary function to execute this rule. Can call `builder.ensure()` @@ -163,7 +163,7 @@ impl StepDescription { // Determine the targets participating in this rule. let targets = if self.only_hosts { - if !builder.config.run_host_only { + if builder.config.skip_only_host_steps { return; // don't run anything } else { &builder.hosts @@ -1338,7 +1338,7 @@ mod __test { let mut config = Config::default_opts(); // don't save toolstates config.save_toolstates = None; - config.run_host_only = true; + config.skip_only_host_steps = false; config.dry_run = true; // try to avoid spurious failures in dist where we create/delete each others file let dir = config.out.join("tmp-rustbuild-tests").join( @@ -1583,7 +1583,7 @@ mod __test { #[test] fn dist_with_target_flag() { let mut config = configure(&["B"], &["C"]); - config.run_host_only = false; // as-if --target=C was passed + config.skip_only_host_steps = true; // as-if --target=C was passed let build = Build::new(config); let mut builder = Builder::new(&build); builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Dist), &[]); @@ -1831,7 +1831,7 @@ mod __test { #[test] fn build_with_target_flag() { let mut config = configure(&["B"], &["C"]); - config.run_host_only = false; + config.skip_only_host_steps = true; let build = Build::new(config); let mut builder = Builder::new(&build); builder.run_step_descriptions(&Builder::get_step_descriptions(Kind::Build), &[]); diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index edeb07fda1d..66f504ea924 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -51,7 +51,7 @@ pub struct Config { pub test_compare_mode: bool, pub llvm_libunwind: bool, - pub run_host_only: bool, + pub skip_only_host_steps: bool, pub on_fail: Option<String>, pub stage: Option<u32>, @@ -416,7 +416,9 @@ impl Config { } // If --target was specified but --host wasn't specified, don't run any host-only tests. - config.run_host_only = !(flags.host.is_empty() && !flags.target.is_empty()); + let has_hosts = !flags.host.is_empty(); + let has_targets = !flags.target.is_empty(); + config.skip_only_host_steps = !has_hosts && has_targets; let toml = file.map(|file| { let contents = t!(fs::read_to_string(&file)); |
