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 #include "tools/gn/setup.h" | 5 #include "tools/gn/setup.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <sstream> | 10 #include <sstream> |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 const char Setup::kBuildArgFileName[] = "args.gn"; | 153 const char Setup::kBuildArgFileName[] = "args.gn"; |
154 | 154 |
155 Setup::Setup() | 155 Setup::Setup() |
156 : build_settings_(), | 156 : build_settings_(), |
157 loader_(new LoaderImpl(&build_settings_)), | 157 loader_(new LoaderImpl(&build_settings_)), |
158 builder_(new Builder(loader_.get())), | 158 builder_(new Builder(loader_.get())), |
159 root_build_file_("//BUILD.gn"), | 159 root_build_file_("//BUILD.gn"), |
160 check_for_bad_items_(true), | 160 check_for_bad_items_(true), |
161 check_for_unused_overrides_(true), | 161 check_for_unused_overrides_(true), |
162 check_public_headers_(false), | 162 check_public_headers_(false), |
163 empty_settings_(&empty_build_settings_, std::string()), | 163 dotfile_settings_(&build_settings_, std::string()), |
164 dotfile_scope_(&empty_settings_), | 164 dotfile_scope_(&dotfile_settings_), |
165 fill_arguments_(true) { | 165 fill_arguments_(true) { |
166 empty_settings_.set_toolchain_label(Label()); | 166 dotfile_settings_.set_toolchain_label(Label()); |
167 build_settings_.set_item_defined_callback( | 167 build_settings_.set_item_defined_callback( |
168 base::Bind(&ItemDefinedCallback, scheduler_.main_loop(), builder_)); | 168 base::Bind(&ItemDefinedCallback, scheduler_.main_loop(), builder_)); |
169 | 169 |
170 loader_->set_complete_callback(base::Bind(&DecrementWorkCount)); | 170 loader_->set_complete_callback(base::Bind(&DecrementWorkCount)); |
171 // The scheduler's main loop wasn't created when the Loader was created, so | 171 // The scheduler's main loop wasn't created when the Loader was created, so |
172 // we need to set it now. | 172 // we need to set it now. |
173 loader_->set_main_loop(scheduler_.main_loop()); | 173 loader_->set_main_loop(scheduler_.main_loop()); |
174 } | 174 } |
175 | 175 |
176 Setup::~Setup() { | 176 Setup::~Setup() { |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 err.PrintToStdout(); | 333 err.PrintToStdout(); |
334 return false; | 334 return false; |
335 } | 335 } |
336 | 336 |
337 args_root_ = Parser::Parse(args_tokens_, &err); | 337 args_root_ = Parser::Parse(args_tokens_, &err); |
338 if (err.has_error()) { | 338 if (err.has_error()) { |
339 err.PrintToStdout(); | 339 err.PrintToStdout(); |
340 return false; | 340 return false; |
341 } | 341 } |
342 | 342 |
343 Scope arg_scope(&empty_settings_); | 343 Scope arg_scope(&dotfile_settings_); |
344 args_root_->Execute(&arg_scope, &err); | 344 args_root_->Execute(&arg_scope, &err); |
345 if (err.has_error()) { | 345 if (err.has_error()) { |
346 err.PrintToStdout(); | 346 err.PrintToStdout(); |
347 return false; | 347 return false; |
348 } | 348 } |
349 | 349 |
350 // Save the result of the command args. | 350 // Save the result of the command args. |
351 Scope::KeyValueMap overrides; | 351 Scope::KeyValueMap overrides; |
352 arg_scope.GetCurrentScopeValues(&overrides); | 352 arg_scope.GetCurrentScopeValues(&overrides); |
353 build_settings_.build_args().AddArgOverrides(overrides); | 353 build_settings_.build_args().AddArgOverrides(overrides); |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 err.PrintToStdout(); | 622 err.PrintToStdout(); |
623 return false; | 623 return false; |
624 } | 624 } |
625 whitelist->insert(current_dir.ResolveRelativeFile(item.string_value())); | 625 whitelist->insert(current_dir.ResolveRelativeFile(item.string_value())); |
626 } | 626 } |
627 build_settings_.set_exec_script_whitelist(whitelist.Pass()); | 627 build_settings_.set_exec_script_whitelist(whitelist.Pass()); |
628 } | 628 } |
629 | 629 |
630 return true; | 630 return true; |
631 } | 631 } |
OLD | NEW |