[webkit-dev] Using ninja (was Re:Common build system (was Re: WebKit Wishes))

Dirk Pranke dpranke at chromium.org
Mon Feb 4 12:25:29 PST 2013


The short answer is, you can't.

The fastest path is probably to get a working set of gyp files for the
apple mac wk2. I'm going to start working on this just to see how far
of we are (Adam's work from a year or two ago had JSC and WebCore
building, but wasn't too functional beyond that; even so, it's
probably a good starting point).

-- Dirk

On Sun, Feb 3, 2013 at 1:22 PM, Dean Jackson <dino at apple.com> wrote:
> OK, this sounds fantastic. And I've noticed how much faster Chromium
> incrementally builds using ninja when I've done that.
>
> So, ignoring the discussion of a single build system for a moment, how
> can I, as a developer using the OS X + WK2 port, living mostly
> in Xcode for editing and debugging, use ninja? I need the idiot's
> guide :)
>
> (Note: I am an idiot, but not so much an idiot to realise that the
> answer involves lots of work and probably updating some old GYP
> files that you and Adam were testing with, etc etc. I'm just selfishly
> thinking that cutting even 30s off each incremental rebuild would make
> me so much happier that I'd be willing to put up with other
> inconveniences.)
>
> Dean
>
> On 03/02/2013, at 4:54 PM, Eric Seidel <eric at webkit.org> wrote:
>
>> +1
>>
>> Ninja is beyond-words amazing.  http://martine.github.com/ninja/  For
>> better or worse, it is not designed to use human-editable build files,
>> but rather to be used by a meta build system, like GYP or CMake.  So
>> using ninja is really an orthogonal discussion to the "single build
>> system" discussion for WebKit. :)
>>
>> Were the WebKit project to convert to using a single meta-build
>> system, ninja would become an option many users might choose.  I'm
>> told most Chromium hackers have GYP set to output ninja files these
>> days, with the exception of some folks who still want the MSVC build
>> environment. For WebKit ports already using CMake, they should
>> definitely try ninja today!
>>
>>
>> Anyway, my wish was not about arguing for a specific build solution.
>> I'm instead noting that for the project to continue to move quickly,
>> we need to stop needing to edit 8 build systems for every file
>> move/addition.  Whether that's GYP or CMake or something else, I don't
>> really care.  Adam and I tried GYP-for-WebKIt a while back.  But any
>> of these solutions will require buy-in from Apple, as they will have
>> to do the largest amount of work converting to use something other
>> than XCode.
>>
>>
>> On Sat, Feb 2, 2013 at 8:20 PM, Nico Weber <thakis at chromium.org> wrote:
>>> On Sat, Feb 2, 2013 at 4:58 PM, Adam Barth <abarth at webkit.org> wrote:
>>>> Ninja has extremely fast incremental builds and can be generated by
>>>> GYP.  Here are some stats from a year ago:
>>>>
>>>> https://plus.google.com/101038813433650812235/posts/irc26fhRtPC
>>>>
>>>> Ninja has gotten even faster since then.  If you're interested in
>>>> trying it out, you can play around with incremental builds of the
>>>> Chromium port on Mac or Linux.
>>>
>>> You can also look at the build output from the chromium bots.
>>>
>>> Empty build in 1s:
>>> http://build.webkit.org/builders/Chromium%20Linux%20Release/builds/66807/steps/compile-webkit/logs/stdio
>>> Build with a few files changed in 15s:
>>> http://build.webkit.org/builders/Chromium%20Linux%20Release/builds/66800/steps/compile-webkit/logs/stdio
>>>
>>> …and this is on fairly slow bots. On my SSD-equipped laptop, I can do
>>> incremental rebuilds of all of chrome after touching one (cpp or mm)
>>> file in 2-6s.
>>>
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev


More information about the webkit-dev mailing list