class Builder;
class Component;
+class FileTarget;
class Target;
class Task;
protected:
Builder &builder;
std::string tag;
+ FileTarget *executable;
SuffixList input_suffixes;
SuffixList aux_suffixes;
SearchPath system_path;
virtual ~Tool() { }
const std::string &get_tag() const { return tag; }
+ // XXX The executable target should be retrieved when first needed
+ FileTarget *get_executable() const { return executable; }
const SuffixList &get_input_suffixes() const { return input_suffixes; }
const SuffixList &get_auxiliary_suffixes() const { return aux_suffixes; }
bool accepts_suffix(const std::string &, bool = false) const;