OLD | NEW |
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_TARGET_H_ | 5 #ifndef TOOLS_GN_TARGET_H_ |
6 #define TOOLS_GN_TARGET_H_ | 6 #define TOOLS_GN_TARGET_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 | 167 |
168 // List of configs that targets depending directly on this one get. These | 168 // List of configs that targets depending directly on this one get. These |
169 // configs are also added to this target. | 169 // configs are also added to this target. |
170 const UniqueVector<LabelConfigPair>& public_configs() const { | 170 const UniqueVector<LabelConfigPair>& public_configs() const { |
171 return public_configs_; | 171 return public_configs_; |
172 } | 172 } |
173 UniqueVector<LabelConfigPair>& public_configs() { | 173 UniqueVector<LabelConfigPair>& public_configs() { |
174 return public_configs_; | 174 return public_configs_; |
175 } | 175 } |
176 | 176 |
177 // A list of a subset of deps where we'll re-export public_configs as | |
178 // public_configs of this target. | |
179 const UniqueVector<LabelTargetPair>& forward_dependent_configs() const { | |
180 return forward_dependent_configs_; | |
181 } | |
182 UniqueVector<LabelTargetPair>& forward_dependent_configs() { | |
183 return forward_dependent_configs_; | |
184 } | |
185 | |
186 // Dependencies that can include files from this target. | 177 // Dependencies that can include files from this target. |
187 const std::set<Label>& allow_circular_includes_from() const { | 178 const std::set<Label>& allow_circular_includes_from() const { |
188 return allow_circular_includes_from_; | 179 return allow_circular_includes_from_; |
189 } | 180 } |
190 std::set<Label>& allow_circular_includes_from() { | 181 std::set<Label>& allow_circular_includes_from() { |
191 return allow_circular_includes_from_; | 182 return allow_circular_includes_from_; |
192 } | 183 } |
193 | 184 |
194 const InheritedLibraries& inherited_libraries() const { | 185 const InheritedLibraries& inherited_libraries() const { |
195 return inherited_libraries_; | 186 return inherited_libraries_; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 private: | 244 private: |
254 FRIEND_TEST_ALL_PREFIXES(Target, ResolvePrecompiledHeaders); | 245 FRIEND_TEST_ALL_PREFIXES(Target, ResolvePrecompiledHeaders); |
255 | 246 |
256 // Pulls necessary information from dependencies to this one when all | 247 // Pulls necessary information from dependencies to this one when all |
257 // dependencies have been resolved. | 248 // dependencies have been resolved. |
258 void PullDependentTarget(const Target* dep, bool is_public); | 249 void PullDependentTarget(const Target* dep, bool is_public); |
259 void PullDependentTargets(); | 250 void PullDependentTargets(); |
260 | 251 |
261 // These each pull specific things from dependencies to this one when all | 252 // These each pull specific things from dependencies to this one when all |
262 // deps have been resolved. | 253 // deps have been resolved. |
263 void PullForwardedDependentConfigs(); | 254 void PullPublicConfigs(); |
264 void PullForwardedDependentConfigsFrom(const Target* from); | 255 void PullPublicConfigsFrom(const Target* from); |
265 void PullRecursiveHardDeps(); | 256 void PullRecursiveHardDeps(); |
266 | 257 |
267 // Fills the link and dependency output files when a target is resolved. | 258 // Fills the link and dependency output files when a target is resolved. |
268 void FillOutputFiles(); | 259 void FillOutputFiles(); |
269 | 260 |
270 // Checks precompiled headers from configs and makes sure the resulting | 261 // Checks precompiled headers from configs and makes sure the resulting |
271 // values are in config_values_. | 262 // values are in config_values_. |
272 bool ResolvePrecompiledHeaders(Err* err); | 263 bool ResolvePrecompiledHeaders(Err* err); |
273 | 264 |
274 // Validates the given thing when a target is resolved. | 265 // Validates the given thing when a target is resolved. |
(...skipping 16 matching lines...) Expand all Loading... |
291 FileList inputs_; | 282 FileList inputs_; |
292 std::vector<std::string> data_; | 283 std::vector<std::string> data_; |
293 | 284 |
294 LabelTargetVector private_deps_; | 285 LabelTargetVector private_deps_; |
295 LabelTargetVector public_deps_; | 286 LabelTargetVector public_deps_; |
296 LabelTargetVector data_deps_; | 287 LabelTargetVector data_deps_; |
297 | 288 |
298 UniqueVector<LabelConfigPair> configs_; | 289 UniqueVector<LabelConfigPair> configs_; |
299 UniqueVector<LabelConfigPair> all_dependent_configs_; | 290 UniqueVector<LabelConfigPair> all_dependent_configs_; |
300 UniqueVector<LabelConfigPair> public_configs_; | 291 UniqueVector<LabelConfigPair> public_configs_; |
301 UniqueVector<LabelTargetPair> forward_dependent_configs_; | |
302 | 292 |
303 std::set<Label> allow_circular_includes_from_; | 293 std::set<Label> allow_circular_includes_from_; |
304 | 294 |
305 // Static libraries, shared libraries, and source sets from transitive deps | 295 // Static libraries, shared libraries, and source sets from transitive deps |
306 // that need to be linked. | 296 // that need to be linked. |
307 InheritedLibraries inherited_libraries_; | 297 InheritedLibraries inherited_libraries_; |
308 | 298 |
309 // These libs and dirs are inherited from statically linked deps and all | 299 // These libs and dirs are inherited from statically linked deps and all |
310 // configs applying to this target. | 300 // configs applying to this target. |
311 OrderedSet<SourceDir> all_lib_dirs_; | 301 OrderedSet<SourceDir> all_lib_dirs_; |
(...skipping 16 matching lines...) Expand all Loading... |
328 | 318 |
329 // Output files. Empty until the target is resolved. | 319 // Output files. Empty until the target is resolved. |
330 std::vector<OutputFile> computed_outputs_; | 320 std::vector<OutputFile> computed_outputs_; |
331 OutputFile link_output_file_; | 321 OutputFile link_output_file_; |
332 OutputFile dependency_output_file_; | 322 OutputFile dependency_output_file_; |
333 | 323 |
334 DISALLOW_COPY_AND_ASSIGN(Target); | 324 DISALLOW_COPY_AND_ASSIGN(Target); |
335 }; | 325 }; |
336 | 326 |
337 #endif // TOOLS_GN_TARGET_H_ | 327 #endif // TOOLS_GN_TARGET_H_ |
OLD | NEW |