Update component build documentation.
This build was recently made the default, and more documentation was added. This brings everything in sync. Review-Url: https://codereview.chromium.org/2210813002 Cr-Commit-Position: refs/heads/master@{#409863}
This commit is contained in:
@ -144,6 +144,9 @@ declare_args() {
|
||||
# Component build. Setting to true compiles targets declared as "components"
|
||||
# as shared libraries loaded dynamically. This speeds up development time.
|
||||
# When false, components will be linked statically.
|
||||
#
|
||||
# For more information see
|
||||
# https://chromium.googlesource.com/chromium/src/+/master/docs/component_build.md
|
||||
is_component_build = is_debug && current_os != "ios"
|
||||
}
|
||||
|
||||
|
@ -5,17 +5,21 @@
|
||||
Release builds are “static” builds which compile to one executable and
|
||||
zero-to-two shared libraries (depending on the platform). This is efficient at
|
||||
runtime, but can take a long time to link because so much code goes into a
|
||||
single binary. When you set the GN build variable
|
||||
single binary.
|
||||
|
||||
In a component build, many smaller shared libraries will be generated. This
|
||||
speeds up link times, and means that many changes only require that the local
|
||||
shared library be linked rather than the full executable, but at the expense of
|
||||
program load-time performance.
|
||||
|
||||
The component build is currently the default for debug non-iOS builds (it
|
||||
doesn’t work for iOS). You can force it on for release builds using the
|
||||
[GN build arg](https://www.chromium.org/developers/gn-build-configuration):
|
||||
|
||||
```python
|
||||
is_component_build = true
|
||||
```
|
||||
|
||||
the build will generate many smaller shared libraries. This speeds up link
|
||||
times, and means that many changes only require that the local shared library
|
||||
be linked rather than the full executable, but at the expense of program
|
||||
load-time performance.
|
||||
|
||||
### How to make a component
|
||||
|
||||
Defining a component just means using the GN “component” template instead
|
||||
|
Reference in New Issue
Block a user