class Architecture;
class Builder;
+class BuildInfo;
class Component;
class FileTarget;
class Target;
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;