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

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

Issue 46313003: Implement target visibility in GN (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « tools/gn/function_toolchain.cc ('k') | tools/gn/gn.gyp » ('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/functions.h" 5 #include "tools/gn/functions.h"
6 6
7 #include <iostream> 7 #include <iostream>
8 8
9 #include "base/environment.h" 9 #include "base/environment.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 return Value(); 226 return Value();
227 227
228 Label label(MakeLabelForScope(scope, function, args[0].string_value())); 228 Label label(MakeLabelForScope(scope, function, args[0].string_value()));
229 229
230 if (g_scheduler->verbose_logging()) 230 if (g_scheduler->verbose_logging())
231 g_scheduler->Log("Defining config", label.GetUserVisibleName(true)); 231 g_scheduler->Log("Defining config", label.GetUserVisibleName(true));
232 232
233 // Create the new config. 233 // Create the new config.
234 scoped_ptr<Config> config(new Config(scope->settings(), label)); 234 scoped_ptr<Config> config(new Config(scope->settings(), label));
235 config->set_defined_from(function); 235 config->set_defined_from(function);
236 if (!Visibility::FillItemVisibility(config.get(), scope, err))
237 return Value();
236 238
237 // Fill it. 239 // Fill it.
238 const SourceDir& input_dir = scope->GetSourceDir(); 240 const SourceDir& input_dir = scope->GetSourceDir();
239 ConfigValuesGenerator gen(&config->config_values(), scope, input_dir, err); 241 ConfigValuesGenerator gen(&config->config_values(), scope, input_dir, err);
240 gen.Run(); 242 gen.Run();
241 if (err->has_error()) 243 if (err->has_error())
242 return Value(); 244 return Value();
243 245
244 // Mark as complete. 246 // Mark as complete.
245 scope->settings()->build_settings()->ItemDefined(config.PassAs<Item>()); 247 scope->settings()->build_settings()->ItemDefined(config.PassAs<Item>());
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 return found_function->second.executed_block_runner( 717 return found_function->second.executed_block_runner(
716 function, args.list_value(), &block_scope, err); 718 function, args.list_value(), &block_scope, err);
717 } 719 }
718 720
719 // Otherwise it's a no-block function. 721 // Otherwise it's a no-block function.
720 return found_function->second.no_block_runner(scope, function, 722 return found_function->second.no_block_runner(scope, function,
721 args.list_value(), err); 723 args.list_value(), err);
722 } 724 }
723 725
724 } // namespace functions 726 } // namespace functions
OLDNEW
« no previous file with comments | « tools/gn/function_toolchain.cc ('k') | tools/gn/gn.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698