| Index: tools/gn/ninja_build_writer.cc
|
| diff --git a/tools/gn/ninja_build_writer.cc b/tools/gn/ninja_build_writer.cc
|
| index 42f3bc7578e0d8c5563b81775dc2ff0fcdbe9552..73f3f279a05a5bd3a8966d50304b6a274a557e95 100644
|
| --- a/tools/gn/ninja_build_writer.cc
|
| +++ b/tools/gn/ninja_build_writer.cc
|
| @@ -75,11 +75,13 @@ std::string GetSelfInvocationCommand(const BuildSettings* build_settings) {
|
| NinjaBuildWriter::NinjaBuildWriter(
|
| const BuildSettings* build_settings,
|
| const std::vector<const Settings*>& all_settings,
|
| + const Toolchain* default_toolchain,
|
| const std::vector<const Target*>& default_toolchain_targets,
|
| std::ostream& out,
|
| std::ostream& dep_out)
|
| : build_settings_(build_settings),
|
| all_settings_(all_settings),
|
| + default_toolchain_(default_toolchain),
|
| default_toolchain_targets_(default_toolchain_targets),
|
| out_(out),
|
| dep_out_(dep_out),
|
| @@ -91,6 +93,7 @@ NinjaBuildWriter::~NinjaBuildWriter() {
|
|
|
| void NinjaBuildWriter::Run() {
|
| WriteNinjaRules();
|
| + WriteLinkPool();
|
| WriteSubninjas();
|
| WritePhonyAndAllRules();
|
| }
|
| @@ -99,6 +102,7 @@ void NinjaBuildWriter::Run() {
|
| bool NinjaBuildWriter::RunAndWriteFile(
|
| const BuildSettings* build_settings,
|
| const std::vector<const Settings*>& all_settings,
|
| + const Toolchain* default_toolchain,
|
| const std::vector<const Target*>& default_toolchain_targets) {
|
| ScopedTrace trace(TraceItem::TRACE_FILE_WRITE, "build.ninja");
|
|
|
| @@ -118,7 +122,7 @@ bool NinjaBuildWriter::RunAndWriteFile(
|
| if (depfile.fail())
|
| return false;
|
|
|
| - NinjaBuildWriter gen(build_settings, all_settings,
|
| + NinjaBuildWriter gen(build_settings, all_settings, default_toolchain,
|
| default_toolchain_targets, file, depfile);
|
| gen.Run();
|
| return true;
|
| @@ -152,6 +156,12 @@ void NinjaBuildWriter::WriteNinjaRules() {
|
| out_ << std::endl;
|
| }
|
|
|
| +void NinjaBuildWriter::WriteLinkPool() {
|
| + out_ << "pool link_pool\n"
|
| + << " depth = " << default_toolchain_->concurrent_links() << std::endl
|
| + << std::endl;
|
| +}
|
| +
|
| void NinjaBuildWriter::WriteSubninjas() {
|
| for (size_t i = 0; i < all_settings_.size(); i++) {
|
| out_ << "subninja ";
|
|
|