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

2013-02-04 Thread Dirk Pranke
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 d...@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 e...@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 tha...@chromium.org wrote:
 On Sat, Feb 2, 2013 at 4:58 PM, Adam Barth aba...@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@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2013-02-04 Thread Hajime Morrita
Editing seems OK if we use GYP or CMake.
You can generate both Xcode and Ninja files against same source tree.
Debugging won't work though, at least for GYP-generated projects.
Its Ninja and Xcode builds have different directly structure.

If Xcode can attach gdb/llldb to an out-of-project executable for
debugging, it might work.
The dwarf debug metadata points the same source code after all.
But I have no idea whether it is possible.

--
morrita


On Tue, Feb 5, 2013 at 5:25 AM, Dirk Pranke dpra...@chromium.org wrote:

 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 d...@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 e...@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 tha...@chromium.org wrote:
  On Sat, Feb 2, 2013 at 4:58 PM, Adam Barth aba...@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@lists.webkit.org
  https://lists.webkit.org/mailman/listinfo/webkit-dev
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2013-02-03 Thread Dean Jackson
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 e...@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 tha...@chromium.org wrote:
 On Sat, Feb 2, 2013 at 4:58 PM, Adam Barth aba...@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@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev