| OLD | NEW |
| 1 # GN Language and Operation | 1 # GN Language and Operation |
| 2 | 2 |
| 3 [TOC] | 3 [TOC] |
| 4 | 4 |
| 5 ## Introduction | 5 ## Introduction |
| 6 | 6 |
| 7 This page describes many of the language details and behaviors. | 7 This page describes many of the language details and behaviors. |
| 8 | 8 |
| 9 ### Use the built-in help! | 9 ### Use the built-in help! |
| 10 | 10 |
| (...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 600 two toolchains: | 600 two toolchains: |
| 601 | 601 |
| 602 ``` | 602 ``` |
| 603 toolchain("32") { | 603 toolchain("32") { |
| 604 tool("cc") { | 604 tool("cc") { |
| 605 ... | 605 ... |
| 606 } | 606 } |
| 607 ... more tools ... | 607 ... more tools ... |
| 608 | 608 |
| 609 # Arguments to the build when re-invoking as a secondary toolchain. | 609 # Arguments to the build when re-invoking as a secondary toolchain. |
| 610 toolchain_args() { | 610 toolchain_args = { |
| 611 toolchain_cpu = "x86" | 611 current_cpu = "x86" |
| 612 } | 612 } |
| 613 } | 613 } |
| 614 | 614 |
| 615 toolchain("64") { | 615 toolchain("64") { |
| 616 tool("cc") { | 616 tool("cc") { |
| 617 ... | 617 ... |
| 618 } | 618 } |
| 619 ... more tools ... | 619 ... more tools ... |
| 620 | 620 |
| 621 # Arguments to the build when re-invoking as a secondary toolchain. | 621 # Arguments to the build when re-invoking as a secondary toolchain. |
| 622 toolchain_args() { | 622 toolchain_args = { |
| 623 toolchain_cpu = "x64" | 623 current_cpu = "x64" |
| 624 } | 624 } |
| 625 } | 625 } |
| 626 ``` | 626 ``` |
| 627 | 627 |
| 628 The toolchain args specifies the CPU architecture explicitly, so if a | 628 The toolchain args specifies the CPU architecture explicitly, so if a |
| 629 target depends on something using that toolchain, that cpu architecture | 629 target depends on something using that toolchain, that cpu architecture |
| 630 will be set when re-invoking the build. These args are ignored for the | 630 will be set when re-invoking the build. These args are ignored for the |
| 631 default toolchain since by the time they're known the build config has | 631 default toolchain since by the time they're known the build config has |
| 632 already been run. In general, the toolchain args and the conditions used | 632 already been run. In general, the toolchain args and the conditions used |
| 633 to set the default toolchain should agree. | 633 to set the default toolchain should agree. |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 GN keeps some GYP concept like "all dependent" settings which work a bit | 804 GN keeps some GYP concept like "all dependent" settings which work a bit |
| 805 differently in Blaze. This is partially to make conversion from the existing | 805 differently in Blaze. This is partially to make conversion from the existing |
| 806 GYP code easier, and the GYP constructs generally offer more fine-grained | 806 GYP code easier, and the GYP constructs generally offer more fine-grained |
| 807 control (which is either good or bad, depending on the situation). | 807 control (which is either good or bad, depending on the situation). |
| 808 | 808 |
| 809 GN also uses GYP names like "sources" instead of "srcs" since | 809 GN also uses GYP names like "sources" instead of "srcs" since |
| 810 abbreviating this seems needlessly obscure, although it uses Blaze's | 810 abbreviating this seems needlessly obscure, although it uses Blaze's |
| 811 "deps" since "dependencies" is so hard to type. Chromium also compiles | 811 "deps" since "dependencies" is so hard to type. Chromium also compiles |
| 812 multiple languages in one target so specifying the language type on the | 812 multiple languages in one target so specifying the language type on the |
| 813 target name prefix was dropped (e.g. from `cc_library`). | 813 target name prefix was dropped (e.g. from `cc_library`). |
| OLD | NEW |