about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan Turner <jonathandturner@users.noreply.github.com>2016-09-26 17:29:48 -0700
committerGitHub <noreply@github.com>2016-09-26 17:29:48 -0700
commit96577e4871bde61ea818be225e85b9662784b26d (patch)
treec0cb1b589bdb05981c4e7ccb56277777c7ceaeab
parent1d9646228d8198d9c41eaa00c765de8c7bf62d69 (diff)
parentfa5eb54881584b1a22c57fe9e7040f833b302eda (diff)
downloadrust-96577e4871bde61ea818be225e85b9662784b26d.tar.gz
rust-96577e4871bde61ea818be225e85b9662784b26d.zip
Rollup merge of #36663 - brson:build-plan, r=alexcrichton
rustbuild: Print out all build steps when --verbose

These helped me debug some problems with the asmjs target. It's just vomiting debug representations, so not the prettiest stuff.

r? @alexcrichton
-rw-r--r--src/bootstrap/lib.rs9
-rw-r--r--src/bootstrap/step.rs3
2 files changed, 11 insertions, 1 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index a5146c846ce..bcc53129f8d 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -243,7 +243,14 @@ impl Build {
         // Almost all of these are simple one-liners that shell out to the
         // corresponding functionality in the extra modules, where more
         // documentation can be found.
-        for target in step::all(self) {
+        let steps = step::all(self);
+
+        self.verbose("bootstrap build plan:");
+        for step in &steps {
+            self.verbose(&format!("{:?}", step));
+        }
+
+        for target in steps {
             let doc_out = self.out.join(&target.target).join("doc");
             match target.src {
                 Llvm { _dummy } => {
diff --git a/src/bootstrap/step.rs b/src/bootstrap/step.rs
index 5f391b70fbe..4b5a26d205a 100644
--- a/src/bootstrap/step.rs
+++ b/src/bootstrap/step.rs
@@ -171,6 +171,8 @@ targets!(define_source);
 /// into a topologically sorted list which when executed left-to-right will
 /// correctly sequence the entire build.
 pub fn all(build: &Build) -> Vec<Step> {
+    build.verbose("inferred build steps:");
+
     let mut ret = Vec::new();
     let mut all = HashSet::new();
     for target in top_level(build) {
@@ -184,6 +186,7 @@ pub fn all(build: &Build) -> Vec<Step> {
                 set: &mut HashSet<Step<'a>>) {
         if set.insert(target.clone()) {
             for dep in target.deps(build) {
+                build.verbose(&format!("{:?}\n  -> {:?}", target, dep));
                 fill(build, &dep, ret, set);
             }
             ret.push(target.clone());