| // Copyright 2014 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_utils.h" | 
 |  | 
 | #include "tools/gn/filesystem_utils.h" | 
 | #include "tools/gn/settings.h" | 
 | #include "tools/gn/target.h" | 
 |  | 
 | SourceFile GetNinjaFileForTarget(const Target* target) { | 
 |   return SourceFile( | 
 |       GetBuildDirForTargetAsSourceDir(target, BuildDirType::OBJ).value() + | 
 |       target->label().name() + ".ninja"); | 
 | } | 
 |  | 
 | SourceFile GetNinjaFileForToolchain(const Settings* settings) { | 
 |   return SourceFile(GetBuildDirAsSourceDir(BuildDirContext(settings), | 
 |                                            BuildDirType::TOOLCHAIN_ROOT) | 
 |                         .value() + | 
 |                     "toolchain.ninja"); | 
 | } | 
 |  | 
 | std::string GetNinjaRulePrefixForToolchain(const Settings* settings) { | 
 |   // Don't prefix the default toolchain so it looks prettier, prefix everything | 
 |   // else. | 
 |   if (settings->is_default()) | 
 |     return std::string();  // Default toolchain has no prefix. | 
 |   return settings->toolchain_label().name() + "_"; | 
 | } |