How do you build Chrome
Chromium is a free open source software project started by Google to develop the browser Google Chrome. It is distributed and open source under BSD license and other licenses. Chromium shares most of the code and features with Google Chrome, but there are some subtle differences between features and logos.
Google uses this code to make its Chrome browser, which has more features than Chromium. Many other browsers are based on Chromium code, such as Microsoft Edge, Opera and Amazon Silk. Chromium updates are fast, with new development releases every few hours. [8] Chromium is an early version of Google Chrome, since new features are tested on Chromium before being approved.
Chromium’s user interface is minimal. Google wants to make the browser “feel light and fast, both cognitively and physically”. (English: Feel (cognitively and physically) and fast.) [9]
The official documentation
Need over the wall: * * * * chromium.googlesource.com/chromium/sr…
** No need to climb the wall: **github.com/chromium/ch…
The deployment environment
python
The chromiun source code is also available for download.
depot_tools
Download depot_tools and set it according to the official documentation.
windows
Visual Studio is set according to the official documentation
The Windows 10 SDK is set according to the documents on the official website
Get the code
Obtain the document from the official website.
Configuration and Compilation
Chromium uses Ninja as the primary build tool and GN to generate.ninja files.
For details about the build parameters, see GN Build Configuration (Scaling Required). By default, the debugging component matches the current host OS and CPU.
For more information about GN, run GN Help on the command line or read the Quick Start Guide.
Compile-time setting parameters
Target_os =”win” : The build system is Win, Android, Linux, ChromeOS, etc
Target_cpu = “x86” : x86 builds are a little faster than X64 builds and support incremental linking to achieve more goals. Note that build times can be worse if you set this setting but don’t set ENABle_nacl = false.
Is_debug =false: Indicates that a Release version executable is being generated.
Is_component_build = true: This will use more, smaller DLLS and incremental links, and cannot be true at the same time as is_Official_build.
Is_official_build =true: specifies the use of Chrome’s official compilation optimization recommendations.
Google_api_key =false: Google API
Google_default_client_id =flase: Google Client
Google_default_client_secret =false: Google Clinet_secret
Proprietary_codecs: specifies that the proprietary_CODECs support H264 encoding, and when compiled, automatically H264 related components, packaged into a PE file.
Enable_nacl =false: disables support for NACL. This is a Chrome plugin that is rarely used due to security and stability problems.
Remove_webcore_debug_symbols =true: indicates the removal of symbol files supported by debugging in the kernel layer. This will help reduce the size of files and increase the speed of running.
Blink_symbol_level = 0: Turn off source-level debugging to reduce flicker to reduce build time, if you do not intend to debug flicker.