Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # PDFium | 1 # PDFium |
| 2 | 2 |
| 3 ## News | |
| 4 | |
| 5 As of 2016-02-04, the XFA branch is deprecated. Instead, see the section on | |
| 6 configuration below. | |
| 7 | |
| 3 ## Prerequisites | 8 ## Prerequisites |
| 4 | 9 |
| 5 Get the chromium depot tools via the instructions at | 10 Get the chromium depot tools via the instructions at |
| 6 http://www.chromium.org/developers/how-tos/install-depot-tools (this provides | 11 http://www.chromium.org/developers/how-tos/install-depot-tools (this provides |
| 7 the gclient utilty needed below). | 12 the gclient utilty needed below). |
| 8 | 13 |
| 9 Also install Python, Subversion, and Git and make sure they're in your path. | 14 Also install Python, Subversion, and Git and make sure they're in your path. |
| 10 | 15 |
| 11 ## Get the code | 16 ## Get the code |
| 12 | 17 |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 34 (http://build.chromium.org/p/client.pdfium/). | 39 (http://build.chromium.org/p/client.pdfium/). |
| 35 | 40 |
| 36 * On Windows: `build\gyp_pdfium` | 41 * On Windows: `build\gyp_pdfium` |
| 37 * For all other platforms: `build/gyp_pdfium` | 42 * For all other platforms: `build/gyp_pdfium` |
| 38 | 43 |
| 39 The second option is to generate platform-specific build files, i.e. Makefiles | 44 The second option is to generate platform-specific build files, i.e. Makefiles |
| 40 on Linux, sln files on Windows, and xcodeproj files on Mac. To do so, set the | 45 on Linux, sln files on Windows, and xcodeproj files on Mac. To do so, set the |
| 41 GYP\_GENERATORS environment variable appropriately (e.g. "make", "msvs", or | 46 GYP\_GENERATORS environment variable appropriately (e.g. "make", "msvs", or |
| 42 "xcode") before running the above command. | 47 "xcode") before running the above command. |
| 43 | 48 |
| 49 ### Selecting build configuration | |
| 50 | |
| 51 PDFium may be built either with or without JavaScript support, and with | |
| 52 or without XFA forms support. By default, both of these are present in | |
|
Lei Zhang
2016/02/04 23:32:10
"Both of these features are enabled by default." ?
Tom Sepez
2016/02/04 23:41:43
Done.
| |
| 53 your build. Also note that if you wish to exclude JavaScript, then XFA | |
|
Lei Zhang
2016/02/04 23:32:10
Also note that the XFA feature requires JavaScript
Tom Sepez
2016/02/04 23:41:43
Done.
| |
| 54 must also be excluded. | |
| 55 | |
| 56 To build without XFA, set `pdf_enable_xfa=0` before running `gyp_pdfium`. | |
| 57 To build without JavaScript set `pdf_enable_v8=0 pdf_enable_xfa=0` before | |
|
Lei Zhang
2016/02/04 23:32:10
add a comma after "without JavaScript"
Tom Sepez
2016/02/04 23:41:43
Done.
| |
| 58 running `gyp_pdfium`. For example | |
| 59 ``` | |
| 60 GYP_DEFINES='pdf_enable_v8=0 pdf_enable_xfa=0' build/gyp_pdfium | |
| 61 ``` | |
| 62 gives the smalles possible build configuration. | |
|
Lei Zhang
2016/02/04 23:32:10
smallest
Tom Sepez
2016/02/04 23:41:43
argh
| |
| 63 | |
| 44 ### Using goma (Googlers only) | 64 ### Using goma (Googlers only) |
| 45 | 65 |
| 46 If you would like to build using goma, pass `use_goma=1` to `gyp_pdfium`. If | 66 If you would like to build using goma, pass `use_goma=1` to `gyp_pdfium`. If |
| 47 you installed goma in a non-standard location, you will also need to set | 67 you installed goma in a non-standard location, you will also need to set |
| 48 `gomadir`. e.g. | 68 `gomadir`. e.g. |
| 49 | 69 |
| 50 ``` | 70 ``` |
| 51 build/gyp_pdfium -D use_goma=1 -D gomadir=path/to/goma | 71 build/gyp_pdfium -D use_goma=1 -D gomadir=path/to/goma |
| 52 ``` | 72 ``` |
| 53 | 73 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 110 | 130 |
| 111 ## Contributing code | 131 ## Contributing code |
| 112 | 132 |
| 113 For contributing code, we will follow | 133 For contributing code, we will follow |
| 114 [Chromium's process](http://dev.chromium.org/developers/contributing-code) | 134 [Chromium's process](http://dev.chromium.org/developers/contributing-code) |
| 115 as much as possible. The main exceptions are: | 135 as much as possible. The main exceptions are: |
| 116 | 136 |
| 117 1. Code has to conform to the existing style and not Chromium/Google style. | 137 1. Code has to conform to the existing style and not Chromium/Google style. |
| 118 2. There is no commit queue, approved committers can land their changes via | 138 2. There is no commit queue, approved committers can land their changes via |
| 119 `git cl land` | 139 `git cl land` |
| 120 3. Changes must be merged to the XFA branch as well (see below). | |
| 121 | 140 |
| 122 ## Branches | 141 ## Branches |
| 123 | 142 |
| 124 There is a branch for a forthcoming feature called XFA that you can get by | 143 The origin/xfa branch is now an evolutionary dead-end. Everything you need |
|
Lei Zhang
2016/02/04 23:32:10
Prepend: Prior to 2016-02-04, there existed an act
Tom Sepez
2016/02/04 23:41:43
Done.
| |
| 125 following the steps above, then: | 144 to build either with or without the XFA feature is on origin/master. |
| 126 | 145 |
| 127 ``` | |
| 128 git checkout origin/xfa | |
| 129 build/gyp_pdfium | |
| 130 ninja -C out/Debug | |
| 131 ``` | |
| 132 | |
| 133 Merging to XFA requires: | |
| 134 | |
| 135 ``` | |
| 136 git checkout origin/xfa | |
| 137 git checkout -b merge_branch | |
| 138 git branch --set-upstream-to=origin/xfa | |
| 139 git cherry-pick -x <commit hash> | |
| 140 git commit --amend # add Merge to XFA | |
| 141 git cl upload | |
| 142 ``` | |
| 143 | |
| 144 Then wait for approval, and `git cl land` | |
| OLD | NEW |