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

Side by Side Diff: docs/ios_build_instructions.md

Issue 1755133002: docs: enlarge the title used by the ios-build-instructions page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: headings - https://github.com/google/styleguide/blob/gh-pages/docguide/style.md#atx-style-headings Created 4 years, 9 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 ### Build Instructions (iOS) 1 # iOS Build Instructions
2 2
3 **Note:** Upstreaming of iOS code is still a work in progress. In particular, 3 **Note:** Upstreaming of iOS code is still a work in progress. In particular,
4 note that **it is not currently possible to build an actual Chromium app.** 4 note that **it is not currently possible to build an actual Chromium app.**
5 Currently, the buildable binaries are ios\_web\_shell (a minimal wrapper around 5 Currently, the buildable binaries are ios\_web\_shell (a minimal wrapper around
6 the web layer), and various unit tests. 6 the web layer), and various unit tests.
7 7
8 Prerequisites 8 ## Prerequisites
9 -------------
10 9
11 - A Mac with a version of OS X capable of running the latest version 10 - A Mac with a version of OS X capable of running the latest version
12 of Xcode. 11 of Xcode.
13 - The latest version of [Xcode](https://developer.apple.com/xcode/), 12 - The latest version of [Xcode](https://developer.apple.com/xcode/),
14 including the current iOS SDK. 13 including the current iOS SDK.
15 - The current version of the JDK (required for the closure compiler). 14 - The current version of the JDK (required for the closure compiler).
16 - [depot\_tools](http://dev.chromium.org/developers/how-tos/install-depot-tool s). 15 - [depot\_tools](http://dev.chromium.org/developers/how-tos/install-depot-tool s).
17 16
18 Setting Up 17 ## Setting Up
19 ----------
20 18
21 In the directory where you are going to check out the code, create a 19 In the directory where you are going to check out the code, create a
22 `chromium.gyp_env` to set the build to use iOS targets (and to use 20 `chromium.gyp_env` to set the build to use iOS targets (and to use
23 hybrid builds; see [Building](#Building) below): 21 hybrid builds; see [Building](#Building) below):
24 22
25 ```shell 23 ```shell
26 cat > chromium.gyp_env <<EOF 24 cat > chromium.gyp_env <<EOF
27 { 25 {
28 "GYP_DEFINES": "OS=ios", 26 "GYP_DEFINES": "OS=ios",
29 "GYP_GENERATORS": "ninja,xcode-ninja", 27 "GYP_GENERATORS": "ninja,xcode-ninja",
30 } 28 }
31 EOF 29 EOF
32 ``` 30 ```
33 31
34 If you aren't set up to sign iOS build products via a developer account, 32 If you aren't set up to sign iOS build products via a developer account,
35 you should instead use: 33 you should instead use:
36 34
37 ```shell 35 ```shell
38 cat > chromium.gyp_env <<EOF 36 cat > chromium.gyp_env <<EOF
39 { 37 {
40 "GYP_DEFINES": "OS=ios chromium_ios_signing=0", 38 "GYP_DEFINES": "OS=ios chromium_ios_signing=0",
41 "GYP_GENERATORS": "ninja,xcode-ninja", 39 "GYP_GENERATORS": "ninja,xcode-ninja",
42 } 40 }
43 EOF 41 EOF
44 ``` 42 ```
45 43
46 Also, you should [install API 44 Also, you should [install API
47 keys](https://www.chromium.org/developers/how-tos/api-keys). 45 keys](https://www.chromium.org/developers/how-tos/api-keys).
48 46
49 Getting the Code 47 ## Getting the Code
50 ----------------
51 48
52 Next, [check out the 49 Next, [check out the
53 code](https://www.chromium.org/developers/how-tos/get-the-code), with: 50 code](https://www.chromium.org/developers/how-tos/get-the-code), with:
54 51
55 ```shell 52 ```shell
56 fetch ios 53 fetch ios
57 ``` 54 ```
58 55
59 Building 56 ## Building
60 --------
61 57
62 Build the target you are interested in. The instructions above select 58 Build the target you are interested in. The instructions above select
63 the ninja/Xcode hybrid mode, which uses ninja to do the actual build, 59 the ninja/Xcode hybrid mode, which uses ninja to do the actual build,
64 but provides a wrapper Xcode project that can be used to build targets 60 but provides a wrapper Xcode project that can be used to build targets
65 and navigate the source. (The Xcode project just shells out to ninja to 61 and navigate the source. (The Xcode project just shells out to ninja to
66 do the builds, so you can't actually inspect/change target-level 62 do the builds, so you can't actually inspect/change target-level
67 settings from within Xcode; this mode avoids generating a large tree of 63 settings from within Xcode; this mode avoids generating a large tree of
68 Xcode projects, which leads to performance issues in Xcode). To build 64 Xcode projects, which leads to performance issues in Xcode). To build
69 with ninja (simulator and device, respectively): 65 with ninja (simulator and device, respectively):
70 66
71 ```shell 67 ```shell
72 ninja -C out/Debug-iphonesimulator All 68 ninja -C out/Debug-iphonesimulator All
73 ninja -C out/Debug-iphoneos All 69 ninja -C out/Debug-iphoneos All
74 ``` 70 ```
75 71
76 To build with Xcode, open `build/all.ninja.xcworkspace`, and choose the 72 To build with Xcode, open `build/all.ninja.xcworkspace`, and choose the
77 target you want to build. 73 target you want to build.
78 74
79 You should always be able to build All, since targets are added there for iOS 75 You should always be able to build All, since targets are added there for iOS
80 only when they compile. 76 only when they compile.
81 77
82 Running 78 ## Running
83 -------
84 79
85 Any target that is built and runs on the bots (see [below](#Troubleshooting)) 80 Any target that is built and runs on the bots (see [below](#Troubleshooting))
86 should run successfully in a local build. As of the time of writing, this is 81 should run successfully in a local build. As of the time of writing, this is
87 only ios\_web\_shell and unit test targets—see the note at the top of this 82 only ios\_web\_shell and unit test targets—see the note at the top of this
88 page. Check the bots periodically for updates; more targets (new components) 83 page. Check the bots periodically for updates; more targets (new components)
89 will come on line over time. 84 will come on line over time.
90 85
91 To run in the simulator from the command line, you can use `iossim`. For 86 To run in the simulator from the command line, you can use `iossim`. For
92 example, to run a debug build of ios\_web\_shell: 87 example, to run a debug build of ios\_web\_shell:
93 88
94 ```shell 89 ```shell
95 out/Debug-iphonesimulator/iossim out/Debug-iphonesimulator/ios_web_shell.app 90 out/Debug-iphonesimulator/iossim out/Debug-iphonesimulator/ios_web_shell.app
96 ``` 91 ```
97 92
98 Converting an existing Mac checkout into an iOS checkout 93 ## Converting an existing Mac checkout into an iOS checkout
99 --------------------------------------------------------
100 94
101 If you want to convert your Mac checkout into an iOS checkout, you can 95 If you want to convert your Mac checkout into an iOS checkout, you can
102 follow those steps: 96 follow those steps:
103 97
104 1. Add `target_os = [ "ios" ]` to the bottom of your `chromium/.gclient` 98 1. Add `target_os = [ "ios" ]` to the bottom of your `chromium/.gclient`
105 file. 99 file.
106 100
107 2. Make sure you have the following in your `chromium/chromium.gyp_env` 101 2. Make sure you have the following in your `chromium/chromium.gyp_env`
108 file (removing the `chromium_ios_signing=0` if you want to make 102 file (removing the `chromium_ios_signing=0` if you want to make
109 developer-signed builds): 103 developer-signed builds):
110 104
111 ```json 105 ```json
112 { 106 {
113 "GYP_DEFINES" : "OS=ios chromium_ios_signing=0", 107 "GYP_DEFINES" : "OS=ios chromium_ios_signing=0",
114 "GYP_GENERATORS" : "ninja,xcode-ninja", 108 "GYP_GENERATORS" : "ninja,xcode-ninja",
115 } 109 }
116 ``` 110 ```
117 111
118 Then make sure you sync again to get all the new files like the following. At 112 Then make sure you sync again to get all the new files like the following. At
119 the end it will run `build/gyp_chromium` which will regenerate all the build 113 the end it will run `build/gyp_chromium` which will regenerate all the build
120 files according to the new settings. 114 files according to the new settings.
121 115
122 ```shell 116 ```shell
123 gclient sync 117 gclient sync
124 ``` 118 ```
125 119
126 Troubleshooting 120 ## Troubleshooting
127 ---------------
128 121
129 If your build fails, check the iOS columns of [the Mac 122 If your build fails, check the iOS columns of [the Mac
130 waterfall](http://build.chromium.org/p/chromium.mac/console) (the last 123 waterfall](http://build.chromium.org/p/chromium.mac/console) (the last
131 two) to see if the bots are green. In general they should be, since 124 two) to see if the bots are green. In general they should be, since
132 failures on those bots will close the tree. 125 failures on those bots will close the tree.
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