diff options
Diffstat (limited to 'src/task_ld.cc')
-rw-r--r-- | src/task_ld.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/task_ld.cc b/src/task_ld.cc index 20e823d..ba1eb1b 100644 --- a/src/task_ld.cc +++ b/src/task_ld.cc @@ -95,14 +95,15 @@ int TaskLD::runInner() auto lib = depFile.stem().string().substr(3); // strip 'lib' prefix append(args, getOption(tool_chain, opt::link, lib)); } - else if(depFile.extension() == ".a" || depFile.extension() == ".o") + else if(depFile.extension() == ".lib" || depFile.extension() == ".obj") { args.push_back(depFile.string()); } } append(args, config.flags.ldflags); - append(args, getOption(tool_chain, opt::output, targetFile().string())); +// append(args, getOption(tool_chain, opt::output, targetFile().string())); + args.push_back("/out:"+targetFile().string()); { // Write flags to file. std::ofstream flagsStream(flagsFile); @@ -114,8 +115,9 @@ int TaskLD::runInner() std::cout << "LD => " << targetFile().string() << "\n"; } - auto tool = compiler(); - return execute(tool, args, settings.verbose > 0); + auto tool = linker(); + const auto& cfg = configuration(); + return execute(tool, args, cfg.env, settings.verbose > 0); } int TaskLD::clean() @@ -177,7 +179,7 @@ std::string TaskLD::flagsString() const } flagsStr += flag; } - flagsStr += "\n"; + //flagsStr += "\n"; break on win32 for(const auto& dep : config.depends) { |