1) library=shared_library is broken and will never work again (in
fact, it is ignored by our current build files)
2) components=shared_library is a similar but different build configuration
3) the buildbot has been swapped:
http://build.chromium.org/p/chromium/builders/Linux%20Builder%20%28dbg%29%28cmp%29
The docs have been updated:
http://code.google.com/p/chromium/wiki/LinuxFasterBuilds#Shared_libraries_(components)
There's more discussion in my previous post:
http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/1270aee0f91d2aa1/83afc2c8919c7eb6
If you encounter problems, please email me or open bugs.
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
The docs I linked to are correct at least!
In the limit, it ought to be faster, but currently it is much heavier.
> The previous approach was so fast that I used to always make all targets.
> This took <1 minute (not measured) for compile and link everything after
> touching a file in browser/.
> After changing to component=shared_library, calling "make" is significantly
> slower. I just touched a profile_impl.cc which caused no noticeable
> recompiling but 5m30sec of linking (23 files, mainly tests) and writing 9 GB
> of files to disk.
In particular, files at the "top" of Chrome (that use many more of its
internal libraries) will be worse than those at the "bottom" (the
lower-level libraries). So net_unittests should be fast, while
ui_tests will be slow.
I am sorry I broke this. I was under the impression that very few
people used it, and also that it is frequently broken. I do believe
that we needed to get rid of it eventually -- it was costing many
people a persistent small cost while benefiting a few (like you,
apparently) a lot.
If you "make chrome" instead you should hopefully find a tolerable build time.
If you "make chrome" instead you should hopefully find a tolerable build time.
--
On Mon, May 23, 2011 at 10:48 PM, Evan Martin <ev...@chromium.org> wrote:On Mon, May 23, 2011 at 1:44 PM, Dominic Battre <bat...@chromium.org> wrote:In the limit, it ought to be faster, but currently it is much heavier.
> a quick question regarding the expected compile+link time (sorry if I missed
> this in previous discussions): Is the new solution supposed to be similarly
> fast as the previous solution?
> The previous approach was so fast that I used to always make all targets.
> This took <1 minute (not measured) for compile and link everything after
> touching a file in browser/.
> After changing to component=shared_library, calling "make" is significantly
> slower. I just touched a profile_impl.cc which caused no noticeable
> recompiling but 5m30sec of linking (23 files, mainly tests) and writing 9 GB
> of files to disk.
Probably a stupid question but as I'm new here, I'll make it anyway...
Supposing all the needed libraries are up to date, wouldn't it be faster
just to do "make out/Debug/chrome"? As far as I understood it "make
chrome" will be faster than just make because it will only take into
account the needed dependencies to build chrome, while "make
out/Debug/chrome" will just build chrome, assuming everything else is
already up-to-date.
But perhaps I'm wrong in my assumptions... if so, a clarification would
be really appreciated :-)
Thanks!
Mario
--
# Add target alias
.PHONY: chrome
chrome: $(builddir)/chrome
--
Where $(builddir) is out/Debug for debug builds.
Oops! I should have "grepped" before asking.. :-)
Thanks for pointing it out anyway,
Mario
From IRC it sounds like some people haven't seen my previous messages
to chromium-dev, so just to say it explicitly:
1) library=shared_library is broken and will never work again (in
fact, it is ignored by our current build files)
2) components=shared_library is a similar but different build configuration
3) the buildbot has been swapped:
http://build.chromium.org/p/chromium/builders/Linux%20Builder%20%28dbg%29%28cmp%29
The docs have been updated:
http://code.google.com/p/chromium/wiki/LinuxFasterBuilds#Shared_libraries_(components)
There's more discussion in my previous post:
http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/1270aee0f91d2aa1/83afc2c8919c7eb6
If you encounter problems, please email me or open bugs.