Update docs on building ANGLE inside Chromium.

Bug: angleproject:1944
Change-Id: If05cdf39bd4f88995ed9ea97a13bca661f826884
Reviewed-on: https://chromium-review.googlesource.com/1211782
Reviewed-by: Tobin Ehlis <tobine@google.com>
This commit is contained in:
Jamie Madill 2018-09-06 15:52:59 -04:00
Родитель 115e8a2625
Коммит 122919bddd
1 изменённых файлов: 18 добавлений и 35 удалений

Просмотреть файл

@ -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.
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).
* 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:
Prerequisite Steps:
* Checkout and build [Chromium](http://dev.chromium.org/Home).
* To setup run these commands (note similarity to [DevSetup](DevSetup.md)):
## Standalone ANGLE inside Chromium
* To sync all standalone dependencies run:
```bash
cd src/third_party/angle
gclient config --name . --unmanaged https://chromium.googlesource.com/angle/angle.git
python scripts/bootstrap.py
gclient sync
git checkout master
```
* To make the build files run these commands
* To generate ANGLE standalone build files run:
```bash
cd src/third_party/angle
gn gen out/Debug
```
* To build
* To build:
```bash
cd src/third_party/angle
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`
* To go back to the Chromium-managed version, remove `third_party/angle/.gclient`.
```bash
cd src/third_party/angle
ninja -j 10 -k1 -C out/Debug angle_gles2_deqp_tests
```
## Working with ANGLE in Chromium
* To run
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:
```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
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:
* Ignore ANGLE in your `.gclient`
* cd to `chromium/`. One directory above `chromium/src`. Add this to `chromium/.gclient`:
```python
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:
* Comment out the `src/third_party/angle` line in your `custom_deps`.
* Go into your ANGLE workspace and switch back to the master branch (ensure there are no modified or new files).
* Comment out or remove the `src/third_party/angle` line in your `custom_deps` in `chomium/.gclient`.
* 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.