15 #ifndef NINJA_DYNDEP_LOADER_H_
16 #define NINJA_DYNDEP_LOADER_H_
Interface for accessing the disk.
Store data loaded from one dyndep file.
DyndepLoader loads dynamically discovered dependencies, as referenced via the "dyndep" attribute in b...
bool LoadDyndepFile(Node *file, DyndepFile *ddf, std::string *err) const
bool UpdateEdge(Edge *edge, Dyndeps const *dyndeps, std::string *err) const
DyndepLoader(State *state, DiskInterface *disk_interface, Explanations *explanations=nullptr)
DiskInterface * disk_interface_
OptionalExplanations explanations_
bool LoadDyndeps(Node *node, std::string *err) const
Load a dyndep file from the given node's path and update the build graph with the new information.
Store dynamically-discovered dependency information for one edge.
std::vector< Node * > implicit_inputs_
std::vector< Node * > implicit_outputs_
An edge in the dependency graph; links between Nodes using Rules.
A class used to record a list of explanation strings associated with a given 'item' pointer.
Information about a node in the dependency graph: the file, whether it's dirty, mtime,...
Convenience wrapper for an Explanations pointer, which can be null if no explanations need to be reco...
Global state (file status) for a single run.