Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: tools/gn/docs/reference.md

Issue 1386783003: [GN]: Support for loadable modules (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/gn/docs/reference.md
diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md
index 657796abc8fb4e71a7561473fc03874a46ec3e5e..f5ff3b4cbc6eebd68189b4344d853e66a21a4d5c 100644
--- a/tools/gn/docs/reference.md
+++ b/tools/gn/docs/reference.md
@@ -378,6 +378,10 @@
Shows the labels of configs applied to targets that depend on this
one (either directly or all of them).
+ forward_dependent_configs_from
brettw 2015/10/14 17:45:56 I think this is a merge mistake and that Thiago re
Bons 2015/10/14 18:03:42 Done.
+ Shows the labels of dependencies for which dependent configs will
+ be pushed to targets depending on the current one.
+
script
args
depfile
@@ -1025,14 +1029,15 @@
### **Variables valid in a config definition**:
```
Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
- defines, include_dirs, ldflags, lib_dirs, libs,
+ asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
precompiled_header, precompiled_source
```
### **Variables on a target used to apply configs**:
```
- all_dependent_configs, configs, public_configs
+ all_dependent_configs, configs, public_configs,
+ forward_dependent_configs_from
```
@@ -1223,9 +1228,9 @@
```
Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
- defines, include_dirs, ldflags, lib_dirs, libs,
+ asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
precompiled_header, precompiled_source
- Deps: data_deps, deps, public_deps
+ Deps: data_deps, deps, forward_dependent_configs_from, public_deps
Dependent configs: all_dependent_configs, public_configs
General: check_includes, configs, data, inputs, output_name,
output_extension, public, sources, testonly, visibility
@@ -1582,14 +1587,16 @@
specify configs that apply to their dependents.
Depending on a group is exactly like depending directly on that
- group's deps.
+ group's deps. Direct dependent configs will get automatically
+ forwarded through the group so you shouldn't need to use
+ "forward_dependent_configs_from.
```
### **Variables**
```
- Deps: data_deps, deps, public_deps
+ Deps: data_deps, deps, forward_dependent_configs_from, public_deps
Dependent configs: all_dependent_configs, public_configs
```
@@ -1996,9 +2003,9 @@
```
Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
- defines, include_dirs, ldflags, lib_dirs, libs,
+ asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
precompiled_header, precompiled_source
- Deps: data_deps, deps, public_deps
+ Deps: data_deps, deps, forward_dependent_configs_from, public_deps
Dependent configs: all_dependent_configs, public_configs
General: check_includes, configs, data, inputs, output_name,
output_extension, public, sources, testonly, visibility
@@ -2037,9 +2044,9 @@
```
Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
- defines, include_dirs, ldflags, lib_dirs, libs,
+ asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
precompiled_header, precompiled_source
- Deps: data_deps, deps, public_deps
+ Deps: data_deps, deps, forward_dependent_configs_from, public_deps
Dependent configs: all_dependent_configs, public_configs
General: check_includes, configs, data, inputs, output_name,
output_extension, public, sources, testonly, visibility
@@ -2061,9 +2068,9 @@
```
Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,
- defines, include_dirs, ldflags, lib_dirs, libs,
+ asmflags, defines, include_dirs, ldflags, lib_dirs, libs,
precompiled_header, precompiled_source
- Deps: data_deps, deps, public_deps
+ Deps: data_deps, deps, forward_dependent_configs_from, public_deps
Dependent configs: all_dependent_configs, public_configs
General: check_includes, configs, data, inputs, output_name,
output_extension, public, sources, testonly, visibility
@@ -2511,6 +2518,7 @@
along with a set of compiler-specific flags. The following expansions
are available:
+ {{asmflags}}
{{cflags}}
{{cflags_c}}
{{cflags_cc}}
@@ -3217,8 +3225,11 @@
and Objective C++ compilers.
To target one of these variants individually, use "cflags_c",
- "cflags_cc", "cflags_objc", and "cflags_objcc", respectively.
- These variant-specific versions will be appended to the "cflags".
+ "cflags_cc", "cflags_objc", and "cflags_objcc",
+ respectively.
+
+ These variant-specific versions of cflags* will be appended to the
+ "cflags".
```
@@ -3250,8 +3261,11 @@
and Objective C++ compilers.
To target one of these variants individually, use "cflags_c",
- "cflags_cc", "cflags_objc", and "cflags_objcc", respectively.
- These variant-specific versions will be appended to the "cflags".
+ "cflags_cc", "cflags_objc", and "cflags_objcc",
+ respectively.
+
+ These variant-specific versions of cflags* will be appended to the
+ "cflags".
```
@@ -3283,8 +3297,11 @@
and Objective C++ compilers.
To target one of these variants individually, use "cflags_c",
- "cflags_cc", "cflags_objc", and "cflags_objcc", respectively.
- These variant-specific versions will be appended to the "cflags".
+ "cflags_cc", "cflags_objc", and "cflags_objcc",
+ respectively.
+
+ These variant-specific versions of cflags* will be appended to the
+ "cflags".
```
@@ -3316,8 +3333,11 @@
and Objective C++ compilers.
To target one of these variants individually, use "cflags_c",
- "cflags_cc", "cflags_objc", and "cflags_objcc", respectively.
- These variant-specific versions will be appended to the "cflags".
+ "cflags_cc", "cflags_objc", and "cflags_objcc",
+ respectively.
+
+ These variant-specific versions of cflags* will be appended to the
+ "cflags".
```
@@ -3349,8 +3369,11 @@
and Objective C++ compilers.
To target one of these variants individually, use "cflags_c",
- "cflags_cc", "cflags_objc", and "cflags_objcc", respectively.
- These variant-specific versions will be appended to the "cflags".
+ "cflags_cc", "cflags_objc", and "cflags_objcc",
+ respectively.
+
+ These variant-specific versions of cflags* will be appended to the
+ "cflags".
```
@@ -3718,6 +3741,56 @@
```
+## **forward_dependent_configs_from**
+
+```
+ A list of target labels.
+
+ DEPRECATED. Use public_deps instead which will have the same effect.
+
+ Exposes the public_configs from a private dependent target as
+ public_configs of the current one. Each label in this list
+ must also be in the deps.
+
+ Generally you should use public_deps instead of this variable to
+ express the concept of exposing a dependency as part of a target's
+ public API. We're considering removing this variable.
+
+```
+
+### **Discussion**
+
+```
+ Sometimes you depend on a child library that exports some necessary
+ configuration via public_configs. If your target in turn exposes the
+ child library's headers in its public headers, it might mean that
+ targets that depend on you won't work: they'll be seeing the child
+ library's code but not the necessary configuration. This list
+ specifies which of your deps' direct dependent configs to expose as
+ your own.
+
+```
+
+### **Examples**
+
+```
+ If we use a given library "a" from our public headers:
+
+ deps = [ ":a", ":b", ... ]
+ forward_dependent_configs_from = [ ":a" ]
+
+ This example makes a "transparent" target that forwards a dependency
+ to another:
+
+ group("frob") {
+ if (use_system_frob) {
+ deps = ":system_frob"
+ } else {
+ deps = "//third_party/fallback_frob"
+ }
+ forward_dependent_configs_from = deps
+ }
+
```
## **include_dirs**: Additional include directories.

Powered by Google App Engine
This is Rietveld 408576698