Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # iOS Build Instructions | 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 | 9 |
| 10 * 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 |
| 11 of Xcode. | 11 of Xcode. |
| 12 * The latest version of [Xcode](https://developer.apple.com/xcode/), | 12 * The latest version of [Xcode](https://developer.apple.com/xcode/), |
| 13 including the current iOS SDK. | 13 including the current iOS SDK. |
| 14 * The current version of the JDK (required for the closure compiler). | 14 * The current version of the JDK (required for the closure compiler). |
| 15 * [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). |
| 16 | 16 |
| 17 ## Setting Up | 17 ## Setting Up |
| 18 | 18 |
| 19 ### With GYP | |
| 20 | |
| 19 In the directory where you are going to check out the code, create a | 21 In the directory where you are going to check out the code, create a |
| 20 `chromium.gyp_env` to set the build to use iOS targets (and to use | 22 `chromium.gyp_env` to set the build to use iOS targets (and to use |
| 21 hybrid builds; see [Building](#Building) below): | 23 hybrid builds; see [Building](#Building) below): |
| 22 | 24 |
| 23 ```shell | 25 ```shell |
| 24 cat > chromium.gyp_env <<EOF | 26 cat > chromium.gyp_env <<EOF |
| 25 { | 27 { |
| 26 "GYP_DEFINES": "OS=ios", | 28 "GYP_DEFINES": "OS=ios", |
| 27 "GYP_GENERATORS": "ninja,xcode-ninja", | 29 "GYP_GENERATORS": "ninja,xcode-ninja", |
| 28 } | 30 } |
| 29 EOF | 31 EOF |
| 30 ``` | 32 ``` |
| 31 | 33 |
| 32 If you aren't set up to sign iOS build products via a developer account, | 34 If you aren't set up to sign iOS build products via a developer account, |
| 33 you should instead use: | 35 you should instead use: |
| 34 | 36 |
| 35 ```shell | 37 ```shell |
| 36 cat > chromium.gyp_env <<EOF | 38 cat > chromium.gyp_env <<EOF |
| 37 { | 39 { |
| 38 "GYP_DEFINES": "OS=ios chromium_ios_signing=0", | 40 "GYP_DEFINES": "OS=ios chromium_ios_signing=0", |
| 39 "GYP_GENERATORS": "ninja,xcode-ninja", | 41 "GYP_GENERATORS": "ninja,xcode-ninja", |
| 40 } | 42 } |
| 41 EOF | 43 EOF |
| 42 ``` | 44 ``` |
| 43 | 45 |
| 46 ### With GN | |
| 47 | |
| 48 Use `gn args out/Debug-iphonesimulator` (or replace | |
| 49 `out/Debug-iphonesimulator` with your chosen `out/` directory) to open up an | |
| 50 editor to set the following gn variables and regenerate: | |
| 51 | |
| 52 ``` | |
| 53 # For the iOS simulator at out/Debug-iphonesimulator/iossim. | |
| 54 use_ios_simulator = true | |
|
sdefresne
2016/04/22 15:22:37
This is not required as the value of use_ios_simul
Patti Lor
2016/04/26 00:03:01
Done, thanks for the extra information!
| |
| 55 # Set to true for developer-signed builds. | |
| 56 ios_enable_code_signing = false | |
| 57 target_os = "ios" | |
| 58 ``` | |
| 59 | |
| 60 ### API Keys | |
| 61 | |
| 44 Before you build, you may want to | 62 Before you build, you may want to |
| 45 [install API keys](https://sites.google.com/a/chromium.org/dev/developers/how-to s/api-keys) | 63 [install API keys](https://sites.google.com/a/chromium.org/dev/developers/how-to s/api-keys) |
| 46 so that Chrome-integrated Google services work. This step is optional if you | 64 so that Chrome-integrated Google services work. This step is optional if you |
| 47 aren't testing those features. | 65 aren't testing those features. |
| 48 | 66 |
| 49 ## Getting the Code | 67 ## Getting the Code |
| 50 | 68 |
| 51 Next, [check out the | 69 Next, [check out the |
| 52 code](https://www.chromium.org/developers/how-tos/get-the-code), with: | 70 code](https://www.chromium.org/developers/how-tos/get-the-code), with: |
| 53 | 71 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 93 ``` | 111 ``` |
| 94 | 112 |
| 95 ## Converting an existing Mac checkout into an iOS checkout | 113 ## Converting an existing Mac checkout into an iOS checkout |
| 96 | 114 |
| 97 If you want to convert your Mac checkout into an iOS checkout, follow the steps | 115 If you want to convert your Mac checkout into an iOS checkout, follow the steps |
| 98 below: | 116 below: |
| 99 | 117 |
| 100 1. Add `target_os = [ "ios" ]` to the bottom of your `chromium/.gclient` | 118 1. Add `target_os = [ "ios" ]` to the bottom of your `chromium/.gclient` |
| 101 file. | 119 file. |
| 102 | 120 |
| 103 2. Make sure you have the following in your `chromium/chromium.gyp_env` | 121 2. For gyp, make sure you have the following in your |
| 104 file (removing the `chromium_ios_signing=0` if you want to make | 122 `chromium/chromium.gyp_env` file (removing the `chromium_ios_signing=0` if you |
| 105 developer-signed builds): | 123 want to make developer-signed builds): |
| 106 | 124 |
| 107 ```json | 125 ```json |
| 108 { | 126 { |
| 109 "GYP_DEFINES" : "OS=ios chromium_ios_signing=0", | 127 "GYP_DEFINES" : "OS=ios chromium_ios_signing=0", |
| 110 "GYP_GENERATORS" : "ninja,xcode-ninja", | 128 "GYP_GENERATORS" : "ninja,xcode-ninja", |
| 111 } | 129 } |
| 112 ``` | 130 ``` |
| 113 | 131 |
| 132 For gn, add the arguments specified [above](#With-GN) to your gn setup. | |
| 133 | |
| 114 3. Make sure to sync again to fetch the iOS specific dependencies and | 134 3. Make sure to sync again to fetch the iOS specific dependencies and |
| 115 regenerate build rules using: | 135 regenerate build rules using: |
| 116 | 136 |
| 117 ```shell | 137 ```shell |
| 118 gclient sync | 138 gclient sync |
| 119 ``` | 139 ``` |
| 120 | 140 |
| 121 ## Troubleshooting | 141 ## Troubleshooting |
| 122 | 142 |
| 123 If your build fails, check the iOS columns of [the Mac | 143 If your build fails, check the iOS columns of [the Mac |
| 124 waterfall](http://build.chromium.org/p/chromium.mac/console) (the last two) to | 144 waterfall](http://build.chromium.org/p/chromium.mac/console) (the last two) to |
| 125 see if the bots are green. In general they should be, since failures on those | 145 see if the bots are green. In general they should be, since failures on those |
| 126 bots will close the tree. | 146 bots will close the tree. |
| OLD | NEW |