summaryrefslogtreecommitdiffstats
path: root/src/build.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/build.h')
-rw-r--r--src/build.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/build.h b/src/build.h
index 0d7c01a..7719d9a 100644
--- a/src/build.h
+++ b/src/build.h
@@ -74,7 +74,9 @@ struct Plan {
/// Reset state. Clears want and ready sets.
void Reset();
- void ComputeCriticalTime(BuildLog* build_log);
+
+ // After all targets have been added, prepares the ready queue for find work.
+ void PrepareQueue(BuildLog* build_log);
/// Update the build plan to account for modifications made to the graph
/// by information loaded from a dyndep file.
@@ -95,11 +97,16 @@ struct Plan {
};
private:
+ void ComputeCriticalTime(BuildLog* build_log);
bool RefreshDyndepDependents(DependencyScan* scan, const Node* node, std::string* err);
void UnmarkDependents(const Node* node, std::set<Node*>* dependents);
bool AddSubTarget(const Node* node, const Node* dependent, std::string* err,
std::set<Edge*>* dyndep_walk);
+ // Add edges that kWantToStart into the ready queue
+ // Must be called after ComputeCriticalTime and before FindWork
+ void ScheduleInitialEdges();
+
/// Update plan with knowledge that the given node is up to date.
/// If the node is a dyndep binding on any of its dependents, this
/// loads dynamic dependencies from the node's path.