1# Building Dawn
2
3Dawn uses the Chromium build system and dependency management so you need to [install depot_tools] and add it to the PATH.
4
5[install depot_tools]: http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
6
7On Linux you need to have the `pkg-config` command:
8```sh
9# Install pkg-config on Ubuntu
10sudo apt-get install pkg-config
11```
12
13Then get the source as follows:
14
15```sh
16# Clone the repo as "dawn"
17git clone https://dawn.googlesource.com/dawn dawn && cd dawn
18
19# Bootstrap the gclient configuration
20cp scripts/standalone.gclient .gclient
21
22# Fetch external dependencies and toolchains with gclient
23gclient sync
24```
25
26Then generate build files using `gn args out/Debug` or `gn args out/Release`.
27A text editor will appear asking build options, the most common option is `is_debug=true/false`; otherwise `gn args out/Release --list` shows all the possible options.
28
29Then use `ninja -C out/Release` to build dawn and for example `./out/Release/dawn_end2end_tests` to run the tests.
30
31