Index: tools/gn/target.cc |
diff --git a/tools/gn/target.cc b/tools/gn/target.cc |
index 94cc2e06e824138199edc46c879b9f14042dde45..36559823ee433dc7d826e9e48a95f85494b5ac02 100644 |
--- a/tools/gn/target.cc |
+++ b/tools/gn/target.cc |
@@ -198,6 +198,9 @@ bool Target::IsFinal() const { |
return output_type_ == EXECUTABLE || |
output_type_ == SHARED_LIBRARY || |
output_type_ == LOADABLE_MODULE || |
+ output_type_ == ACTION || |
+ output_type_ == ACTION_FOREACH || |
+ output_type_ == COPY_FILES || |
(output_type_ == STATIC_LIBRARY && complete_static_lib_); |
} |
@@ -322,17 +325,13 @@ void Target::PullPublicConfigsFrom(const Target* from) { |
void Target::PullRecursiveHardDeps() { |
for (const auto& pair : GetDeps(DEPS_LINKED)) { |
+ // Direct hard dependencies. |
if (pair.ptr->hard_dep()) |
recursive_hard_deps_.insert(pair.ptr); |
- // Android STL doesn't like insert(begin, end) so do it manually. |
- // TODO(brettw) this can be changed to |
- // insert(iter.target()->begin(), iter.target()->end()) |
- // when Android uses a better STL. |
- for (std::set<const Target*>::const_iterator cur = |
- pair.ptr->recursive_hard_deps().begin(); |
- cur != pair.ptr->recursive_hard_deps().end(); ++cur) |
- recursive_hard_deps_.insert(*cur); |
+ // Recursive hard dependencies of all dependencies. |
+ recursive_hard_deps_.insert(pair.ptr->recursive_hard_deps().begin(), |
+ pair.ptr->recursive_hard_deps().end()); |
} |
} |