Skip to content

Add --fast-build flag to automate.py tool to speed up build times #470

Open
@cztomczak

Description

@cztomczak

That flag should do the following:

  • disable compile and link optimizations by setting is_official_build=false
  • maybe disable nacl to speed up build further by setting enable_nacl=false
  • maybe set other flags like is_debug=false (no, see below), symbol_level=0 and remove_webcore_debug_symbols=true

This chromium page explains common GN args:
https://www.chromium.org/developers/gn-build-configuration

CEF default args:
https://github.com/chromiumembedded/cef/blob/master/tools/gn_args.py

In Chromium:

  • Turning off symbols with symbol_level=0 will make builds faster, however debugging is not possible then
  • Turning off native client with enable_nacl = false will make build faster. CEF sets this to false by default.
  • Removing webcore symbols with remove_webcore_debug_symbols=true will make build faster on Linux and Mac. Do not set it to true on Windows, as it will make builds slower.
  • By default is_component_build=true is set which makes debug builds faster. It requires is_debug=True and in CEF requires is_official_build=false to have these faster builds thanks to component build. However CEF sets is_component_build=false by default, because it is required to create CEF binary distribution.

In CEF:

  • CEF by default sets is_debug=true unless it detects is_official_build=true and in such case it sets is_debug=false.
  • With is_official_build=true CEF will set dcheck_always_on=true and thus CEF's "official Debug" build is a Release build with dchecks and symbols.

A recent commit aec9f62 increased the default ninja jobs and it should speed up builds significantly as well.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions