15 #ifndef NINJA_DEPS_LOG_H_ 16 #define NINJA_DEPS_LOG_H_ 67 DepsLog() : needs_recompaction_(false), file_(NULL) {}
71 bool OpenForWrite(
const string& path,
string* err);
72 bool RecordDeps(
Node* node,
TimeStamp mtime,
const vector<Node*>& nodes);
78 Deps(
int mtime,
int node_count)
79 : mtime(mtime), node_count(node_count), nodes(new
Node*[node_count]) {}
85 bool Load(
const string& path,
State* state,
string* err);
89 bool Recompact(
const string& path,
string* err);
97 bool IsDepsEntryLiveFor(
Node* node);
100 const vector<Node*>&
nodes()
const {
return nodes_; }
101 const vector<Deps*>&
deps()
const {
return deps_; }
106 bool UpdateDeps(
int out_id,
Deps* deps);
108 bool RecordId(
Node* node);
118 friend struct DepsLogTest;
121 #endif // NINJA_DEPS_LOG_H_
vector< Deps * > deps_
Maps id -> deps of that id.
Information about a node in the dependency graph: the file, whether it's dirty, mtime, etc.
Deps(int mtime, int node_count)
As build commands run they can output extra dependency information (e.g.
vector< Node * > nodes_
Maps id -> Node.
const vector< Deps * > & deps() const
Global state (file status, loaded rules) for a single run.
const vector< Node * > & nodes() const
Used for tests.