X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmsvclinker.cpp;h=9352c0f51414626118c4a3a5fb857a9d92917fb8;hb=edd4771292a2273080fbcbac266c6831834b0b86;hp=968bd5dd884cf6a75442d0587d843b185d338290;hpb=b29b79ca42fe4285c18b5d348b4eb59010d2c2da;p=builder.git diff --git a/source/msvclinker.cpp b/source/msvclinker.cpp index 968bd5d..9352c0f 100644 --- a/source/msvclinker.cpp +++ b/source/msvclinker.cpp @@ -4,7 +4,6 @@ #include "builder.h" #include "component.h" #include "executable.h" -#include "externaltask.h" #include "importlibrary.h" #include "microsofttools.h" #include "msvclinker.h" @@ -26,7 +25,7 @@ MsvcLinker::MsvcLinker(Builder &b, const Architecture &a, const MicrosoftTools & processing_unit = COMPONENT; set_command((ms_tools.get_vc_bin_dir()/"link.exe").str(), false); - set_run(_run); + set_run_external(_run); } Target *MsvcLinker::create_target(const vector &sources, const string &arg) @@ -87,7 +86,7 @@ void MsvcLinker::do_prepare(ToolData &tool) const setenv("LIB", path); } -Task *MsvcLinker::_run(const Binary &bin) +ExternalTask::Arguments MsvcLinker::_run(const Binary &bin, FS::Path &work_dir) { const Tool &tool = *bin.get_tool(); @@ -95,8 +94,6 @@ Task *MsvcLinker::_run(const Binary &bin) argv.push_back(tool.get_executable()->get_path().str()); argv.push_back("/NOLOGO"); - FS::Path work_dir = bin.get_component()->get_package().get_source_directory(); - if(dynamic_cast(&bin)) argv.push_back("/DLL"); @@ -127,5 +124,5 @@ Task *MsvcLinker::_run(const Binary &bin) argv.push_back("/SUBSYSTEM:CONSOLE"); - return new ExternalTask(argv, work_dir); + return argv; }