| // 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() + "_"; |
| } |