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

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

Issue 1904473002: Add arflags to GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 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
« no previous file with comments | « tools/gn/config_values_generator.cc ('k') | tools/gn/function_toolchain.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/docs/reference.md
diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md
index 38e8ce75585548facfba40e50b0ff017b9fd6e3d..600daea97cc8f4fe3519bbf1b18a10a7af59fc4d 100644
--- a/tools/gn/docs/reference.md
+++ b/tools/gn/docs/reference.md
@@ -3003,6 +3003,7 @@
Example: "gen/base/test"
Linker tools have multiple inputs and (potentially) multiple outputs
+ The static library tool ("alink") is not considered a linker tool.
The following expansions are available:
{{inputs}}
@@ -3062,6 +3063,9 @@
These should generally be treated the same as libs by your tool.
Example: "libfoo.so libbar.so"
+ The static library ("alink") tool allows {{arflags}} plus the common
+ tool substitutions.
+
The copy tool allows the common compiler/linker substitutions, plus
{{source}} which is the source of the copy. The stamp tool allows
only the common tool substitutions.
@@ -3725,6 +3729,42 @@
```
+## **arflags**: Arguments passed to static_library archiver.
+
+```
+ A list of flags passed to the archive/lib command that creates static
+ libraries.
+
+ arflags are NOT pushed to dependents, so applying arflags to source
+ sets or any other target type will be a no-op. As with ldflags,
+ you could put the arflags in a config and set that as a public or
+ "all dependent" config, but that will likely not be what you want.
+ If you have a chain of static libraries dependent on each other,
+ this can cause the flags to propagate up to other static libraries.
+ Due to the nature of how arflags are typically used, you will normally
+ want to apply them directly on static_library targets themselves.
+
+```
+
+### **Ordering of flags and values**
+
+```
+ 1. Those set on the current target (not in a config).
+ 2. Those set on the "configs" on the target in order that the
+ configs appear in the list.
+ 3. Those set on the "all_dependent_configs" on the target in order
+ that the configs appear in the list.
+ 4. Those set on the "public_configs" on the target in order that
+ those configs appear in the list.
+ 5. all_dependent_configs pulled from dependencies, in the order of
+ the "deps" list. This is done recursively. If a config appears
+ more than once, only the first occurance will be used.
+ 6. public_configs pulled from dependencies, in the order of the
+ "deps" list. If a dependency is public, they will be applied
+ recursively.
+
+
+```
## **args**: Arguments passed to an action.
```
« no previous file with comments | « tools/gn/config_values_generator.cc ('k') | tools/gn/function_toolchain.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698