Index: tools/gn/target.cc |
diff --git a/tools/gn/target.cc b/tools/gn/target.cc |
index 0763a8c7d9098ce6b336df81c9fdedd082e72fb0..259fcf50bb793c46cee8b794b8eaf89f0c1d0e7d 100644 |
--- a/tools/gn/target.cc |
+++ b/tools/gn/target.cc |
@@ -147,6 +147,7 @@ void Target::OnResolved() { |
// pulled from G to A in case G has configs directly on it). |
PullDependentTargetInfo(&unique_configs); |
} |
+ PullForwardedDependentConfigs(); |
} |
bool Target::IsLinkable() const { |
@@ -181,6 +182,12 @@ void Target::PullDependentTargetInfo(std::set<const Config*>* unique_configs) { |
all_libs_.append(dep->all_libs()); |
} |
} |
+} |
+ |
+void Target::PullForwardedDependentConfigs() { |
+ // Groups implicitly forward all if its dependency's configs. |
+ if (output_type() == GROUP) |
+ forward_dependent_configs_ = deps_; |
// Forward direct dependent configs if requested. |
for (size_t dep = 0; dep < forward_dependent_configs_.size(); dep++) { |