class Architecture;
class Builder;
+class BuildInfo;
class Component;
class FileTarget;
class Target;
/// Creates a source file appropriate for this tool.
virtual Target *create_source(const Component &, const Msp::FS::Path &) const { return 0; }
- /** Creates a package-less source file appropriate for this too. This is
+ /** Creates a package-less source file appropriate for this tool. This is
called during dependency discovery when no package has created a target for
the file. */
virtual Target *create_source(const Msp::FS::Path &) const { return 0; }
alternative target type for tools that can create multiple kinds of targets. */
virtual Target *create_target(const std::list<Target *> &, const std::string & = std::string()) const = 0;
+ virtual std::string create_build_signature(const BuildInfo &) const { return std::string(); }
+
/** Invokes the tool to build a target. This should not be called directly;
use Target::build() instead. */
virtual Task *run(const Target &) const = 0;