As many of you may know, V8 has historically used GYP <https://gyp.gsrc.io/>
as its build system. This however has changed over the course of the past
year. V8 has followed Chromium in adopting GN
<https://chromium.googlesource.com/chromium/src/+/master/tools/gn/README.md>
as a replacement. By the end of 2016, V8's build configurations had been
completely migrated to use GN. Since then the V8 team has been diligently
maintaining GYP configurations as well, so currently most configurations of
V8 can be built with both GYP
<https://github.com/v8/v8/wiki/Building-with-Gyp> and GN
<https://github.com/v8/v8/wiki/Building-with-GN>,
<https://github.com/v8/v8/wiki/Building-with-GN>al
<https://github.com/v8/v8/wiki/Building-with-GN>th
<https://github.com/v8/v8/wiki/Building-with-GN>ou
<https://github.com/v8/v8/wiki/Building-with-GN>gh
<https://github.com/v8/v8/wiki/Building-with-GN> t
<https://github.com/v8/v8/wiki/Building-with-GN>he
<https://github.com/v8/v8/wiki/Building-with-GN> latter is recommended
<https://github.com/v8/v8/wiki/Building-with-GN>.

Moving forward, GN will be the primary build tool for V8. In order to avoid
unnecessary complexity of maintaining and testing two build systems, many
improvements to the build system and new build options are no longer going
to be ported to GYP. At the end of 2017 the V8 team will cease direct
support for GYP.

We are aware that many projects that embed V8 have adopted GYP as their
build system and will be affected by this step. This fact played a huge
role when we weighed our options, and we had extensive internal and
external discussions about possible migration paths.

Over the next few months, we will develop a helper-level wrapper script to
act as a bridge from GYP to GN, so that the GYP build target for V8 can
optionally be delegated to GN.

By the end of the year, this option will become the default. The legacy GYP
configuration will be completely removed from the V8 code base. Embedders
that depend on V8's GYP build target will need to set up their environment
to ensure the helper script can use GN.

Embedders that require GYP, for example to build for platforms not yet
supported by GN, may fork V8's legacy GYP configurations before they are
removed from V8. Note that these GYP configurations need to be updated
every time V8 is upgraded to a newer version to reflect changes to the
build system.

For some more background, please take a look at this case study with Node.js
<https://docs.google.com/document/d/1gvHuesiuvLzD6X6ONddxXRxhODlOJlxgfoTNZTlKLGA>.
If you have questions, please reach out!


Best Regards,


Yang Guo

-- 



* •  *
*Yang Guo** •  **Google Germany GmbH*
* •  *Erika-Mann-Str. 33
* •  *80636 Munich

 •  [email protected]


Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle

Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft:
Hamburg

Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind,
leiten Sie diese bitte nicht weiter, informieren Sie den Absender und
löschen Sie die E-Mail und alle Anhänge. Vielen Dank. This e-mail is
confidential. If you are not the right addressee please do not forward it,
please inform the sender, and please erase this e-mail including any
attachments. Thanks.

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to