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;
}