diff options
Diffstat (limited to 'tools/gn/ninja_writer.cc')
-rw-r--r-- | tools/gn/ninja_writer.cc | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/tools/gn/ninja_writer.cc b/tools/gn/ninja_writer.cc deleted file mode 100644 index 8b69a3f..0000000 --- a/tools/gn/ninja_writer.cc +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "tools/gn/ninja_writer.h" - -#include "tools/gn/location.h" -#include "tools/gn/ninja_build_writer.h" -#include "tools/gn/ninja_toolchain_writer.h" - - -NinjaWriter::NinjaWriter(const BuildSettings* build_settings) - : build_settings_(build_settings) { -} - -NinjaWriter::~NinjaWriter() { -} - -// static -bool NinjaWriter::RunAndWriteFiles(const BuildSettings* build_settings) { - NinjaWriter writer(build_settings); - return writer.WriteRootBuildfiles(); -} - -bool NinjaWriter::WriteRootBuildfiles() { - // Categorize all targets by toolchain. - typedef std::map<Label, std::vector<const Target*> > CategorizedMap; - CategorizedMap categorized; - - std::vector<const Target*> all_targets; - build_settings_->target_manager().GetAllTargets(&all_targets); - for (size_t i = 0; i < all_targets.size(); i++) { - categorized[all_targets[i]->label().GetToolchainLabel()].push_back( - all_targets[i]); - } - - Label default_label = - build_settings_->toolchain_manager().GetDefaultToolchainUnlocked(); - - // Write out the toolchain buildfiles, and also accumulate the set of - // all settings and find the list of targets in the default toolchain. - std::vector<const Settings*> all_settings; - const std::vector<const Target*>* default_targets = NULL; - for (CategorizedMap::const_iterator i = categorized.begin(); - i != categorized.end(); ++i) { - const Settings* settings; - { - base::AutoLock lock(build_settings_->item_tree().lock()); - Err ignored; - settings = - build_settings_->toolchain_manager().GetSettingsForToolchainLocked( - LocationRange(), i->first, &ignored); - } - if (i->first == default_label) - default_targets = &i->second; - all_settings.push_back(settings); - if (!NinjaToolchainWriter::RunAndWriteFile(settings, i->second)) - return false; - } - - // Write the root buildfile. - return NinjaBuildWriter::RunAndWriteFile(build_settings_, all_settings, - *default_targets); -} |