Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Side by Side Diff: site/user/quick/gn.md

Issue 2289883002: Add docs for GN/Android (Closed)
Patch Set: rest Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 GN 1 GN
2 ===== 2 =====
3 3
4 [GN](https://chromium.googlesource.com/chromium/src/tools/gn/) 4 [GN](https://chromium.googlesource.com/chromium/src/tools/gn/)
5 is a new meta-build system originally designed to replace GYP in Chromium. 5 is a new meta-build system originally designed to replace GYP in Chromium.
6 6
7 You can build Skia using GN in a limited number of configurations. We expect 7 You can build Skia using GN in a limited number of configurations. We expect
8 that as that limited number rises, GN will become the preferred, and then only, 8 that as that limited number rises, GN will become the preferred, and then only,
9 way to build Skia. 9 way to build Skia.
10 10
11 Supported Features 11 Supported Features
12 ---------- 12 ----------
13 13
14 * Linux, Mac 14 * Linux, Mac, Android
15 * Software and GL rendering 15 * Software and GL rendering
16 * libskia.a, libskia.so 16 * libskia.a, libskia.so
17 * DM, nanobench 17 * DM, nanobench
18 18
19 Quickstart 19 Quickstart
20 ---------- 20 ----------
21 21
22 Please check out Skia using the instructions in one of the other quick start 22 Please check out Skia using the instructions in one of the other quick start
23 guides. We diverge where they'd first run some command with "gyp" in it. 23 guides. We diverge where they'd first run some command with "gyp" in it.
24 24
25 <!--?prettify lang=sh?--> 25 <!--?prettify lang=sh?-->
26 26
27 # After gclient sync, run fetch-gn to make sure you have GN. 27 # After gclient sync, run fetch-gn to make sure you have GN.
28 gclient sync && bin/fetch-gn 28 gclient sync && bin/fetch-gn
29 29
30 # Run GN to generate your build files. Some examples. 30 # Run GN to generate your build files. Some examples.
31 gn gen out/Debug 31 gn gen out/Debug
32 gn gen out/Release --args=is_debug=false 32 gn gen out/Release --args='is_debug=false'
33 gn gen out/Clang --args='cc="clang" cxx="clang++"' 33 gn gen out/Clang --args='cc="clang" cxx="clang++"'
34 gn gen out/Shared --args=is_component_build=true 34 gn gen out/Shared --args='is_component_build=true'
35 gn gen out/Cached --args='compiler_prefix="ccache"'
36 gn gen out/Stripped --args='extra_cflags="-g0"'
37 gn gen out/RTTI --args='extra_cflags_cc="-frtti"'
35 38
36 # Build 39 # Build
40 ninja -C out/Debug
37 ninja -C out/Release 41 ninja -C out/Release
38 ninja -C out/Debug
39 ninja -C out/Clang 42 ninja -C out/Clang
40 ninja -C out/Shared 43 ninja -C out/Shared
44 ninja -C out/Cached
45 ninja -C out/Stripped
46 ninja -C out/RTTI
41 47
42 From here everything is pretty much business as usual. 48 From here everything is pretty much business as usual.
49
50 Android
51 -------
52
53 To build Skia for Android you need an [Android
54 NDK](https://developer.android.com/ndk/index.html).
55
56 If you do not have an NDK and have access to CIPD, you
57 can use one of these commands to fetch the NDK our bots use:
58
59 <!--?prettify lang=sh?-->
60
61 python infra/bots/assets/android_ndk_linux/download.py -t /tmp/ndk
62 python infra/bots/assets/android_ndk_darwin/download.py -t /tmp/ndk
63
64 When generating your GN build files, pass the path to your `ndk` and your
65 desired `target_cpu`:
66
67 <!--?prettify lang=sh?-->
68
69 gn gen out/arm --args='ndk="/tmp/ndk" target_cpu="arm"'
70 gn gen out/arm64 --args='ndk="/tmp/ndk" target_cpu="arm64"'
71 gn gen out/mips64el --args='ndk="/tmp/ndk" target_cpu="mips64el"'
72 gn gen out/mipsel --args='ndk="/tmp/ndk" target_cpu="mipsel"'
73 gn gen out/x64 --args='ndk="/tmp/ndk" target_cpu="x64"'
74 gn gen out/x86 --args='ndk="/tmp/ndk" target_cpu="x86"'
75
76 Other arguments like `is_debug` and `is_component_build` continue to work.
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698