Skip to content

emereum/chromium

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Chromium (emereum-fixes)

Steps to clone:

  • Follow the instructions on how to get the code with these amendments:
  • If the build toolchain can't find the MacOS SDK, run python3 ./build/mac/find_sdk.py 10.6 to help find the root cause.
  • After cloning the depot_tools repository, copy fetch_configs/chromium.py to fetch_configs/chromium-emereum.py and replace the repository url with this repository url.
  • Before running gn gen out/Default read the following section:

Chromium can be built in several ways:

  • The default is a debug build. To do a release build add is_debug = false
  • The default is a static build. To do a component build add is_component_build = true
  • The default is a developer build. To do an official build, set is_official_build = true
  • The default is Chromium branding. To do Chrome branding, set is_chrome_branded = true

sources:

Based on the above you may want to set up two build directories:

Development build directory

  • Run gn gen out/Default
  • Add this to out/Default/args.gn:
target_cpu = "arm64"
host_cpu = "arm64"
enable_nacl = false

symbol_level = 0
is_debug = false
is_component_build = true

Official build directory (suitable for end users)

  • Run gen gen out/Official
  • Add this to out/Official/args.gn:
target_cpu = "arm64"
host_cpu = "arm64"
enable_nacl = false

symbol_level = 0
is_debug = false
is_component_build = false
is_official_build = true

When you first attempt an Official build it will complain about missing PGO profiles. Follow the instructions in the error message to retrieve them.

Other references for build config:

Checking out a branch similar to an official release

  • Check your release version in chrome://version (on your production Chrome install, not Chromium)
  • Use the guide here with some differences:
  • Sync this fork first
  • Since the github mirror of Chromium does not have the branch-heads branches, we need to grab the nearest commit on main. For example if your revision in chrome://version is 6668 then:
  • Navigate to https://chromium.googlesource.com/chromium/src.git/+log/refs/branch-heads/6668
  • Find the Cr-Branched-From commit in latest commit above.
  • Check out that commit
  • Run gclient sync --with_branch_heads --with_tags
  • You should now have a branch slightly behind your official Chrome release but still close to it which you can build and ship to users.
  • Spot check a submodule, e.g. pushd third_party/angle && git status to check that it's on a matching branch (something like chromium/6668 not main)
  • After building, compare chrome://version and chrome://gpu between Chrome and your Chromium build. Everything should match.
  • run gclient runhooks again to fetch PGO data

Building

autoninja -C out/Official chrome


Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.

About

The official GitHub mirror of the Chromium source

Resources

License

BSD-3-Clause, BSD-3-Clause licenses found

Licenses found

BSD-3-Clause
LICENSE
BSD-3-Clause
LICENSE.chromium_os

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 75.1%
  • Java 7.7%
  • Objective-C++ 4.3%
  • TypeScript 3.6%
  • HTML 2.9%
  • Python 2.4%
  • Other 4.0%