[webkit-dev] Build File Maintenance (was Re: Please welcome GYP to the our dysfunctional build family)

Mark Mentovai mark at chromium.org
Tue Jul 14 12:08:51 PDT 2009


Brent Fulgham wrote:
> The thing that worries me about this latest push to add GYP is that
> there was much Google enthusiasm for the SCons stuff six months or so
> ago, and SCons stuff started landing in the tree, and now that's all
> been tossed away (apparently for performance reasons).
>
> Do we feel that GYP is finally the right tool?

It's fair to say that it's always been the Chromium team's desire to
move at least some chunk of our WebKit build system upstream into the
WebKit repository.  Conceptually, the instructions for building WebKit
belong with WebKit.  What you're seeing with Dimitri's recent checkin
of .gypi files is a step in this direction.

Given this, you're quite right to pick up on the "build system du
jour" nature of the discussion.  A year ago, the Chromium team was
expecting SCons files to become the master description of our build,
but for various reasons including performance, that didn't really work
out.  We were gung-ho about SCons, but our enthusiasm may have been
premature: at least for Chromium, it turned out to not be the right
solution right now.  The difference between the SCons-driven and
GYP-driven builds of Chromium is that with the latter, we really were
able to unify our disparate build systems.  With GYP, we've got a
single build system instead of three (or four), and we were able to do
that while meeting the other requirements peculiar to our project.
GYP may just be another "build system du jour," but cette jour, it's
actually carrying Chromium on all of its platforms.

It's also important to keep in mind that as long as Chromium is using
GYP for its build, we (the Chromium team) are committed to maintaining
.gyp/.gypi files checked into the WebKit repository at least as well
as they need to be maintained to support our use.  Speaking as someone
heavily involved with GYP's development, I'd be thrilled if it worked
for other projects too; speaking as a Chromium team member, it'd be
helpful if people working on other WebKit ports maintained the
.gyp/.gypi files as they add, move, and remove files in the WebKit
tree, even if no port other than Chromium is actually using GYP.  To
be honest, though, I don't think that WebKit (or any other project)
should choose a build system hastily, and it's entirely conceivable
that what works best for Chromium might not work best for WebKit.

Mark


More information about the webkit-dev mailing list