OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/runtime_deps.h" | 5 #include "tools/gn/runtime_deps.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <sstream> | 9 #include <sstream> |
10 | 10 |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 " targets only. If you need to list a static library as a runtime\n" | 258 " targets only. If you need to list a static library as a runtime\n" |
259 " dependency, you can manually compute the .a/.lib file name for the\n" | 259 " dependency, you can manually compute the .a/.lib file name for the\n" |
260 " current platform and list it in the \"data\" list of a target\n" | 260 " current platform and list it in the \"data\" list of a target\n" |
261 " (possibly on the static library target itself).\n" | 261 " (possibly on the static library target itself).\n" |
262 "\n" | 262 "\n" |
263 "Multiple outputs\n" | 263 "Multiple outputs\n" |
264 "\n" | 264 "\n" |
265 " When a tool produces more than one output, only the first output\n" | 265 " When a tool produces more than one output, only the first output\n" |
266 " is considered. For example, a shared library target may produce a\n" | 266 " is considered. For example, a shared library target may produce a\n" |
267 " .dll and a .lib file on Windows. Only the .dll file will be considered\n" | 267 " .dll and a .lib file on Windows. Only the .dll file will be considered\n" |
268 " a runtime dependency. This applies only to linker tools, scripts and\n" | 268 " a runtime dependency. This applies only to linker tools. Scripts and\n" |
269 " copy steps with multiple outputs will also get all outputs listed.\n"; | 269 " copy steps with multiple outputs will get all outputs listed.\n"; |
270 | 270 |
271 RuntimeDepsVector ComputeRuntimeDeps(const Target* target) { | 271 RuntimeDepsVector ComputeRuntimeDeps(const Target* target) { |
272 RuntimeDepsVector result; | 272 RuntimeDepsVector result; |
273 std::map<const Target*, bool> seen_targets; | 273 std::map<const Target*, bool> seen_targets; |
274 std::set<OutputFile> found_files; | 274 std::set<OutputFile> found_files; |
275 | 275 |
276 // The initial target is not considered a data dependency so that actions's | 276 // The initial target is not considered a data dependency so that actions's |
277 // outputs (if the current target is an action) are not automatically | 277 // outputs (if the current target is an action) are not automatically |
278 // considered data deps. | 278 // considered data deps. |
279 RecursiveCollectRuntimeDeps(target, false, | 279 RecursiveCollectRuntimeDeps(target, false, |
(...skipping 14 matching lines...) Expand all Loading... |
294 | 294 |
295 for (const auto& entry : files_to_write) { | 295 for (const auto& entry : files_to_write) { |
296 // Currently this writes all runtime deps files sequentially. We generally | 296 // Currently this writes all runtime deps files sequentially. We generally |
297 // expect few of these. We can run this on the worker pool if it looks | 297 // expect few of these. We can run this on the worker pool if it looks |
298 // like it's talking a long time. | 298 // like it's talking a long time. |
299 if (!WriteRuntimeDepsFile(entry.first, entry.second, err)) | 299 if (!WriteRuntimeDepsFile(entry.first, entry.second, err)) |
300 return false; | 300 return false; |
301 } | 301 } |
302 return true; | 302 return true; |
303 } | 303 } |
OLD | NEW |