зеркало из https://github.com/AvaloniaUI/angle.git
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:
Родитель
115e8a2625
Коммит
122919bddd
|
@ -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.
|
||||
|
|
Загрузка…
Ссылка в новой задаче