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

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

Issue 2342333002: Update GN docs to mention is_official_build and ndk_api. (Closed)
Patch Set: 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, Android 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.
31 gn gen out/Static --args='is_official_build=true'
32 gn gen out/Shared --args='is_official_build=true is_component_build=true'
33
34 # GN allows fine-grained settings for developers and special situations.
31 gn gen out/Debug 35 gn gen out/Debug
32 gn gen out/Release --args='is_debug=false' 36 gn gen out/Release --args='is_debug=false'
33 gn gen out/Clang --args='cc="clang" cxx="clang++"' 37 gn gen out/Clang --args='cc="clang" cxx="clang++"'
34 gn gen out/Shared --args='is_component_build=true'
35 gn gen out/Cached --args='compiler_prefix="ccache"' 38 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"' 39 gn gen out/RTTI --args='extra_cflags_cc="-frtti"'
38 40
41 # To see all the current GN arguments, run
42 gn args out/Debug --list
43
39 # Build 44 # Build
45 ninja -C out/Static
46 ninja -C out/Shared
40 ninja -C out/Debug 47 ninja -C out/Debug
41 ninja -C out/Release 48 ninja -C out/Release
42 ninja -C out/Clang 49 ninja -C out/Clang
43 ninja -C out/Shared
44 ninja -C out/Cached 50 ninja -C out/Cached
45 ninja -C out/Stripped
46 ninja -C out/RTTI 51 ninja -C out/RTTI
47 52
48 From here everything is pretty much business as usual. 53 From here everything is pretty much business as usual.
49 54
50 Android 55 Android
51 ------- 56 -------
52 57
53 To build Skia for Android you need an [Android 58 To build Skia for Android you need an [Android
54 NDK](https://developer.android.com/ndk/index.html). 59 NDK](https://developer.android.com/ndk/index.html).
55 60
(...skipping 11 matching lines...) Expand all
67 <!--?prettify lang=sh?--> 72 <!--?prettify lang=sh?-->
68 73
69 gn gen out/arm --args='ndk="/tmp/ndk" target_cpu="arm"' 74 gn gen out/arm --args='ndk="/tmp/ndk" target_cpu="arm"'
70 gn gen out/arm64 --args='ndk="/tmp/ndk" target_cpu="arm64"' 75 gn gen out/arm64 --args='ndk="/tmp/ndk" target_cpu="arm64"'
71 gn gen out/mips64el --args='ndk="/tmp/ndk" target_cpu="mips64el"' 76 gn gen out/mips64el --args='ndk="/tmp/ndk" target_cpu="mips64el"'
72 gn gen out/mipsel --args='ndk="/tmp/ndk" target_cpu="mipsel"' 77 gn gen out/mipsel --args='ndk="/tmp/ndk" target_cpu="mipsel"'
73 gn gen out/x64 --args='ndk="/tmp/ndk" target_cpu="x64"' 78 gn gen out/x64 --args='ndk="/tmp/ndk" target_cpu="x64"'
74 gn gen out/x86 --args='ndk="/tmp/ndk" target_cpu="x86"' 79 gn gen out/x86 --args='ndk="/tmp/ndk" target_cpu="x86"'
75 80
76 Other arguments like `is_debug` and `is_component_build` continue to work. 81 Other arguments like `is_debug` and `is_component_build` continue to work.
82 Tweaking `ndk_api` gives you access to newer Android features like Vulkan.
77 83
78 To test on a locally connected Android device, you can use our `droid` convenien ce script: 84 To test on a locally connected Android device, you can use our `droid` convenien ce script:
79 85
80 <!--?prettify lang=sh?--> 86 <!--?prettify lang=sh?-->
81 87
82 ninja -C out/arm64 88 ninja -C out/arm64
83 bin/droid out/arm64/dm --src gm --config gpu 89 bin/droid out/arm64/dm --src gm --config gpu
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