| OLD | NEW |
| 1 # GN Reference | 1 # GN Reference |
| 2 | 2 |
| 3 *This page is automatically generated from* `gn help --markdown all`. | 3 *This page is automatically generated from* `gn help --markdown all`. |
| 4 | 4 |
| 5 ## Contents | 5 ## Contents |
| 6 | 6 |
| 7 * [Commands](#commands) | 7 * [Commands](#commands) |
| 8 * [analyze: Analyze which targets are affected by a list of files.](#analy
ze) | 8 * [analyze: Analyze which targets are affected by a list of files.](#analy
ze) |
| 9 * [args: Display or configure arguments declared by the build.](#args) | 9 * [args: Display or configure arguments declared by the build.](#args) |
| 10 * [check: Check header dependencies.](#check) | 10 * [check: Check header dependencies.](#check) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 * [cflags_cc: [string list] Flags passed to the C++ compiler.](#cflags_cc) | 89 * [cflags_cc: [string list] Flags passed to the C++ compiler.](#cflags_cc) |
| 90 * [cflags_objc: [string list] Flags passed to the Objective C compiler.](#
cflags_objc) | 90 * [cflags_objc: [string list] Flags passed to the Objective C compiler.](#
cflags_objc) |
| 91 * [cflags_objcc: [string list] Flags passed to the Objective C++ compiler.
](#cflags_objcc) | 91 * [cflags_objcc: [string list] Flags passed to the Objective C++ compiler.
](#cflags_objcc) |
| 92 * [check_includes: [boolean] Controls whether a target's files are checked
.](#check_includes) | 92 * [check_includes: [boolean] Controls whether a target's files are checked
.](#check_includes) |
| 93 * [code_signing_args: [string list] Arguments passed to code signing scrip
t.](#code_signing_args) | 93 * [code_signing_args: [string list] Arguments passed to code signing scrip
t.](#code_signing_args) |
| 94 * [code_signing_outputs: [file list] Output files for code signing step.](
#code_signing_outputs) | 94 * [code_signing_outputs: [file list] Output files for code signing step.](
#code_signing_outputs) |
| 95 * [code_signing_script: [file name] Script for code signing.](#code_signin
g_script) | 95 * [code_signing_script: [file name] Script for code signing.](#code_signin
g_script) |
| 96 * [code_signing_sources: [file list] Sources for code signing step.](#code
_signing_sources) | 96 * [code_signing_sources: [file list] Sources for code signing step.](#code
_signing_sources) |
| 97 * [complete_static_lib: [boolean] Links all deps into a static library.](#
complete_static_lib) | 97 * [complete_static_lib: [boolean] Links all deps into a static library.](#
complete_static_lib) |
| 98 * [configs: [label list] Configs applying to this target or config.](#conf
igs) | 98 * [configs: [label list] Configs applying to this target or config.](#conf
igs) |
| 99 * [console: [boolean] Run this action in the console pool.](#console) | 99 * [console: [label] Console pool object.](#console) |
| 100 * [data: [file list] Runtime data file dependencies.](#data) | 100 * [data: [file list] Runtime data file dependencies.](#data) |
| 101 * [data_deps: [label list] Non-linked dependencies.](#data_deps) | 101 * [data_deps: [label list] Non-linked dependencies.](#data_deps) |
| 102 * [defines: [string list] C preprocessor defines.](#defines) | 102 * [defines: [string list] C preprocessor defines.](#defines) |
| 103 * [depfile: [string] File name for input dependencies for actions.](#depfi
le) | 103 * [depfile: [string] File name for input dependencies for actions.](#depfi
le) |
| 104 * [deps: [label list] Private linked dependencies.](#deps) | 104 * [deps: [label list] Private linked dependencies.](#deps) |
| 105 * [include_dirs: [directory list] Additional include directories.](#includ
e_dirs) | 105 * [include_dirs: [directory list] Additional include directories.](#includ
e_dirs) |
| 106 * [inputs: [file list] Additional compile-time dependencies.](#inputs) | 106 * [inputs: [file list] Additional compile-time dependencies.](#inputs) |
| 107 * [ldflags: [string list] Flags passed to the linker.](#ldflags) | 107 * [ldflags: [string list] Flags passed to the linker.](#ldflags) |
| 108 * [lib_dirs: [directory list] Additional library directories.](#lib_dirs) | 108 * [lib_dirs: [directory list] Additional library directories.](#lib_dirs) |
| 109 * [libs: [string list] Additional libraries to link.](#libs) | 109 * [libs: [string list] Additional libraries to link.](#libs) |
| 110 * [output_dir: [directory] Directory to put output file in.](#output_dir) | 110 * [output_dir: [directory] Directory to put output file in.](#output_dir) |
| 111 * [output_extension: [string] Value to use for the output's file extension
.](#output_extension) | 111 * [output_extension: [string] Value to use for the output's file extension
.](#output_extension) |
| 112 * [output_name: [string] Name for the output file other than the default.]
(#output_name) | 112 * [output_name: [string] Name for the output file other than the default.]
(#output_name) |
| 113 * [output_prefix_override: [boolean] Don't use prefix for output name.](#o
utput_prefix_override) | 113 * [output_prefix_override: [boolean] Don't use prefix for output name.](#o
utput_prefix_override) |
| 114 * [outputs: [file list] Output files for actions and copy targets.](#outpu
ts) | 114 * [outputs: [file list] Output files for actions and copy targets.](#outpu
ts) |
| 115 * [pool: [string] Label of the pool used by the action.](#pool) |
| 115 * [precompiled_header: [string] Header file to precompile.](#precompiled_h
eader) | 116 * [precompiled_header: [string] Header file to precompile.](#precompiled_h
eader) |
| 116 * [precompiled_header_type: [string] "gcc" or "msvc".](#precompiled_header
_type) | 117 * [precompiled_header_type: [string] "gcc" or "msvc".](#precompiled_header
_type) |
| 117 * [precompiled_source: [file name] Source file to precompile.](#precompile
d_source) | 118 * [precompiled_source: [file name] Source file to precompile.](#precompile
d_source) |
| 118 * [product_type: [string] Product type for Xcode projects.](#product_type) | 119 * [product_type: [string] Product type for Xcode projects.](#product_type) |
| 119 * [public: [file list] Declare public header files for a target.](#public) | 120 * [public: [file list] Declare public header files for a target.](#public) |
| 120 * [public_configs: [label list] Configs applied to dependents.](#public_co
nfigs) | 121 * [public_configs: [label list] Configs applied to dependents.](#public_co
nfigs) |
| 121 * [public_deps: [label list] Declare public dependencies.](#public_deps) | 122 * [public_deps: [label list] Declare public dependencies.](#public_deps) |
| 122 * [response_file_contents: [string list] Contents of .rsp file for actions
.](#response_file_contents) | 123 * [response_file_contents: [string list] Contents of .rsp file for actions
.](#response_file_contents) |
| 123 * [script: [file name] Script file for actions.](#script) | 124 * [script: [file name] Script file for actions.](#script) |
| 124 * [sources: [file list] Source files for a target.](#sources) | 125 * [sources: [file list] Source files for a target.](#sources) |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 591 #### **Examples** | 592 #### **Examples** |
| 592 ``` | 593 ``` |
| 593 gn format //some/BUILD.gn | 594 gn format //some/BUILD.gn |
| 594 gn format some\\BUILD.gn | 595 gn format some\\BUILD.gn |
| 595 gn format /abspath/some/BUILD.gn | 596 gn format /abspath/some/BUILD.gn |
| 596 gn format --stdin | 597 gn format --stdin |
| 597 ``` | 598 ``` |
| 598 ### <a name="gen:"></a>**gn gen**: Generate ninja files. | 599 ### <a name="gen:"></a>**gn gen**: Generate ninja files. |
| 599 | 600 |
| 600 ``` | 601 ``` |
| 601 gn gen [<ide options>] <out_dir> | 602 gn gen [--check] [<ide options>] <out_dir> |
| 602 | 603 |
| 603 Generates ninja files from the current tree and puts them in the given output | 604 Generates ninja files from the current tree and puts them in the given output |
| 604 directory. | 605 directory. |
| 605 | 606 |
| 606 The output directory can be a source-repo-absolute path name such as: | 607 The output directory can be a source-repo-absolute path name such as: |
| 607 //out/foo | 608 //out/foo |
| 608 Or it can be a directory relative to the current directory such as: | 609 Or it can be a directory relative to the current directory such as: |
| 609 out/foo | 610 out/foo |
| 610 | 611 |
| 612 "gn gen --check" is the same as running "gn check". See "gn help check" |
| 613 for documentation on that mode. |
| 614 |
| 611 See "gn help switches" for the common command-line switches. | 615 See "gn help switches" for the common command-line switches. |
| 612 ``` | 616 ``` |
| 613 | 617 |
| 614 #### **IDE options** | 618 #### **IDE options** |
| 615 | 619 |
| 616 ``` | 620 ``` |
| 617 GN optionally generates files for IDE. Possibilities for <ide options> | 621 GN optionally generates files for IDE. Possibilities for <ide options> |
| 618 | 622 |
| 619 --ide=<ide_name> | 623 --ide=<ide_name> |
| 620 Generate files for an IDE. Currently supported values: | 624 Generate files for an IDE. Currently supported values: |
| (...skipping 17 matching lines...) Expand all Loading... |
| 638 #### **Visual Studio Flags** | 642 #### **Visual Studio Flags** |
| 639 | 643 |
| 640 ``` | 644 ``` |
| 641 --sln=<file_name> | 645 --sln=<file_name> |
| 642 Override default sln file name ("all"). Solution file is written to the | 646 Override default sln file name ("all"). Solution file is written to the |
| 643 root build directory. | 647 root build directory. |
| 644 | 648 |
| 645 --no-deps | 649 --no-deps |
| 646 Don't include targets dependencies to the solution. Changes the way how | 650 Don't include targets dependencies to the solution. Changes the way how |
| 647 --filters option works. Only directly matching targets are included. | 651 --filters option works. Only directly matching targets are included. |
| 652 |
| 653 --winsdk=<sdk_version> |
| 654 Use the specified Windows 10 SDK version to generate project files. |
| 655 As an example, "10.0.15063.0" can be specified to use Creators Update SDK |
| 656 instead of the default one. |
| 648 ``` | 657 ``` |
| 649 | 658 |
| 650 #### **Xcode Flags** | 659 #### **Xcode Flags** |
| 651 | 660 |
| 652 ``` | 661 ``` |
| 653 --workspace=<file_name> | 662 --workspace=<file_name> |
| 654 Override defaut workspace file name ("all"). The workspace file is | 663 Override defaut workspace file name ("all"). The workspace file is |
| 655 written to the root build directory. | 664 written to the root build directory. |
| 656 | 665 |
| 657 --ninja-extra-args=<string> | 666 --ninja-extra-args=<string> |
| (...skipping 23 matching lines...) Expand all Loading... |
| 681 a list of include paths and defines. Because GN does not generate a full | 690 a list of include paths and defines. Because GN does not generate a full |
| 682 .cproject definition, it is not possible to properly define includes/defines | 691 .cproject definition, it is not possible to properly define includes/defines |
| 683 for each file individually. Instead, one set of includes/defines is generated | 692 for each file individually. Instead, one set of includes/defines is generated |
| 684 for the entire project. This works fairly well but may still result in a few | 693 for the entire project. This works fairly well but may still result in a few |
| 685 indexer issues here and there. | 694 indexer issues here and there. |
| 686 ``` | 695 ``` |
| 687 | 696 |
| 688 #### **Generic JSON Output** | 697 #### **Generic JSON Output** |
| 689 | 698 |
| 690 ``` | 699 ``` |
| 691 Dumps target information to JSON file and optionally invokes python script on | 700 Dumps target information to a JSON file and optionally invokes a |
| 692 generated file. See comments at the beginning of json_project_writer.cc and | 701 python script on the generated file. See the comments at the beginning |
| 693 desc_builder.cc for overview of JSON file format. | 702 of json_project_writer.cc and desc_builder.cc for an overview of the JSON |
| 703 file format. |
| 694 | 704 |
| 695 --json-file-name=<json_file_name> | 705 --json-file-name=<json_file_name> |
| 696 Overrides default file name (project.json) of generated JSON file. | 706 Overrides default file name (project.json) of generated JSON file. |
| 697 | 707 |
| 698 --json-ide-script=<path_to_python_script> | 708 --json-ide-script=<path_to_python_script> |
| 699 Executes python script after the JSON file is generated. Path can be | 709 Executes python script after the JSON file is generated. Path can be |
| 700 project absolute (//), system absolute (/) or relative, in which case the | 710 project absolute (//), system absolute (/) or relative, in which case the |
| 701 output directory will be base. Path to generated JSON file will be first | 711 output directory will be base. Path to generated JSON file will be first |
| 702 argument when invoking script. | 712 argument when invoking script. |
| 703 | 713 |
| (...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1925 The label of the toolchain. This will match the value of the | 1935 The label of the toolchain. This will match the value of the |
| 1926 "current_toolchain" variable when inside that target's declaration. | 1936 "current_toolchain" variable when inside that target's declaration. |
| 1927 ``` | 1937 ``` |
| 1928 | 1938 |
| 1929 #### **Examples** | 1939 #### **Examples** |
| 1930 | 1940 |
| 1931 ``` | 1941 ``` |
| 1932 get_label_info(":foo", "name") | 1942 get_label_info(":foo", "name") |
| 1933 # Returns string "foo". | 1943 # Returns string "foo". |
| 1934 | 1944 |
| 1935 get_label_info("//foo/bar:baz", "gen_dir") | 1945 get_label_info("//foo/bar:baz", "target_gen_dir") |
| 1936 # Returns string "//out/Debug/gen/foo/bar". | 1946 # Returns string "//out/Debug/gen/foo/bar". |
| 1937 ``` | 1947 ``` |
| 1938 ### <a name="get_path_info"></a>**get_path_info**: Extract parts of a file or di
rectory name. | 1948 ### <a name="get_path_info"></a>**get_path_info**: Extract parts of a file or di
rectory name. |
| 1939 | 1949 |
| 1940 ``` | 1950 ``` |
| 1941 get_path_info(input, what) | 1951 get_path_info(input, what) |
| 1942 | 1952 |
| 1943 The first argument is either a string representing a file or directory name, | 1953 The first argument is either a string representing a file or directory name, |
| 1944 or a list of such strings. If the input is a list the return value will be a | 1954 or a list of such strings. If the input is a list the return value will be a |
| 1945 list containing the result of applying the rule to each item in the input. | 1955 list containing the result of applying the rule to each item in the input. |
| (...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2679 "asm": Assembler | 2689 "asm": Assembler |
| 2680 | 2690 |
| 2681 Linker tools: | 2691 Linker tools: |
| 2682 "alink": Linker for static libraries (archives) | 2692 "alink": Linker for static libraries (archives) |
| 2683 "solink": Linker for shared libraries | 2693 "solink": Linker for shared libraries |
| 2684 "link": Linker for executables | 2694 "link": Linker for executables |
| 2685 | 2695 |
| 2686 Other tools: | 2696 Other tools: |
| 2687 "stamp": Tool for creating stamp files | 2697 "stamp": Tool for creating stamp files |
| 2688 "copy": Tool to copy files. | 2698 "copy": Tool to copy files. |
| 2699 "action": Defaults for actions |
| 2689 | 2700 |
| 2690 Platform specific tools: | 2701 Platform specific tools: |
| 2691 "copy_bundle_data": [iOS, OS X] Tool to copy files in a bundle. | 2702 "copy_bundle_data": [iOS, OS X] Tool to copy files in a bundle. |
| 2692 "compile_xcassets": [iOS, OS X] Tool to compile asset catalogs. | 2703 "compile_xcassets": [iOS, OS X] Tool to compile asset catalogs. |
| 2693 ``` | 2704 ``` |
| 2694 | 2705 |
| 2695 #### **Tool variables** | 2706 #### **Tool variables** |
| 2696 | 2707 |
| 2697 ``` | 2708 ``` |
| 2698 command [string with substitutions] | 2709 command [string with substitutions] |
| 2699 Valid for: all tools (required) | 2710 Valid for: all tools except "action" (required) |
| 2700 | 2711 |
| 2701 The command to run. | 2712 The command to run. |
| 2702 | 2713 |
| 2703 default_output_dir [string with substitutions] | 2714 default_output_dir [string with substitutions] |
| 2704 Valid for: linker tools | 2715 Valid for: linker tools |
| 2705 | 2716 |
| 2706 Default directory name for the output file relative to the | 2717 Default directory name for the output file relative to the |
| 2707 root_build_dir. It can contain other substitution patterns. This will | 2718 root_build_dir. It can contain other substitution patterns. This will |
| 2708 be the default value for the {{output_dir}} expansion (discussed below) | 2719 be the default value for the {{output_dir}} expansion (discussed below) |
| 2709 but will be overridden by the "output_dir" variable in a target, if one | 2720 but will be overridden by the "output_dir" variable in a target, if one |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2789 Example for a linker tool that produces a .dll and a .lib. The use of | 2800 Example for a linker tool that produces a .dll and a .lib. The use of |
| 2790 {{target_output_name}}, {{output_extension}} and {{output_dir}} allows | 2801 {{target_output_name}}, {{output_extension}} and {{output_dir}} allows |
| 2791 the target to override these values. | 2802 the target to override these values. |
| 2792 outputs = [ | 2803 outputs = [ |
| 2793 "{{output_dir}}/{{target_output_name}}" | 2804 "{{output_dir}}/{{target_output_name}}" |
| 2794 "{{output_extension}}", | 2805 "{{output_extension}}", |
| 2795 "{{output_dir}}/{{target_output_name}}.lib", | 2806 "{{output_dir}}/{{target_output_name}}.lib", |
| 2796 ] | 2807 ] |
| 2797 | 2808 |
| 2798 pool [label, optional] | 2809 pool [label, optional] |
| 2810 Valid for: all tools (optional) |
| 2799 | 2811 |
| 2800 Label of the pool to use for the tool. Pools are used to limit the | 2812 Label of the pool to use for the tool. Pools are used to limit the |
| 2801 number of tasks that can execute concurrently during the build. | 2813 number of tasks that can execute concurrently during the build. |
| 2802 | 2814 |
| 2803 See also "gn help pool". | 2815 See also "gn help pool". |
| 2804 | 2816 |
| 2805 link_output [string with substitutions] | 2817 link_output [string with substitutions] |
| 2806 depend_output [string with substitutions] | 2818 depend_output [string with substitutions] |
| 2807 Valid for: "solink" only (optional) | 2819 Valid for: "solink" only (optional) |
| 2808 | 2820 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2859 | 2871 |
| 2860 Normally, Ninja will assume that when a tool runs the output be new and | 2872 Normally, Ninja will assume that when a tool runs the output be new and |
| 2861 downstream dependents must be rebuild. When this is set to trye, Ninja | 2873 downstream dependents must be rebuild. When this is set to trye, Ninja |
| 2862 can skip rebuilding downstream dependents for input changes that don't | 2874 can skip rebuilding downstream dependents for input changes that don't |
| 2863 actually affect the output. | 2875 actually affect the output. |
| 2864 | 2876 |
| 2865 Example: | 2877 Example: |
| 2866 restat = true | 2878 restat = true |
| 2867 | 2879 |
| 2868 rspfile [string with substitutions] | 2880 rspfile [string with substitutions] |
| 2869 Valid for: all tools (optional) | 2881 Valid for: all tools except "action" (optional) |
| 2870 | 2882 |
| 2871 Name of the response file. If empty, no response file will be | 2883 Name of the response file. If empty, no response file will be |
| 2872 used. See "rspfile_content". | 2884 used. See "rspfile_content". |
| 2873 | 2885 |
| 2874 rspfile_content [string with substitutions] | 2886 rspfile_content [string with substitutions] |
| 2875 Valid for: all tools (required when "rspfile" is specified) | 2887 Valid for: all tools except "action" (required when "rspfile" is used) |
| 2876 | 2888 |
| 2877 The contents to be written to the response file. This may include all | 2889 The contents to be written to the response file. This may include all |
| 2878 or part of the command to send to the tool which allows you to get | 2890 or part of the command to send to the tool which allows you to get |
| 2879 around OS command-line length limits. | 2891 around OS command-line length limits. |
| 2880 | 2892 |
| 2881 This example adds the inputs and libraries to a response file, but | 2893 This example adds the inputs and libraries to a response file, but |
| 2882 passes the linker flags directly on the command line: | 2894 passes the linker flags directly on the command line: |
| 2883 tool("link") { | 2895 tool("link") { |
| 2884 command = "link -o {{output}} {{ldflags}} @{{output}}.rsp" | 2896 command = "link -o {{output}} {{ldflags}} @{{output}}.rsp" |
| 2885 rspfile = "{{output}}.rsp" | 2897 rspfile = "{{output}}.rsp" |
| (...skipping 1386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4272 cflags = [ ... ] | 4284 cflags = [ ... ] |
| 4273 } | 4285 } |
| 4274 config("default_optimization") { | 4286 config("default_optimization") { |
| 4275 if (optimize_everything) { | 4287 if (optimize_everything) { |
| 4276 configs = [ ":super_optimization" ] | 4288 configs = [ ":super_optimization" ] |
| 4277 } else { | 4289 } else { |
| 4278 configs = [ ":no_optimization" ] | 4290 configs = [ ":no_optimization" ] |
| 4279 } | 4291 } |
| 4280 } | 4292 } |
| 4281 ``` | 4293 ``` |
| 4282 ### <a name="console"></a>**console**: Run this action in the console pool. | 4294 ### <a name="console"></a>**console**: Console pool objects. |
| 4283 | 4295 |
| 4284 ``` | 4296 ``` |
| 4285 Boolean. Defaults to false. | 4297 Console pool is a special pool object that uses the built-in ninja "console" |
| 4286 | 4298 pool. Target using this pool will have access to real stdin and stdout, and |
| 4287 Actions marked "console = true" will be run in the built-in ninja "console" | 4299 output will not be buffered by ninja. This can be useful for long-running |
| 4288 pool. They will have access to real stdin and stdout, and output will not be | 4300 actions with progress logs, or actions that require user input. |
| 4289 buffered by ninja. This can be useful for long-running actions with progress | |
| 4290 logs, or actions that require user input. | |
| 4291 | 4301 |
| 4292 Only one console pool target can run at any one time in Ninja. Refer to the | 4302 Only one console pool target can run at any one time in Ninja. Refer to the |
| 4293 Ninja documentation on the console pool for more info. | 4303 Ninja documentation on the console pool for more info. |
| 4294 ``` | 4304 ``` |
| 4295 | 4305 |
| 4296 #### **Example** | 4306 #### **Example** |
| 4297 | 4307 |
| 4298 ``` | 4308 ``` |
| 4299 action("long_action_with_progress_logs") { | 4309 action("my_action") { |
| 4300 console = true | 4310 ... |
| 4311 pool = console |
| 4312 ... |
| 4301 } | 4313 } |
| 4302 ``` | 4314 ``` |
| 4303 ### <a name="data"></a>**data**: Runtime data file dependencies. | 4315 ### <a name="data"></a>**data**: Runtime data file dependencies. |
| 4304 | 4316 |
| 4305 ``` | 4317 ``` |
| 4306 Lists files or directories required to run the given target. These are | 4318 Lists files or directories required to run the given target. These are |
| 4307 typically data files or directories of data files. The paths are interpreted | 4319 typically data files or directories of data files. The paths are interpreted |
| 4308 as being relative to the current build file. Since these are runtime | 4320 as being relative to the current build file. Since these are runtime |
| 4309 dependencies, they do not affect which targets are built or when. To declare | 4321 dependencies, they do not affect which targets are built or when. To declare |
| 4310 input files to a script, use "inputs". | 4322 input files to a script, use "inputs". |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4838 action_foreach | 4850 action_foreach |
| 4839 Action_foreach targets must always use source expansions to map input files | 4851 Action_foreach targets must always use source expansions to map input files |
| 4840 to output files. There can be more than one output, which means that each | 4852 to output files. There can be more than one output, which means that each |
| 4841 invocation of the script will produce a set of files (presumably based on | 4853 invocation of the script will produce a set of files (presumably based on |
| 4842 the name of the input file). See "gn help action_foreach". | 4854 the name of the input file). See "gn help action_foreach". |
| 4843 | 4855 |
| 4844 action | 4856 action |
| 4845 Action targets (excluding action_foreach) must list literal output file(s) | 4857 Action targets (excluding action_foreach) must list literal output file(s) |
| 4846 with no source expansions. See "gn help action". | 4858 with no source expansions. See "gn help action". |
| 4847 ``` | 4859 ``` |
| 4860 ### <a name="pool"></a>**pool**: Label of the pool used by the action. |
| 4861 |
| 4862 ``` |
| 4863 A fully-qualified label representing the pool that will be used for the |
| 4864 action. Pools are defined using the pool() {...} declaration. |
| 4865 ``` |
| 4866 |
| 4867 #### **Example** |
| 4868 |
| 4869 ``` |
| 4870 action("action") { |
| 4871 pool = "//build:custom_pool" |
| 4872 ... |
| 4873 } |
| 4874 ``` |
| 4848 ### <a name="precompiled_header"></a>**precompiled_header**: [string] Header fil
e to precompile. | 4875 ### <a name="precompiled_header"></a>**precompiled_header**: [string] Header fil
e to precompile. |
| 4849 | 4876 |
| 4850 ``` | 4877 ``` |
| 4851 Precompiled headers will be used when a target specifies this value, or a | 4878 Precompiled headers will be used when a target specifies this value, or a |
| 4852 config applying to this target specifies this value. In addition, the tool | 4879 config applying to this target specifies this value. In addition, the tool |
| 4853 corresponding to the source files must also specify precompiled headers (see | 4880 corresponding to the source files must also specify precompiled headers (see |
| 4854 "gn help tool"). The tool will also specify what type of precompiled headers | 4881 "gn help tool"). The tool will also specify what type of precompiled headers |
| 4855 to use, by setting precompiled_header_type to either "gcc" or "msvc". | 4882 to use, by setting precompiled_header_type to either "gcc" or "msvc". |
| 4856 | 4883 |
| 4857 The precompiled header/source variables can be specified on a target or a | 4884 The precompiled header/source variables can be specified on a target or a |
| (...skipping 1289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6147 * [--root: Explicitly specify source root.](#--root) | 6174 * [--root: Explicitly specify source root.](#--root) |
| 6148 * [--runtime-deps-list-file: Save runtime dependencies for targets in file
.](#--runtime-deps-list-file) | 6175 * [--runtime-deps-list-file: Save runtime dependencies for targets in file
.](#--runtime-deps-list-file) |
| 6149 * [--script-executable: Set the executable used to execute scripts.](#--sc
ript-executable) | 6176 * [--script-executable: Set the executable used to execute scripts.](#--sc
ript-executable) |
| 6150 * [--threads: Specify number of worker threads.](#--threads) | 6177 * [--threads: Specify number of worker threads.](#--threads) |
| 6151 * [--time: Outputs a summary of how long everything took.](#--time) | 6178 * [--time: Outputs a summary of how long everything took.](#--time) |
| 6152 * [--tracelog: Writes a Chrome-compatible trace log to the given file.](#-
-tracelog) | 6179 * [--tracelog: Writes a Chrome-compatible trace log to the given file.](#-
-tracelog) |
| 6153 * [-v: Verbose logging.](#-v) | 6180 * [-v: Verbose logging.](#-v) |
| 6154 * [--version: Prints the GN version number and exits.](#--version) | 6181 * [--version: Prints the GN version number and exits.](#--version) |
| 6155 ``` | 6182 ``` |
| 6156 | 6183 |
| OLD | NEW |