Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / gn / command_gen.cc
index 086789d..6ce87a5 100644 (file)
@@ -14,6 +14,7 @@
 #include "tools/gn/scheduler.h"
 #include "tools/gn/setup.h"
 #include "tools/gn/standard_out.h"
+#include "tools/gn/target.h"
 
 namespace commands {
 
@@ -24,21 +25,9 @@ const char kSwitchQuiet[] = "q";
 
 const char kSwitchCheck[] = "check";
 
-void BackgroundDoWrite(const Target* target,
-                       const Toolchain* toolchain,
-                       const std::vector<const Item*>& deps_for_visibility) {
-  // Validate visibility.
-  Err err;
-  for (size_t i = 0; i < deps_for_visibility.size(); i++) {
-    if (!Visibility::CheckItemVisibility(target, deps_for_visibility[i],
-                                         &err)) {
-      g_scheduler->FailWithError(err);
-      break;  // Don't return early since we need DecrementWorkCount below.
-    }
-  }
-
-  if (!err.has_error())
-    NinjaTargetWriter::RunAndWriteFile(target, toolchain);
+// Called on worker thread to write the ninja file.
+void BackgroundDoWrite(const Target* target) {
+  NinjaTargetWriter::RunAndWriteFile(target);
   g_scheduler->DecrementWorkCount();
 }
 
@@ -51,21 +40,8 @@ void ItemResolvedCallback(base::subtle::Atomic32* write_counter,
   const Item* item = record->item();
   const Target* target = item->AsTarget();
   if (target) {
-    const Toolchain* toolchain =
-        builder->GetToolchain(target->settings()->toolchain_label());
-    DCHECK(toolchain);
-
-    // Collect all dependencies.
-    std::vector<const Item*> deps;
-    for (BuilderRecord::BuilderRecordSet::const_iterator iter =
-             record->all_deps().begin();
-         iter != record->all_deps().end();
-         ++iter)
-      deps.push_back((*iter)->item());
-
     g_scheduler->IncrementWorkCount();
-    g_scheduler->ScheduleWork(
-        base::Bind(&BackgroundDoWrite, target, toolchain, deps));
+    g_scheduler->ScheduleWork(base::Bind(&BackgroundDoWrite, target));
   }
 }
 
@@ -101,7 +77,7 @@ int RunGen(const std::vector<std::string>& args) {
 
   // Deliberately leaked to avoid expensive process teardown.
   Setup* setup = new Setup();
-  if (!setup->DoSetup(args[0]))
+  if (!setup->DoSetup(args[0], true))
     return 1;
 
   if (CommandLine::ForCurrentProcess()->HasSwitch(kSwitchCheck))