X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgnuarchiver.cpp;h=170007028a5201f26bf64160402a2bab3f8bebd7;hb=4e2a160d94ca808cfb511cc2d38e115d989809f2;hp=7482b0d17caf004d66125f4a82c8c098d0bb2331;hpb=9e28243c9687608ec3c32954b4031490296ae877;p=builder.git diff --git a/source/gnuarchiver.cpp b/source/gnuarchiver.cpp index 7482b0d..1700070 100644 --- a/source/gnuarchiver.cpp +++ b/source/gnuarchiver.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include "builder.h" #include "component.h" @@ -17,7 +16,9 @@ using namespace Msp; GnuArchiver::GnuArchiver(Builder &b, const Architecture &a): Tool(b, a, "AR") { + set_command("ar", true); input_suffixes.push_back(".o"); + processing_unit = COMPONENT; } Target *GnuArchiver::create_target(const list &sources, const string &) @@ -40,12 +41,9 @@ Target *GnuArchiver::create_target(const list &sources, const string & return lib; } -void GnuArchiver::do_prepare() +string GnuArchiver::create_build_signature(const BuildInfo &) const { - string command = "ar"; - if(architecture->is_cross()) - command = format("%s-%s", architecture->get_cross_prefix(), command); - executable = builder.get_vfs().find_binary(command); + return FS::basename(executable->get_path()); } Task *GnuArchiver::run(const Target &target) const