X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftool.cpp;h=377dc7f4bc0813ae095ede177bbaf004512244de;hb=bc6d4c540e7132c829dd558ca9d8acfbde7d71e1;hp=496132f7a5266523e92777e0558aeb79b62b57cb;hpb=92d81529ec8f3b84f5471162d0b27914eff7adb5;p=builder.git diff --git a/source/tool.cpp b/source/tool.cpp index 496132f..377dc7f 100644 --- a/source/tool.cpp +++ b/source/tool.cpp @@ -1,7 +1,9 @@ -#include +#include +#include #include #include "architecture.h" #include "builder.h" +#include "filetarget.h" #include "tool.h" using namespace std; @@ -38,12 +40,7 @@ void Tool::set_command(const string &cmd, bool cross) bool Tool::accepts_suffix(const string &suffix, bool aux) const { - if(find(input_suffixes.begin(), input_suffixes.end(), suffix)!=input_suffixes.end()) - return true; - else if(aux) - return find(aux_suffixes.begin(), aux_suffixes.end(), suffix)!=aux_suffixes.end(); - else - return false; + return (any_equals(input_suffixes, suffix) || (aux && any_equals(aux_suffixes, suffix))); } Target *Tool::create_target(Target &source, const string &arg) @@ -71,6 +68,14 @@ void Tool::prepare() } } +string Tool::create_build_signature(const BuildInfo &) const +{ + if(executable) + return format("%s=%s", tag, FS::basename(executable->get_path())); + else + return string(); +} + SubTool::SubTool(Tool &p): Tool(p),