X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Ftool.h;h=be3646cd8f0f674a6022980a1205de5aa5c7b6b9;hb=88e3ad4afa2010507227c0c0ffb9d1ce08f61e2a;hp=93e2196189ca1f110f3a7d5774f4523420f03a28;hpb=7ed7c30ee0ceb734f17fe0c6d4bc6d37fb2ab5a7;p=builder.git diff --git a/source/tool.h b/source/tool.h index 93e2196..be3646c 100644 --- a/source/tool.h +++ b/source/tool.h @@ -32,6 +32,7 @@ protected: SuffixList aux_suffixes; SearchPath system_path; bool prepared; + std::list problems; Tool(Builder &, const std::string &); Tool(Builder &, const Architecture &, const std::string &); @@ -40,6 +41,10 @@ public: const std::string &get_tag() const { return tag; } + /** Returns the architecture this tool build for. May return null if the + tool is architecture-agnostic. */ + const Architecture *get_architecture() const { return architecture; } + /** Returns a target for the tool's own executable. If the tool does not use an external program, returns null. */ FileTarget *get_executable() const { return executable; } @@ -91,6 +96,8 @@ protected: void set_executable(const std::string &command, bool cross = false); public: + const std::list &get_problems() const { return problems; } + /** Invokes the tool to build a target. This should not be called directly; use Target::build() instead. */ virtual Task *run(const Target &) const = 0;