1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef TOOLS_GN_NINJA_UTILS_H_ 6 #define TOOLS_GN_NINJA_UTILS_H_ 7 8 #include <string> 9 10 class Settings; 11 class SourceFile; 12 class Target; 13 14 // Example: "base/base.ninja". The string version will not be escaped, and 15 // will always have slashes for path separators. 16 SourceFile GetNinjaFileForTarget(const Target* target); 17 18 // Returns the name of the root .ninja file for the given toolchain. 19 SourceFile GetNinjaFileForToolchain(const Settings* settings); 20 21 // Returns the prefix applied to the Ninja rules in a given toolchain so they 22 // don't collide with rules from other toolchains. 23 std::string GetNinjaRulePrefixForToolchain(const Settings* settings); 24 25 #endif // TOOLS_GN_NINJA_UTILS_H_ 26