
IMPORTANT: This toolchain is NOT meant to build any Chromium code, and any users that may want to use the toolchain should check with build/OWNERS before doing so. These changes, along with the changes in: https://dawn-review.googlesource.com/c/dawn/+/227136 allow for Dawn to build some of it's samples to target WASM from GN. Note that Dawn will only be using this toolchain to build samples and tests, and is necessary because Dawn is maintaining a version of the WebGPU Emscripten bindings which need to be tested. By enabling a WASM toolchain in GN, this will allow Dawn to run tests on CQ in the future. Some notable issues with using the emsdk package out of the box include using a different copy of llvm than Chromium, using a different copy of libc++ that is specific to Emscripten, and use of some other binaries shipped with each version of Emscripten, namely Binaryen, node, and in some instances Python. In prototypes, we were able to use the llvm and node shipped with / available to Chromium, but some of the other dependencies would require further investigation. 'Build' changes: - Adds the necessary configs to build WASM targets when emsdk is an available dependecy. - Add flags and removes support for unsupported platforms. - Unsupport caspian_web target by default for now. 'Partition Allocator' changes: - Since partition_allocator is a Dawn DEP, we need to update the respective .gni files and a add an ifdef handler in the threading code to build Dawn samples in the CL above. Change-Id: I15dd925bc2656006c65c3bec8241d19f3cc22ef0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6282629 Reviewed-by: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Loko Kung <lokokung@google.com> Cr-Commit-Position: refs/heads/main@{#1434377}
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.