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

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

Issue 1207903002: Windows precompiled header support in GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 2014 The Chromium Authors. All rights reserved. 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 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_TOOL_H_ 5 #ifndef TOOLS_GN_TOOL_H_
6 #define TOOLS_GN_TOOL_H_ 6 #define TOOLS_GN_TOOL_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "tools/gn/substitution_list.h" 12 #include "tools/gn/substitution_list.h"
13 #include "tools/gn/substitution_pattern.h" 13 #include "tools/gn/substitution_pattern.h"
14 14
15 class Tool { 15 class Tool {
16 public: 16 public:
17 enum DepsFormat { 17 enum DepsFormat {
18 DEPS_GCC = 0, 18 DEPS_GCC = 0,
19 DEPS_MSVC = 1 19 DEPS_MSVC = 1
20 }; 20 };
21 21
22 enum PrecompiledHeaderType {
23 PCH_NONE = 0,
24 PCH_GCC = 1,
25 PCH_MSVC = 2
26 };
27
22 Tool(); 28 Tool();
23 ~Tool(); 29 ~Tool();
24 30
25 // Getters/setters ---------------------------------------------------------- 31 // Getters/setters ----------------------------------------------------------
26 // 32 //
27 // After the tool has had its attributes set, the caller must call 33 // After the tool has had its attributes set, the caller must call
28 // SetComplete(), at which point no other changes can be made. 34 // SetComplete(), at which point no other changes can be made.
29 35
30 // Command to run. 36 // Command to run.
31 const SubstitutionPattern& command() const { 37 const SubstitutionPattern& command() const {
(...skipping 24 matching lines...) Expand all
56 } 62 }
57 63
58 DepsFormat depsformat() const { 64 DepsFormat depsformat() const {
59 return depsformat_; 65 return depsformat_;
60 } 66 }
61 void set_depsformat(DepsFormat f) { 67 void set_depsformat(DepsFormat f) {
62 DCHECK(!complete_); 68 DCHECK(!complete_);
63 depsformat_ = f; 69 depsformat_ = f;
64 } 70 }
65 71
72 PrecompiledHeaderType precompiled_header_type() const {
73 return precompiled_header_type_;
74 }
75 void set_precompiled_header_type(PrecompiledHeaderType pch_type) {
76 precompiled_header_type_ = pch_type;
77 }
78
66 const SubstitutionPattern& description() const { 79 const SubstitutionPattern& description() const {
67 return description_; 80 return description_;
68 } 81 }
69 void set_description(const SubstitutionPattern& desc) { 82 void set_description(const SubstitutionPattern& desc) {
70 DCHECK(!complete_); 83 DCHECK(!complete_);
71 description_ = desc; 84 description_ = desc;
72 } 85 }
73 86
74 const std::string& lib_switch() const { 87 const std::string& lib_switch() const {
75 return lib_switch_; 88 return lib_switch_;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 const SubstitutionBits& substitution_bits() const { 173 const SubstitutionBits& substitution_bits() const {
161 DCHECK(complete_); 174 DCHECK(complete_);
162 return substitution_bits_; 175 return substitution_bits_;
163 } 176 }
164 177
165 private: 178 private:
166 SubstitutionPattern command_; 179 SubstitutionPattern command_;
167 std::string default_output_extension_; 180 std::string default_output_extension_;
168 SubstitutionPattern depfile_; 181 SubstitutionPattern depfile_;
169 DepsFormat depsformat_; 182 DepsFormat depsformat_;
183 PrecompiledHeaderType precompiled_header_type_;
170 SubstitutionPattern description_; 184 SubstitutionPattern description_;
171 std::string lib_switch_; 185 std::string lib_switch_;
172 std::string lib_dir_switch_; 186 std::string lib_dir_switch_;
173 SubstitutionList outputs_; 187 SubstitutionList outputs_;
174 SubstitutionPattern link_output_; 188 SubstitutionPattern link_output_;
175 SubstitutionPattern depend_output_; 189 SubstitutionPattern depend_output_;
176 std::string output_prefix_; 190 std::string output_prefix_;
177 bool restat_; 191 bool restat_;
178 SubstitutionPattern rspfile_; 192 SubstitutionPattern rspfile_;
179 SubstitutionPattern rspfile_content_; 193 SubstitutionPattern rspfile_content_;
180 194
181 bool complete_; 195 bool complete_;
182 196
183 SubstitutionBits substitution_bits_; 197 SubstitutionBits substitution_bits_;
184 198
185 DISALLOW_COPY_AND_ASSIGN(Tool); 199 DISALLOW_COPY_AND_ASSIGN(Tool);
186 }; 200 };
187 201
188 #endif // TOOLS_GN_TOOL_H_ 202 #endif // TOOLS_GN_TOOL_H_
OLDNEW
« tools/gn/source_file_type.h ('K') | « tools/gn/target_unittest.cc ('k') | tools/gn/tool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698