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

Side by Side Diff: tools/gn/action_target_generator.cc

Issue 1358803002: Add ninja console pool support to GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update action/action_foreach doc Created 5 years, 2 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
« no previous file with comments | « tools/gn/action_target_generator.h ('k') | tools/gn/action_values.h » ('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 #include "tools/gn/action_target_generator.h" 5 #include "tools/gn/action_target_generator.h"
6 6
7 #include "tools/gn/build_settings.h" 7 #include "tools/gn/build_settings.h"
8 #include "tools/gn/err.h" 8 #include "tools/gn/err.h"
9 #include "tools/gn/filesystem_utils.h" 9 #include "tools/gn/filesystem_utils.h"
10 #include "tools/gn/parse_tree.h" 10 #include "tools/gn/parse_tree.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 if (!FillScriptArgs()) 48 if (!FillScriptArgs())
49 return; 49 return;
50 50
51 if (!FillOutputs(output_type_ == Target::ACTION_FOREACH)) 51 if (!FillOutputs(output_type_ == Target::ACTION_FOREACH))
52 return; 52 return;
53 53
54 if (!FillDepfile()) 54 if (!FillDepfile())
55 return; 55 return;
56 56
57 if (!FillConsole())
58 return;
59
57 if (!FillCheckIncludes()) 60 if (!FillCheckIncludes())
58 return; 61 return;
59 62
60 if (!CheckOutputs()) 63 if (!CheckOutputs())
61 return; 64 return;
62 65
63 // Action outputs don't depend on the current toolchain so we can skip adding 66 // Action outputs don't depend on the current toolchain so we can skip adding
64 // that dependency. 67 // that dependency.
65 } 68 }
66 69
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 SubstitutionPattern depfile; 103 SubstitutionPattern depfile;
101 if (!depfile.Parse(*value, err_)) 104 if (!depfile.Parse(*value, err_))
102 return false; 105 return false;
103 if (!EnsureSubstitutionIsInOutputDir(depfile, *value)) 106 if (!EnsureSubstitutionIsInOutputDir(depfile, *value))
104 return false; 107 return false;
105 108
106 target_->action_values().set_depfile(depfile); 109 target_->action_values().set_depfile(depfile);
107 return true; 110 return true;
108 } 111 }
109 112
113 bool ActionTargetGenerator::FillConsole() {
114 const Value* value = scope_->GetValue(variables::kConsole, true);
115 if (!value)
116 return true;
117 if (!value->VerifyTypeIs(Value::BOOLEAN, err_))
118 return false;
119 target_->action_values().set_console(value->boolean_value());
120 return true;
121 }
122
110 bool ActionTargetGenerator::CheckOutputs() { 123 bool ActionTargetGenerator::CheckOutputs() {
111 const SubstitutionList& outputs = target_->action_values().outputs(); 124 const SubstitutionList& outputs = target_->action_values().outputs();
112 if (outputs.list().empty()) { 125 if (outputs.list().empty()) {
113 *err_ = Err(function_call_, "Action has no outputs.", 126 *err_ = Err(function_call_, "Action has no outputs.",
114 "If you have no outputs, the build system can not tell when your\n" 127 "If you have no outputs, the build system can not tell when your\n"
115 "script needs to be run."); 128 "script needs to be run.");
116 return false; 129 return false;
117 } 130 }
118 131
119 if (output_type_ == Target::ACTION) { 132 if (output_type_ == Target::ACTION) {
(...skipping 10 matching lines...) Expand all
130 *err_ = Err(function_call_, 143 *err_ = Err(function_call_,
131 "action_foreach should have a pattern in the output.", 144 "action_foreach should have a pattern in the output.",
132 "An action_foreach target should have a source expansion pattern in\n" 145 "An action_foreach target should have a source expansion pattern in\n"
133 "it to map source file to unique output file name. Otherwise, the\n" 146 "it to map source file to unique output file name. Otherwise, the\n"
134 "build system can't determine when your script needs to be run."); 147 "build system can't determine when your script needs to be run.");
135 return false; 148 return false;
136 } 149 }
137 } 150 }
138 return true; 151 return true;
139 } 152 }
OLDNEW
« no previous file with comments | « tools/gn/action_target_generator.h ('k') | tools/gn/action_values.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698