OLD | NEW |
1 # GN Frequently Asked Questions | 1 # GN Frequently Asked Questions |
2 | 2 |
3 [TOC] | 3 [TOC] |
4 | 4 |
5 ## How will the build be converted? | 5 ## How will the build be converted? |
6 | 6 |
7 We intend to build a second independent build in parallel to the GYP | 7 We intend to build a second independent build in parallel to the GYP |
8 build. Previous efforts to generate GYP as an intermediate stage proved | 8 build. Previous efforts to generate GYP as an intermediate stage proved |
9 difficult. There will be some smaller set of bots compiling this build, | 9 difficult. There will be some smaller set of bots compiling this build, |
10 and we'll keep the GN build running on these configurations. | 10 and we'll keep the GN build running on these configurations. |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 Since common.gypi is not used for GN-generated GYP files, any rules | 25 Since common.gypi is not used for GN-generated GYP files, any rules |
26 there will no longer apply. There is a _lot_ of logic in there for many | 26 there will no longer apply. There is a _lot_ of logic in there for many |
27 build configurations and various conditions where certain flags should | 27 build configurations and various conditions where certain flags should |
28 or should not be used. Some of these build configurations aren't even | 28 or should not be used. Some of these build configurations aren't even |
29 supported any more. Some are run on other waterfalls or are used by | 29 supported any more. Some are run on other waterfalls or are used by |
30 individuals manually setting GYP\_DEFINES on their local system. | 30 individuals manually setting GYP\_DEFINES on their local system. |
31 | 31 |
32 ## Will XCode/Visual Studio still be supported? | 32 ## Will XCode/Visual Studio still be supported? |
33 | 33 |
34 They're not supported now. | 34 Visual Studio is supported. Visual Studio can be used as an IDE for code |
| 35 browsing or debugging but Ninja is used for building. |
| 36 Run `gn help gen` for more details. |
35 | 37 |
36 Long-term, if your use-case is to use Ninja for building but Visual | 38 XCode is not supported yet. We need help! |
37 Studio or XCode for debugging, there is desire to write a simple wrapper | |
38 around Ninja that lists the files in Visual Studio or XCode format, and | |
39 has a command to run ninja for when you press build. This setup should | |
40 provide the type of interactive debugging experience people want (the | |
41 iOS team currently uses a Ninja/XCode build like this with success). | |
42 | |
43 This project is not staffed. If you're interested, it probably isn't too | |
44 hard. It won't get done unless somebody volunteers. There is a [spec for | |
45 IDE | |
46 integration](https://docs.google.com/document/d/1kwREU99u8GpRammLbbKwrfaDI6WV7ns
MAaoF5dcuhOU/edit?usp=sharing). | |
47 | 39 |
48 ## I'm weird. Will my uncommon build mode be supported? | 40 ## I'm weird. Will my uncommon build mode be supported? |
49 | 41 |
50 One of the main benefits of the build changeover is that it will | 42 One of the main benefits of the build changeover is that it will |
51 encourage us to refactor the build system. The project has generally not | 43 encourage us to refactor the build system. The project has generally not |
52 been as strict with build complexity and maintenance as we have with | 44 been as strict with build complexity and maintenance as we have with |
53 source code, and a lot of cruft has accumulated. | 45 source code, and a lot of cruft has accumulated. |
54 | 46 |
55 In most cases, we will want to rethink how build flags are supported. We | 47 In most cases, we will want to rethink how build flags are supported. We |
56 want to be more modular rather than throwing everything in the | 48 want to be more modular rather than throwing everything in the |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 `is_official_build = true` | 104 `is_official_build = true` |
113 * The default is Chromium branding. To do Chrome branding, set | 105 * The default is Chromium branding. To do Chrome branding, set |
114 `is_chrome_branded = true` | 106 `is_chrome_branded = true` |
115 | 107 |
116 ## How do I do cross-compiles? | 108 ## How do I do cross-compiles? |
117 | 109 |
118 GN has robust support for doing cross compiles and building things for | 110 GN has robust support for doing cross compiles and building things for |
119 multiple architectures in a single build. | 111 multiple architectures in a single build. |
120 | 112 |
121 See [GNCrossCompiles](cross_compiles.md) for more info. | 113 See [GNCrossCompiles](cross_compiles.md) for more info. |
OLD | NEW |