GN is a meta-build system that generates NinjaBuild files. It's meant to be faster and simpler than GYP. It outputs only Ninja build files.
gn check
and the visibility
, public_deps
, and data_deps
options for some examples).as of 7 Oct 2015:
GN is now the default system for Linux, though GYP still works. It is mostly complete on Android, ChromeOS, and Windows (apart from NaCl support on Windows).
Mac and iOS are making progress, though we still need better support for bundles before the major targets like Chrome can link and they get to parity w/ the other platforms.
as of 7 Oct 2015:
We're currently shooting for having Android, ChromeOS, and Windows converted over by the end of 2015, with Mac and iOS following in Q1 of 2016.
Ideally we're done when all of the GYP files have been deleted from Chromium and no one misses them.
We will be “mostly” done when the following are true:
The difference between “mostly done” and “done” exists to cover any issues we haven't yet identified :)
We do not currently plan to support full native XCode or Visual Studio generation from GN. It is theoretically possible to support such things, so we would at least look at patches adding the functionality.
Check to see if your targets build under GN yet. If they don't, volunteer to help convert them!
Or, look at the list of open bugs related to the migration and see if there's anything that catches your fancy.
Read these links:
gn help
documentation.gn check
command reference