X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftool.cpp;h=f3a29905b1651f12cc2c4dc92ef95f55e38b5a0d;hb=HEAD;hp=3aa2db3c713716ba7d90bcafa715afe368a37302;hpb=6c2db179b5d94ddc32ba1a9b631d59d056e594fc;p=builder.git diff --git a/source/tool.cpp b/source/tool.cpp deleted file mode 100644 index 3aa2db3..0000000 --- a/source/tool.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include -#include -#include "architecture.h" -#include "builder.h" -#include "tool.h" - -using namespace std; -using namespace Msp; - -Tool::Tool(Builder &b, const string &t): - builder(b), - architecture(0), - tag(t), - executable(0), - prepared(false) -{ } - -Tool::Tool(Builder &b, const Architecture &a, const string &t): - builder(b), - architecture(&a), - tag(t), - executable(0), - prepared(false) -{ } - -void Tool::set_command(const string &cmd, bool cross) -{ - if(cmd.empty()) - throw invalid_argument("Tool::set_command"); - - if(cross && architecture->is_cross() && !FS::Path(cmd).is_absolute()) - command = format("%s-%s", architecture->get_cross_prefix(), cmd); - else - command = cmd; -} - -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; -} - -Target *Tool::create_target(Target &source, const string &arg) -{ - list sources; - sources.push_back(&source); - return create_target(sources, arg); -} - -void Tool::prepare() -{ - if(prepared) - return; - - prepared = true; - do_prepare(); - if(!executable && !command.empty()) - { - executable = builder.get_vfs().find_binary(command); - if(!executable) - problems.push_back(format("Can't find executable %s", command)); - } -} - - -SubTool::SubTool(Tool &p): - Tool(p), - parent(p) -{ }