| 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 ## **\--args**: Specifies build arguments overrides. | 5 ## **\--args**: Specifies build arguments overrides. |
| 6 | 6 |
| 7 ``` | 7 ``` |
| 8 See "gn help buildargs" for an overview of how build arguments work. | 8 See "gn help buildargs" for an overview of how build arguments work. |
| 9 | 9 |
| 10 Most operations take a build directory. The build arguments are taken | 10 Most operations take a build directory. The build arguments are taken |
| (...skipping 2004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2015 | 2015 |
| 2016 The result will never end in a slash, so if the resulting | 2016 The result will never end in a slash, so if the resulting |
| 2017 is empty, the system ("/") or source ("//") roots, a "." | 2017 is empty, the system ("/") or source ("//") roots, a "." |
| 2018 will be appended such that it is always legal to append a slash | 2018 will be appended such that it is always legal to append a slash |
| 2019 and a filename and get a valid path. | 2019 and a filename and get a valid path. |
| 2020 | 2020 |
| 2021 "out_dir" | 2021 "out_dir" |
| 2022 The output file directory corresponding to the path of the | 2022 The output file directory corresponding to the path of the |
| 2023 given file, not including a trailing slash. | 2023 given file, not including a trailing slash. |
| 2024 "//foo/bar/baz.txt" => "//out/Default/obj/foo/bar" | 2024 "//foo/bar/baz.txt" => "//out/Default/obj/foo/bar" |
| 2025 |
| 2025 "gen_dir" | 2026 "gen_dir" |
| 2026 The generated file directory corresponding to the path of the | 2027 The generated file directory corresponding to the path of the |
| 2027 given file, not including a trailing slash. | 2028 given file, not including a trailing slash. |
| 2028 "//foo/bar/baz.txt" => "//out/Default/gen/foo/bar" | 2029 "//foo/bar/baz.txt" => "//out/Default/gen/foo/bar" |
| 2029 | 2030 |
| 2030 "abspath" | 2031 "abspath" |
| 2031 The full absolute path name to the file or directory. It will be | 2032 The full absolute path name to the file or directory. It will be |
| 2032 resolved relative to the current directory, and then the source- | 2033 resolved relative to the current directory, and then the source- |
| 2033 absolute version will be returned. If the input is system- | 2034 absolute version will be returned. If the input is system- |
| 2034 absolute, the same input will be returned. | 2035 absolute, the same input will be returned. |
| (...skipping 1395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3430 dependencies these must be targets defined in another toolchain. | 3431 dependencies these must be targets defined in another toolchain. |
| 3431 | 3432 |
| 3432 This is expressed as a list of targets, and generally these targets | 3433 This is expressed as a list of targets, and generally these targets |
| 3433 will always specify a toolchain: | 3434 will always specify a toolchain: |
| 3434 deps = [ "//foo/bar:baz(//build/toolchain:bootstrap)" ] | 3435 deps = [ "//foo/bar:baz(//build/toolchain:bootstrap)" ] |
| 3435 | 3436 |
| 3436 This concept is somewhat inefficient to express in Ninja (it | 3437 This concept is somewhat inefficient to express in Ninja (it |
| 3437 requires a lot of duplicate of rules) so should only be used when | 3438 requires a lot of duplicate of rules) so should only be used when |
| 3438 absolutely necessary. | 3439 absolutely necessary. |
| 3439 | 3440 |
| 3440 concurrent_links | |
| 3441 In integer expressing the number of links that Ninja will perform in | |
| 3442 parallel. GN will create a pool for shared library and executable | |
| 3443 link steps with this many processes. Since linking is memory- and | |
| 3444 I/O-intensive, projects with many large targets may want to limit | |
| 3445 the number of parallel steps to avoid overloading the computer. | |
| 3446 Since creating static libraries is generally not as intensive | |
| 3447 there is no limit to "alink" steps. | |
| 3448 | |
| 3449 Defaults to 0 which Ninja interprets as "no limit". | |
| 3450 | |
| 3451 The value used will be the one from the default toolchain of the | |
| 3452 current build. | |
| 3453 | |
| 3454 ``` | 3441 ``` |
| 3455 | 3442 |
| 3456 ### **Invoking targets in toolchains**: | 3443 ### **Invoking targets in toolchains**: |
| 3457 | 3444 |
| 3458 ``` | 3445 ``` |
| 3459 By default, when a target depends on another, there is an implicit | 3446 By default, when a target depends on another, there is an implicit |
| 3460 toolchain label that is inherited, so the dependee has the same one | 3447 toolchain label that is inherited, so the dependee has the same one |
| 3461 as the dependent. | 3448 as the dependent. |
| 3462 | 3449 |
| 3463 You can override this and refer to any other toolchain by explicitly | 3450 You can override this and refer to any other toolchain by explicitly |
| (...skipping 10 matching lines...) Expand all Loading... |
| 3474 arguments specified by the toolchain_args section of the toolchain | 3461 arguments specified by the toolchain_args section of the toolchain |
| 3475 definition (see "gn help toolchain_args"). | 3462 definition (see "gn help toolchain_args"). |
| 3476 3. Loads the destination build file in the context of the | 3463 3. Loads the destination build file in the context of the |
| 3477 configuration file in the previous step. | 3464 configuration file in the previous step. |
| 3478 | 3465 |
| 3479 ``` | 3466 ``` |
| 3480 | 3467 |
| 3481 ### **Example**: | 3468 ### **Example**: |
| 3482 ``` | 3469 ``` |
| 3483 toolchain("plugin_toolchain") { | 3470 toolchain("plugin_toolchain") { |
| 3484 concurrent_links = 8 | |
| 3485 | |
| 3486 tool("cc") { | 3471 tool("cc") { |
| 3487 command = "gcc {{source}}" | 3472 command = "gcc {{source}}" |
| 3488 ... | 3473 ... |
| 3489 } | 3474 } |
| 3490 | 3475 |
| 3491 toolchain_args() { | 3476 toolchain_args() { |
| 3492 is_plugin = true | 3477 is_plugin = true |
| 3493 is_32bit = true | 3478 is_32bit = true |
| 3494 is_64bit = false | 3479 is_64bit = false |
| 3495 } | 3480 } |
| (...skipping 2840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6336 ** \--root**: Explicitly specify source root. | 6321 ** \--root**: Explicitly specify source root. |
| 6337 ** \--runtime-deps-list-file**: Save runtime dependencies for targets in file. | 6322 ** \--runtime-deps-list-file**: Save runtime dependencies for targets in file. |
| 6338 ** \--script-executable**: Set the executable used to execute scripts. | 6323 ** \--script-executable**: Set the executable used to execute scripts. |
| 6339 ** \--threads**: Specify number of worker threads. | 6324 ** \--threads**: Specify number of worker threads. |
| 6340 ** \--time**: Outputs a summary of how long everything took. | 6325 ** \--time**: Outputs a summary of how long everything took. |
| 6341 ** \--tracelog**: Writes a Chrome-compatible trace log to the given file. | 6326 ** \--tracelog**: Writes a Chrome-compatible trace log to the given file. |
| 6342 ** -v**: Verbose logging. | 6327 ** -v**: Verbose logging. |
| 6343 ** \--version**: Prints the GN version number and exits. | 6328 ** \--version**: Prints the GN version number and exits. |
| 6344 | 6329 |
| 6345 ``` | 6330 ``` |
| OLD | NEW |