#include <string>
#include <msp/fs/path.h>
+class Architecture;
class Builder;
class Component;
+class FileTarget;
class Target;
class Task;
protected:
Builder &builder;
+ const Architecture *architecture;
std::string tag;
+ FileTarget *executable;
SuffixList input_suffixes;
SuffixList aux_suffixes;
SearchPath system_path;
Tool(Builder &, const std::string &);
+ Tool(Builder &, const Architecture &, const std::string &);
public:
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;