X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmingwdlltool.cpp;h=62ef7059a885d7a78d2dd216b2d2612c3eeabd42;hb=1ed833343bc83b83c5f61cbfd74423bbba677a04;hp=922fe51a10b724c5daa0608e55e5efb90e2392fc;hpb=2a23a19ff6717b32ddc45f84681c5c969c967e45;p=builder.git diff --git a/source/mingwdlltool.cpp b/source/mingwdlltool.cpp index 922fe51..62ef705 100644 --- a/source/mingwdlltool.cpp +++ b/source/mingwdlltool.cpp @@ -19,6 +19,7 @@ MingwDllTool::MingwDllTool(Builder &b, const Architecture &a): Tool(b, a, "DLL") { set_command("dlltool", true); + set_run(_run); } Target *MingwDllTool::create_target(const vector &sources, const string &) @@ -57,8 +58,10 @@ Target *MingwDllTool::create_install(Target &target) const return 0; } -Task *MingwDllTool::run(const Target &target) const +Task *MingwDllTool::_run(const Target &target) { + const Tool &tool = *target.get_tool(); + const ImportLibrary *imp = dynamic_cast(&target); const ExportDefinitions *exp = 0; if(imp) @@ -69,7 +72,7 @@ Task *MingwDllTool::run(const Target &target) const throw invalid_argument("MingwDllTool::run"); vector argv; - argv.push_back(executable->get_path().str()); + argv.push_back(tool.get_executable()->get_path().str()); /* dlltool is stupid and puts temporary files in the working directory by default */