Index: tools/gn/docs/reference.md |
diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md |
index 97a2c866fc849f67206cb0f78f4e53da26e7db26..db5c34172119b865768d4b6f445f6cd7a2bf7b90 100644 |
--- a/tools/gn/docs/reference.md |
+++ b/tools/gn/docs/reference.md |
@@ -3893,7 +3893,7 @@ |
This should be set to the most specific value possible. So, "android" or |
"chromeos" should be used instead of "linux" where applicable, even though |
- Android and Chrome OS are both Linux variants. This can mean that one needs to |
+ Android and ChromeOS are both Linux variants. This can mean that one needs to |
write |
if (target_os == "android" || target_os == "linux") { |
@@ -5307,12 +5307,28 @@ |
config applying to this target specifies this value. In addition, the tool |
corresponding to the source files must also specify precompiled headers (see |
"gn help tool"). The tool will also specify what type of precompiled headers |
- to use. |
+ to use, by setting precompiled_header_type to either "gcc" or "msvc". |
The precompiled header/source variables can be specified on a target or a |
config, but must be the same for all configs applying to a given target since |
a target can only have one precompiled header. |
+ If you use both C and C++ sources, the precompiled header and source file |
+ will be compiled once per language. You will want to make sure to wrap C++ |
+ includes in __cplusplus #ifdefs so the file will compile in C mode. |
+ |
+``` |
+ |
+### **GCC precompiled headers** |
+ |
+``` |
+ When using GCC-style precompiled headers, "precompiled_source" contains the |
+ path of a .h file that is precompiled and then included by all source files |
+ in targets that set "precompiled_source". |
+ |
+ The value of "precompiled_header" is not used with GCC-style precompiled |
+ headers. |
+ |
``` |
### **MSVC precompiled headers** |
@@ -5320,8 +5336,8 @@ |
``` |
When using MSVC-style precompiled headers, the "precompiled_header" value is |
a string corresponding to the header. This is NOT a path to a file that GN |
- recognises, but rather the exact string that appears in quotes after an |
- #include line in source code. The compiler will match this string against |
+ recognises, but rather the exact string that appears in quotes after |
+ an #include line in source code. The compiler will match this string against |
includes or forced includes (/FI). |
MSVC also requires a source file to compile the header with. This must be |
@@ -5329,10 +5345,6 @@ |
this IS a GN-style file name, and tells GN which source file to compile to |
make the .pch file used for subsequent compiles. |
- If you use both C and C++ sources, the precompiled header and source file |
- will be compiled using both tools. You will want to make sure to wrap C++ |
- includes in __cplusplus #ifdefs so the file will compile in C mode. |
- |
For example, if the toolchain specifies MSVC headers: |
toolchain("vc_x64") { |
@@ -5360,6 +5372,13 @@ |
``` |
+## **precompiled_header_type**: [string] "gcc" or "msvc". |
+ |
+``` |
+ See "gn help precompiled_header". |
+ |
+ |
+``` |
## **precompiled_source**: [file name] Source file to precompile. |
``` |
@@ -5796,8 +5815,12 @@ |
### **Variables** |
``` |
+ arg_file_template [optional] |
+ Path to a file containing the text that should be used as the default |
+ args.gn content when you run `gn args`. |
+ |
buildconfig [required] |
- Label of the build config file. This file will be used to set up the |
+ Path to the build config file. This file will be used to set up the |
build file execution environment for each toolchain. |
check_targets [optional] |