Commit 122919bd by Jamie Madill

Update docs on building ANGLE inside Chromium.

Bug: angleproject:1944 Change-Id: If05cdf39bd4f88995ed9ea97a13bca661f826884 Reviewed-on: https://chromium-review.googlesource.com/1211782Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>
parent 115e8a26
...@@ -4,63 +4,46 @@ ...@@ -4,63 +4,46 @@
On Windows, Linux, and Mac ANGLE now builds most core components cross platform, including the shader validator and translator as well as the graphics API translator. These parts can be built and tested inside a Chromium checkout. On Windows, Linux, and Mac ANGLE now builds most core components cross platform, including the shader validator and translator as well as the graphics API translator. These parts can be built and tested inside a Chromium checkout.
Steps: ANGLE also includes some sample applications and a few other targets that don't build on Chromium. These steps describe how to build such targets within a Chromium checkout.
* Checkout and build [Chromium](http://dev.chromium.org/Home). Prerequisite Steps:
* You should now be able to use `ninja -C out/Debug angle_end2end_tests`, for example.
## Building Standalone ANGLE inside Chromium
On Mac, ANGLE doesn't yet include the dEQP tests or the API translation libraries as part of Chromium. ANGLE also includes some sample applications and a few other targets that don't build on Chromium. These steps describe how to build such targets within a Chromium checkout.
Steps:
* Checkout and build [Chromium](http://dev.chromium.org/Home). * Checkout and build [Chromium](http://dev.chromium.org/Home).
* To setup run these commands (note similarity to [DevSetup](DevSetup.md)): * To setup run these commands (note similarity to [DevSetup](DevSetup.md)):
## Standalone ANGLE inside Chromium
* To sync all standalone dependencies run:
```bash ```bash
cd src/third_party/angle cd src/third_party/angle
gclient config --name . --unmanaged https://chromium.googlesource.com/angle/angle.git python scripts/bootstrap.py
gclient sync gclient sync
git checkout master
``` ```
* To make the build files run these commands * To generate ANGLE standalone build files run:
```bash ```bash
cd src/third_party/angle cd src/third_party/angle
gn gen out/Debug gn gen out/Debug
``` ```
* To build * To build:
```bash ```bash
cd src/third_party/angle cd src/third_party/angle
ninja -j 10 -k1 -C out/Debug ninja -j 10 -k1 -C out/Debug
``` ```
* To build a specific target add the target at the end: * For example, `ninja -j 10 -k1 -C out/Debug angle_gles2_deqp_tests`
* To run a sample application: `./out/Debug/hello_triangle`
```bash * To go back to the Chromium-managed version, remove `third_party/angle/.gclient`.
cd src/third_party/angle
ninja -j 10 -k1 -C out/Debug angle_gles2_deqp_tests
```
* To run
```bash
cd src/third_party/angle
./out/Debug/hello_triangle
```
If you decide to go back to the Chromium-managed version, just remove the `.gclient` file.
## Working with Top of Tree ANGLE in Chromium ## Working with ANGLE in Chromium
If you're actively developing within ANGLE in your Chromium workspace you will want to work with top of tree ANGLE. To do this do the following: You will also want to work with a local version of ANGLE instead of the version that is pulled in by Chromium's [DEPS](https://chromium.googlesource.com/chromium/src/+/master/DEPS) file. To do this do the following:
* Ignore ANGLE in your `.gclient` * cd to `chromium/`. One directory above `chromium/src`. Add this to `chromium/.gclient`:
```python ```python
solutions = [ solutions = [
...@@ -74,10 +57,10 @@ solutions = [ ...@@ -74,10 +57,10 @@ solutions = [
] ]
``` ```
You then have full control over your ANGLE workspace and are responsible for running all git commands (pull, rebase, etc.) for managing your branches. You will have full control over your ANGLE workspace and are responsible for running all git commands (pull, rebase, etc.) for managing your branches.
If you decide you need to go back to the DEPS version of ANGLE: If you decide you need to go back to the DEPS version of ANGLE:
* Comment out the `src/third_party/angle` line in your `custom_deps`. * Comment out or remove the `src/third_party/angle` line in your `custom_deps` in `chomium/.gclient`.
* Go into your ANGLE workspace and switch back to the master branch (ensure there are no modified or new files). * Se the ANGLE workspace to the version specified in Chromium's DEPS. Ensure there are no modified or new files.
* `gclient sync` your Chromium workspace. * `gclient sync` your Chromium workspace.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment