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 2468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2479 are relative to the build output directory. There must always be | 2479 are relative to the build output directory. There must always be |
2480 at least one output file. There can be more than one output (a | 2480 at least one output file. There can be more than one output (a |
2481 linker might produce a library and an import library, for | 2481 linker might produce a library and an import library, for |
2482 example). | 2482 example). |
2483 | 2483 |
2484 This array just declares to GN what files the tool will | 2484 This array just declares to GN what files the tool will |
2485 produce. It is your responsibility to specify the tool command | 2485 produce. It is your responsibility to specify the tool command |
2486 that actually produces these files. | 2486 that actually produces these files. |
2487 | 2487 |
2488 If you specify more than one output for shared library links, | 2488 If you specify more than one output for shared library links, |
2489 you should consider setting link_output and depend_output. | 2489 you should consider setting link_output, depend_output, and |
2490 Otherwise, the first entry in the outputs list should always be | 2490 runtime_link_output. Otherwise, the first entry in the |
2491 the main output which will be linked to. | 2491 outputs list should always be the main output which will be |
| 2492 linked to. |
2492 | 2493 |
2493 Example for a compiler tool that produces .obj files: | 2494 Example for a compiler tool that produces .obj files: |
2494 outputs = [ | 2495 outputs = [ |
2495 "{{source_out_dir}}/{{source_name_part}}.obj" | 2496 "{{source_out_dir}}/{{source_name_part}}.obj" |
2496 ] | 2497 ] |
2497 | 2498 |
2498 Example for a linker tool that produces a .dll and a .lib. The | 2499 Example for a linker tool that produces a .dll and a .lib. The |
2499 use of {{output_extension}} rather than hardcoding ".dll" | 2500 use of {{output_extension}} rather than hardcoding ".dll" |
2500 allows the extension of the library to be overridden on a | 2501 allows the extension of the library to be overridden on a |
2501 target-by-target basis, but in this example, it always | 2502 target-by-target basis, but in this example, it always |
2502 produces a ".lib" import library: | 2503 produces a ".lib" import library: |
2503 outputs = [ | 2504 outputs = [ |
2504 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}", | 2505 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}", |
2505 "{{root_out_dir}}/{{target_output_name}}.lib", | 2506 "{{root_out_dir}}/{{target_output_name}}.lib", |
2506 ] | 2507 ] |
2507 | 2508 |
2508 link_output [string with substitutions] | 2509 link_output [string with substitutions] |
2509 depend_output [string with substitutions] | 2510 depend_output [string with substitutions] |
| 2511 runtime_link_output [string with substitutions] |
2510 Valid for: "solink" only (optional) | 2512 Valid for: "solink" only (optional) |
2511 | 2513 |
2512 These two files specify which of the outputs from the solink | 2514 These three files specify which of the outputs from the solink |
2513 tool should be used for linking and dependency tracking. These | 2515 tool should be used for linking and dependency tracking. These |
2514 should match entries in the "outputs". If unspecified, the | 2516 should match entries in the "outputs". If unspecified, the |
2515 first item in the "outputs" array will be used for both. See | 2517 first item in the "outputs" array will be used for all. See |
2516 "Separate linking and dependencies for shared libraries" | 2518 "Separate linking and dependencies for shared libraries" |
2517 below for more. | 2519 below for more. If link_output is set but runtime_link_output |
| 2520 is not set, runtime_link_output defaults to link_output. |
2518 | 2521 |
2519 On Windows, where the tools produce a .dll shared library and | 2522 On Windows, where the tools produce a .dll shared library and |
2520 a .lib import library, you will want both of these to be the | 2523 a .lib import library, you will want the first two to be the |
2521 import library. On Linux, if you're not doing the separate | 2524 import library and the third one to be the .dll file. |
2522 linking/dependency optimization, both of these should be the | 2525 On Linux, if you're not doing the separate linking/dependency |
2523 .so output. | 2526 optimization, all of these should be the .so output. |
2524 | 2527 |
2525 output_prefix [string] | 2528 output_prefix [string] |
2526 Valid for: Linker tools (optional) | 2529 Valid for: Linker tools (optional) |
2527 | 2530 |
2528 Prefix to use for the output name. Defaults to empty. This | 2531 Prefix to use for the output name. Defaults to empty. This |
2529 prefix will be prepended to the name of the target (or the | 2532 prefix will be prepended to the name of the target (or the |
2530 output_name if one is manually specified for it) if the prefix | 2533 output_name if one is manually specified for it) if the prefix |
2531 is not already there. The result will show up in the | 2534 is not already there. The result will show up in the |
2532 {{output_name}} substitution pattern. | 2535 {{output_name}} substitution pattern. |
2533 | 2536 |
(...skipping 2774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5308 ** -q**: Quiet mode. Don't print output on success. | 5311 ** -q**: Quiet mode. Don't print output on success. |
5309 ** \--root**: Explicitly specify source root. | 5312 ** \--root**: Explicitly specify source root. |
5310 ** \--runtime-deps-list-file**: Save runtime dependencies for targets in file. | 5313 ** \--runtime-deps-list-file**: Save runtime dependencies for targets in file. |
5311 ** \--threads**: Specify number of worker threads. | 5314 ** \--threads**: Specify number of worker threads. |
5312 ** \--time**: Outputs a summary of how long everything took. | 5315 ** \--time**: Outputs a summary of how long everything took. |
5313 ** \--tracelog**: Writes a Chrome-compatible trace log to the given file. | 5316 ** \--tracelog**: Writes a Chrome-compatible trace log to the given file. |
5314 ** -v**: Verbose logging. | 5317 ** -v**: Verbose logging. |
5315 ** \--version**: Prints the GN version number and exits. | 5318 ** \--version**: Prints the GN version number and exits. |
5316 | 5319 |
5317 ``` | 5320 ``` |
OLD | NEW |