From: Evan Martin Date: Sat, 4 Dec 2010 23:06:27 +0000 (-0800) Subject: show referencing node in 'file missing' message X-Git-Tag: release-120715~587 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30afe1d6895c4dd597634869732a35aeaae47af1;p=platform%2Fupstream%2Fninja.git show referencing node in 'file missing' message --- diff --git a/build.cc b/build.cc index 919e4ac..6282b5f 100644 --- a/build.cc +++ b/build.cc @@ -14,7 +14,10 @@ bool Plan::AddSubTarget(Node* node, vector* stack, string* err) { Edge* edge = node->in_edge_; if (!edge) { // Leaf node. if (node->dirty_) { - *err = "'" + node->file_->path_ + "' missing " + string referenced; + if (!stack->empty()) + referenced = ", needed by '" + stack->back()->file_->path_ + "',"; + *err = "'" + node->file_->path_ + "'" + referenced + " missing " "and no known rule to make it"; } return false; diff --git a/build_test.cc b/build_test.cc index 26d1080..81f2fbe 100644 --- a/build_test.cc +++ b/build_test.cc @@ -350,7 +350,8 @@ TEST_F(BuildTest, MissingInput) { string err; Dirty("in1"); EXPECT_FALSE(builder_.AddTarget("cat1", &err)); - EXPECT_EQ("'in1' missing and no known rule to make it", err); + EXPECT_EQ("'in1', needed by 'cat1', missing and no known rule to make it", + err); } TEST_F(BuildTest, MissingTarget) {