Add toolchain directory to *.dll name generated by GN.

This allows to have the same shared library compiled by
multiple toolchains.

BUG= none
TEST= gn_unittest, create a copy of windows toolchain and
  add references to the same library compiled by normal
  and copied toolchain.

Review URL: https://codereview.chromium.org/144033002

Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b839a402a9bd1506cad24beefa711ce83975a909
diff --git a/tools/gn/ninja_binary_target_writer.cc b/tools/gn/ninja_binary_target_writer.cc
index 06d56ac..f0ef57c 100644
--- a/tools/gn/ninja_binary_target_writer.cc
+++ b/tools/gn/ninja_binary_target_writer.cc
@@ -202,7 +202,10 @@
   OutputFile internal_output_file;
   if (target_->output_type() == Target::SHARED_LIBRARY) {
     if (settings_->IsWin()) {
-      internal_output_file = OutputFile(target_->label().name() + ".dll");
+      internal_output_file.value() =
+          target_->settings()->toolchain_output_subdir().value();
+      internal_output_file.value().append(target_->label().name());
+      internal_output_file.value().append(".dll");
     } else {
       internal_output_file = external_output_file;
     }