| 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 |