[docs] regenerate docs/reference.md out/gn help --markdown all > docs/reference.md Change-Id: I7778530ed6324d6a0a5207e1a4e911f324a2aa53 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/4300 Reviewed-by: Dirk Pranke <dpranke@google.com> Commit-Queue: Dirk Pranke <dpranke@google.com>
diff --git a/docs/reference.md b/docs/reference.md index 0156b4a..e52a51e 100644 --- a/docs/reference.md +++ b/docs/reference.md
@@ -317,7 +317,7 @@ given arguments set (which may affect the values of other arguments). ``` -### <a name="cmd_check"></a>**gn check <out_dir> [<label_pattern>] [\--force]** +### <a name="cmd_check"></a>**gn check <out_dir> [<label_pattern>] [\--force] [\--check-generated]** ``` GN's include header checker validates that the includes for C-like source @@ -338,6 +338,11 @@ --force Ignores specifications of "check_includes = false" and checks all target's files that match the target label. + + --check-generated + Generated files are normally not checked since they do not exist + until after a build. With this flag, those generated files that + can be found on disk are also checked. ``` #### **What gets checked** @@ -355,6 +360,9 @@ - GN opens all C-like source files in the targets to be checked and scans the top for includes. + - Generated files (that might not exist yet) are ignored unless + the --check-generated flag is provided. + - Includes with a "nogncheck" annotation are skipped (see "gn help nogncheck"). @@ -1865,7 +1873,26 @@ tree in the order that the targets appear in "deps". ``` +#### **More background** + +``` + Configs solve a problem where the build system needs to have a higher-level + understanding of various compiler settings. For example, some compiler flags + have to appear in a certain order relative to each other, some settings like + defines and flags logically go together, and the build system needs to + de-duplicate flags even though raw command-line parameters can't always be + operated on in that way. + + The config gives a name to a group of settings that can then be reasoned + about by GN. GN can know that configs with the same label are the same thing + so can be de-duplicated. It allows related settings to be grouped so they + are added or removed as a unit. And it allows targets to refer to settings + with conceptual names ("no_rtti", "enable_exceptions", etc.) rather than + having to hard-coding every compiler's flags each time they are referred to. +``` + #### **Variables valid in a config definition** + ``` Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc, asmflags, defines, include_dirs, inputs, ldflags, lib_dirs, @@ -2303,7 +2330,7 @@ # result will be "//foo/bar" # Extract the source-absolute directory name, - result = get_path_info(get_path_info(path, "dir"), "abspath" + result = get_path_info(get_path_info(path, "dir"), "abspath") ``` ### <a name="func_get_target_outputs"></a>**get_target_outputs**: [file list] Get the list of outputs from a target.