[Mac/iOS/GN] Document the new rules for create_bundle and runtime_deps.
BUG=611414
R=dpranke@chromium.org
Review-Url: https://codereview.chromium.org/2023003006
Cr-Original-Commit-Position: refs/heads/master@{#397258}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 57979207f98a847a40a8f5b57633cf7427c68c28
diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md
index c596b27..59c54dc 100644
--- a/tools/gn/docs/reference.md
+++ b/tools/gn/docs/reference.md
@@ -736,7 +736,7 @@
--root-target=<target_name>
Name of the root target for which the QtCreator project will be
generated to contain files of it and its dependencies. If unset,
- the whole build graph will be omitted.
+ the whole build graph will be emitted.
```
@@ -1418,6 +1418,12 @@
generate iOS/OS X bundle. In cross-platform projects, it is advised to
put it behind iOS/Mac conditionals.
+ If a create_bundle is specified as a data_deps for another target, the
+ bundle is considered a leaf, and its public and private dependencies
+ will not contribute to any data or data_deps. Required runtime
+ dependencies should be placed in the bundle. A create_bundle can
+ declare its own explicit data and data_deps, however.
+
```
### **Variables**
@@ -2558,6 +2564,7 @@
### **Variables**
+### **complete_static_lib**
```
Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
@@ -4397,6 +4404,9 @@
However, no verification is done on these so GN doesn't enforce this.
The paths are just rebased and passed along when requested.
+ Note: On iOS and OS X, create_bundle targets will not be recursed
+ into when gathering data. See "gn help create_bundle" for details.
+
See "gn help runtime_deps" for how these are used.
@@ -4413,6 +4423,10 @@
This is normally used for things like plugins or helper programs that
a target needs at runtime.
+ Note: On iOS and OS X, create_bundle targets will not be recursed
+ into when gathering data_deps. See "gn help create_bundle" for
+ details.
+
See also "gn help deps" and "gn help data".
```
diff --git a/tools/gn/functions_target.cc b/tools/gn/functions_target.cc
index a5f5574..645c24a 100644
--- a/tools/gn/functions_target.cc
+++ b/tools/gn/functions_target.cc
@@ -328,6 +328,12 @@
" generate iOS/OS X bundle. In cross-platform projects, it is advised to\n"
" put it behind iOS/Mac conditionals.\n"
"\n"
+ " If a create_bundle is specified as a data_deps for another target, the\n"
+ " bundle is considered a leaf, and its public and private dependencies\n"
+ " will not contribute to any data or data_deps. Required runtime\n"
+ " dependencies should be placed in the bundle. A create_bundle can\n"
+ " declare its own explicit data and data_deps, however.\n"
+ "\n"
"Variables\n"
"\n"
" bundle_root_dir*, bundle_resources_dir*, bundle_executable_dir*,\n"
diff --git a/tools/gn/variables.cc b/tools/gn/variables.cc
index a65d940..0eb5aab 100644
--- a/tools/gn/variables.cc
+++ b/tools/gn/variables.cc
@@ -812,6 +812,9 @@
" However, no verification is done on these so GN doesn't enforce this.\n"
" The paths are just rebased and passed along when requested.\n"
"\n"
+ " Note: On iOS and OS X, create_bundle targets will not be recursed\n"
+ " into when gathering data. See \"gn help create_bundle\" for details.\n"
+ "\n"
" See \"gn help runtime_deps\" for how these are used.\n";
const char kDataDeps[] = "data_deps";
@@ -829,6 +832,10 @@
" This is normally used for things like plugins or helper programs that\n"
" a target needs at runtime.\n"
"\n"
+ " Note: On iOS and OS X, create_bundle targets will not be recursed\n"
+ " into when gathering data_deps. See \"gn help create_bundle\" for\n"
+ " details.\n"
+ "\n"
" See also \"gn help deps\" and \"gn help data\".\n"
"\n"
"Example\n"