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

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

Issue 1518663003: Make GN public configs apply libs to targets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « no previous file | tools/gn/target.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 } 242 }
243 const OutputFile& dependency_output_file() const { 243 const OutputFile& dependency_output_file() const {
244 return dependency_output_file_; 244 return dependency_output_file_;
245 } 245 }
246 246
247 private: 247 private:
248 FRIEND_TEST_ALL_PREFIXES(Target, ResolvePrecompiledHeaders); 248 FRIEND_TEST_ALL_PREFIXES(Target, ResolvePrecompiledHeaders);
249 249
250 // Pulls necessary information from dependencies to this one when all 250 // Pulls necessary information from dependencies to this one when all
251 // dependencies have been resolved. 251 // dependencies have been resolved.
252 void PullDependentTarget(const Target* dep, bool is_public); 252 void PullDependentTargetConfigsFrom(const Target* dep);
253 void PullDependentTargets(); 253 void PullDependentTargetConfigs();
254 254 void PullDependentTargetLibsFrom(const Target* dep, bool is_public);
255 // These each pull specific things from dependencies to this one when all 255 void PullDependentTargetLibs();
256 // deps have been resolved.
257 void PullPublicConfigs();
258 void PullPublicConfigsFrom(const Target* from);
259 void PullRecursiveHardDeps(); 256 void PullRecursiveHardDeps();
260 257
261 // 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.
262 void FillOutputFiles(); 259 void FillOutputFiles();
263 260
264 // Checks precompiled headers from configs and makes sure the resulting 261 // Checks precompiled headers from configs and makes sure the resulting
265 // values are in config_values_. 262 // values are in config_values_.
266 bool ResolvePrecompiledHeaders(Err* err); 263 bool ResolvePrecompiledHeaders(Err* err);
267 264
268 // Validates the given thing when a target is resolved. 265 // Validates the given thing when a target is resolved.
(...skipping 13 matching lines...) Expand all
282 bool check_includes_; 279 bool check_includes_;
283 bool complete_static_lib_; 280 bool complete_static_lib_;
284 bool testonly_; 281 bool testonly_;
285 FileList inputs_; 282 FileList inputs_;
286 std::vector<std::string> data_; 283 std::vector<std::string> data_;
287 284
288 LabelTargetVector private_deps_; 285 LabelTargetVector private_deps_;
289 LabelTargetVector public_deps_; 286 LabelTargetVector public_deps_;
290 LabelTargetVector data_deps_; 287 LabelTargetVector data_deps_;
291 288
289 // See getters for more info.
292 UniqueVector<LabelConfigPair> configs_; 290 UniqueVector<LabelConfigPair> configs_;
293 UniqueVector<LabelConfigPair> all_dependent_configs_; 291 UniqueVector<LabelConfigPair> all_dependent_configs_;
294 UniqueVector<LabelConfigPair> public_configs_; 292 UniqueVector<LabelConfigPair> public_configs_;
295 293
296 std::set<Label> allow_circular_includes_from_; 294 std::set<Label> allow_circular_includes_from_;
297 295
298 // Static libraries, shared libraries, and source sets from transitive deps 296 // Static libraries, shared libraries, and source sets from transitive deps
299 // that need to be linked. 297 // that need to be linked.
300 InheritedLibraries inherited_libraries_; 298 InheritedLibraries inherited_libraries_;
301 299
(...skipping 19 matching lines...) Expand all
321 319
322 // Output files. Empty until the target is resolved. 320 // Output files. Empty until the target is resolved.
323 std::vector<OutputFile> computed_outputs_; 321 std::vector<OutputFile> computed_outputs_;
324 OutputFile link_output_file_; 322 OutputFile link_output_file_;
325 OutputFile dependency_output_file_; 323 OutputFile dependency_output_file_;
326 324
327 DISALLOW_COPY_AND_ASSIGN(Target); 325 DISALLOW_COPY_AND_ASSIGN(Target);
328 }; 326 };
329 327
330 #endif // TOOLS_GN_TARGET_H_ 328 #endif // TOOLS_GN_TARGET_H_
OLDNEW
« no previous file with comments | « no previous file | tools/gn/target.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698