PSA - is_component_build is no more for is_android

74 views
Skip to first unread message

Andrew Grieve

unread,
Jun 22, 2026, 11:45:06 AM (2 days ago) Jun 22
to chromium-dev, build
On Friday, I switched the default for is_component_build to false for android (it used to be true when is_debug=true). While I'm not deleting the GN arg, this means no bots will use this configuration, so I expect its functionality to break soon.

This change was made possible by a series of optimizations to Android link speeds (mainly, use_debug_fission=true, and use_mold=true). And motivated by findings that:
1) Component builds were causing .apk size to ~double, leading to slow installs
2) A conviction that the problems with component builds cannot be fixed
3) A centi-thread of reasons why component builds complicate things.

I also expect that component-build-specific issues in cross-platform code will not be caught until non-android bots find them on CQ. However, I think the pain of this is far less than the pain of supporting component builds, and I hope that we can make progress on deprecating is_component_build for other platforms as well.

Please do share if you notice any related breakages or if I've missed a reason why Android needs component builds. 

Yngve N. Pettersen

unread,
Jun 22, 2026, 1:16:02 PM (2 days ago) Jun 22
to agr...@chromium.org, chromium-dev, build
Hi,

We always build with component build locally for developers for all platforms (that is configured in our dot-gn file), while auto-builders build non-component builds, and the builders have a GN profile that forces static linking (and they only build release builds, not debug).

The reason for that is that local linking using component builds is far quicker than static linking.


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CABiQX1VZSWRJFXJ4pNPrk1i6A1Jy-OveZkF6zxyW6Bj5vfCaGQ%40mail.gmail.com.

-- 
Sincerely,
Yngve N. Pettersen
Vivaldi Technologies AS

Andrew Grieve

unread,
Jun 22, 2026, 1:39:41 PM (2 days ago) Jun 22
to Yngve N. Pettersen, agr...@chromium.org, chromium-dev, build
On Mon, Jun 22, 2026 at 1:12 PM Yngve N. Pettersen <yn...@vivaldi.com> wrote:
Hi,

We always build with component build locally for developers for all platforms (that is configured in our dot-gn file), while auto-builders build non-component builds, and the builders have a GN profile that forces static linking (and they only build release builds, not debug).

The reason for that is that local linking using component builds is far quicker than static linking.
Have you tested this with use_mold=true (now default)? I'm curious what the link time difference is you're seeing.

Yngve N. Pettersen

unread,
Jun 22, 2026, 1:51:32 PM (2 days ago) Jun 22
to Andrew Grieve, agr...@chromium.org, chromium-dev, build


On Monday, 22 June, 2026 19:36:51 (+02:00), Andrew Grieve wrote:



On Mon, Jun 22, 2026 at 1:12 PM Yngve N. Pettersen <yn...@vivaldi.com> wrote:
Hi,

We always build with component build locally for developers for all platforms (that is configured in our dot-gn file), while auto-builders build non-component builds, and the builders have a GN profile that forces static linking (and they only build release builds, not debug).

The reason for that is that local linking using component builds is far quicker than static linking.
Have you tested this with use_mold=true (now default)? I'm curious what the link time difference is you're seeing.

Haven't tested the options in v150, at least, so I don't know.

Given that dot-gn in any case cannot use is_android or other is_foo variables in the logic, just literal true/false values, changing it for Android would require moving the logic for this GN variable into you settings override GN file.

K. Moon

unread,
Jun 22, 2026, 4:03:59 PM (2 days ago) Jun 22
to yn...@vivaldi.com, Andrew Grieve, chromium-dev, build
FWIW, I'm excited to see this moving forward, even if it's just for Android right now.

Reply all
Reply to author
Forward
0 new messages