Index: BUILD.gn |
diff --git a/BUILD.gn b/BUILD.gn |
index d1791b096917fd38cc9a71d4fbd0aa028737d26f..05fb68827364828b04c7b047753f7d53fccb8a12 100644 |
--- a/BUILD.gn |
+++ b/BUILD.gn |
@@ -25,7 +25,7 @@ declare_args() { |
root_extra_deps = [] |
} |
-# This file defines the following four main targets: |
+# This file defines the following five main targets: |
# |
# "both_gn_and_gyp" should list every root target (target that nothing else |
# depends on) built by GN that is also built in the GYP build. |
@@ -33,19 +33,28 @@ declare_args() { |
# "gn_all" should (transitively) cause everything to be built; if you run |
# 'ninja gn_all' and then 'ninja all', the second build should do no work. |
# |
-# "gn_only" should list every root target that is *not* intended to be built |
-# in a GYP build. Because GN has different rules for deciding what an 'all' |
-# build is, this may end up including targets that are actually defined in a |
-# GYP build but not dependencies of GYP's "all" (and so not actually built). |
+# "gn_only" should list every root target that is *not* intended to be built in |
+# a GYP build. Because GN has different rules for deciding what an 'all' build |
+# is, this may end up including targets that are actually defined in a GYP |
+# build but not dependencies of GYP's "all" (and so not actually built). |
# |
# "gn_visibility": targets that are normally not visible to top-level targets, |
-# but are built anyway by "all". Since we don't want any such targets, we |
-# have this placeholder to make sure hidden targets that aren't otherwise |
-# depended on yet are accounted for. |
+# but are built anyway by "all". Since we don't want any such targets, we have |
+# this placeholder to make sure hidden targets that aren't otherwise depended |
+# on yet are accounted for. |
+# |
+# "All" is an alias for "gn_all". It exists for bot compatibility w/ GYP for |
+# the iOS bots, but should not be generally used during the GYP->GN migration. |
+# We cannot guarantee that GN's "All" builds the same set of targets as GYP's |
+# "All" does, because GYP's "All" supports wildcards. |
+# |
+# Lastly, none of these targets are guaranteed to be the same as what ninja |
+# will build with "all". For more on how "all" works and the differences in how |
+# GYP and GN determine "all", see crbug.com/503241. |
# |
# TODO(GYP): crbug.com/481694. Make sure that the above is true and there are |
-# scripts run on the bots that enforce this. Once the GYP migration is over, |
-# we can collapse all of these targets as desired. |
+# scripts run on the bots that enforce this. Once the GYP migration is over, we |
+# can collapse all of these targets as desired. |
group("gn_all") { |
testonly = true |
@@ -57,6 +66,16 @@ group("gn_all") { |
] |
} |
+# TODO(GYP): This target exists for compatibility with GYP, specifically |
+# for the iOS bots. We should update the iOS bots to not pass 'All'. |
+group("All") { |
+ testonly = true |
+ |
+ deps = [ |
+ ":gn_all", |
+ ] |
+} |
+ |
# The "both_gn_and_gyp" target should reflect every target that is built |
# in both the GN and GYP builds, and ideally it should match the |
# "both_gn_and_gyp" target in build/gn_migration.gypi line-for-line. |