| Index: tools/gn/ninja_target_writer.cc
|
| diff --git a/tools/gn/ninja_target_writer.cc b/tools/gn/ninja_target_writer.cc
|
| index bdc0472417cc476928c8f22ec3ccb9662f3b6400..2b866262a19775bc72750920abbff45060dcc6f2 100644
|
| --- a/tools/gn/ninja_target_writer.cc
|
| +++ b/tools/gn/ninja_target_writer.cc
|
| @@ -35,14 +35,8 @@ NinjaTargetWriter::~NinjaTargetWriter() {
|
| }
|
|
|
| // static
|
| -void NinjaTargetWriter::RunAndWriteFile(const Target* target) {
|
| - // External targets don't get written to disk, we assume they're managed by
|
| - // an external program. If we're not using an external generator, this is
|
| - // ignored.
|
| - if (target->settings()->build_settings()->using_external_generator() &&
|
| - target->external())
|
| - return;
|
| -
|
| +void NinjaTargetWriter::RunAndWriteFile(const Target* target,
|
| + const Toolchain* toolchain) {
|
| const Settings* settings = target->settings();
|
| NinjaHelper helper(settings->build_settings());
|
|
|
| @@ -57,10 +51,6 @@ void NinjaTargetWriter::RunAndWriteFile(const Target* target) {
|
| if (g_scheduler->verbose_logging())
|
| g_scheduler->Log("Writing", FilePathToUTF8(ninja_file));
|
|
|
| - const Toolchain* tc = settings->build_settings()->toolchain_manager()
|
| - .GetToolchainDefinitionUnlocked(settings->toolchain_label());
|
| - CHECK(tc);
|
| -
|
| file_util::CreateDirectory(ninja_file.DirName());
|
|
|
| // It's rediculously faster to write to a string and then write that to
|
| @@ -69,19 +59,19 @@ void NinjaTargetWriter::RunAndWriteFile(const Target* target) {
|
|
|
| // Call out to the correct sub-type of writer.
|
| if (target->output_type() == Target::COPY_FILES) {
|
| - NinjaCopyTargetWriter writer(target, tc, file);
|
| + NinjaCopyTargetWriter writer(target, toolchain, file);
|
| writer.Run();
|
| } else if (target->output_type() == Target::CUSTOM) {
|
| - NinjaScriptTargetWriter writer(target, tc, file);
|
| + NinjaScriptTargetWriter writer(target, toolchain, file);
|
| writer.Run();
|
| } else if (target->output_type() == Target::GROUP) {
|
| - NinjaGroupTargetWriter writer(target, tc, file);
|
| + NinjaGroupTargetWriter writer(target, toolchain, file);
|
| writer.Run();
|
| } else if (target->output_type() == Target::EXECUTABLE ||
|
| target->output_type() == Target::STATIC_LIBRARY ||
|
| target->output_type() == Target::SHARED_LIBRARY ||
|
| target->output_type() == Target::SOURCE_SET) {
|
| - NinjaBinaryTargetWriter writer(target, tc, file);
|
| + NinjaBinaryTargetWriter writer(target, toolchain, file);
|
| writer.Run();
|
| } else {
|
| CHECK(0);
|
|
|