Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: tools/gn/toolchain.h

Issue 2940873002: Implement tracking of BUILD.gn files used to define target, toolchain or (Closed)
Patch Set: Use base::flat_set instead of std::set. Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef TOOLS_GN_TOOLCHAIN_H_ 5 #ifndef TOOLS_GN_TOOLCHAIN_H_
6 #define TOOLS_GN_TOOLCHAIN_H_ 6 #define TOOLS_GN_TOOLCHAIN_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 // The Settings of an Item is always the context in which the Item was 69 // The Settings of an Item is always the context in which the Item was
70 // defined. For a toolchain this is confusing because this is NOT the 70 // defined. For a toolchain this is confusing because this is NOT the
71 // settings object that applies to the things in the toolchain. 71 // settings object that applies to the things in the toolchain.
72 // 72 //
73 // To get the Settings object corresponding to objects loaded in the context 73 // To get the Settings object corresponding to objects loaded in the context
74 // of this toolchain (probably what you want instead), see 74 // of this toolchain (probably what you want instead), see
75 // Loader::GetToolchainSettings(). Many toolchain objects may be created in a 75 // Loader::GetToolchainSettings(). Many toolchain objects may be created in a
76 // given build, but only a few might be used, and the Loader is in charge of 76 // given build, but only a few might be used, and the Loader is in charge of
77 // this process. 77 // this process.
78 Toolchain(const Settings* settings, const Label& label); 78 Toolchain(const Settings* settings,
79 const Label& label,
80 const InputFileSet& input_files);
79 ~Toolchain() override; 81 ~Toolchain() override;
80 82
81 // Item overrides. 83 // Item overrides.
82 Toolchain* AsToolchain() override; 84 Toolchain* AsToolchain() override;
83 const Toolchain* AsToolchain() const override; 85 const Toolchain* AsToolchain() const override;
84 86
85 // Returns TYPE_NONE on failure. 87 // Returns TYPE_NONE on failure.
86 static ToolType ToolNameToType(const base::StringPiece& str); 88 static ToolType ToolNameToType(const base::StringPiece& str);
87 static std::string ToolTypeToName(ToolType type); 89 static std::string ToolTypeToName(ToolType type);
88 90
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 bool setup_complete_; 132 bool setup_complete_;
131 133
132 // Substitutions used by the tools in this toolchain. 134 // Substitutions used by the tools in this toolchain.
133 SubstitutionBits substitution_bits_; 135 SubstitutionBits substitution_bits_;
134 136
135 LabelTargetVector deps_; 137 LabelTargetVector deps_;
136 Scope::KeyValueMap args_; 138 Scope::KeyValueMap args_;
137 }; 139 };
138 140
139 #endif // TOOLS_GN_TOOLCHAIN_H_ 141 #endif // TOOLS_GN_TOOLCHAIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698