diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-09-22 08:50:20 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-09-22 08:50:20 -0700 |
commit | 61327fe3c46b73141b4c885a98e97cd5d1412aba (patch) | |
tree | f07c021a88138c12d42296ca71aac74373f1c481 /docs/build.md | |
parent | bca779d0957965eb2ebfad5479e0894844749626 (diff) | |
download | pdfium-61327fe3c46b73141b4c885a98e97cd5d1412aba.tar.xz |
[Docs] Add wiki content to Markdown docs
BUG=none
R=tsepez@chromium.org, jam@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1356323002 .
Diffstat (limited to 'docs/build.md')
-rw-r--r-- | docs/build.md | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/docs/build.md b/docs/build.md new file mode 100644 index 0000000000..4e6b16c0da --- /dev/null +++ b/docs/build.md @@ -0,0 +1,82 @@ +# Building PDFium + +## Prerequisites + +Get the chromium depot tools via the instructions at +http://www.chromium.org/developers/how-tos/install-depot-tools (this provides +the gclient utilty needed below). + +Also install Python, Subversion, and Git and make sure they're in your path. + +Optionally, you may want to install the [Ninja](http://martine.github.io/ninja/) +build system (recommended) rather than using your platform-specific build +system. + +## Get the code + +``` +mkdir pdfium +cd pdfium +gclient config --name . --unmanaged https://pdfium.googlesource.com/pdfium.git +gclient sync +``` + +## Generate the build files + +Now we use the GYP library to generate the build files. + +At this point, you have two options. The first option is to use the [Ninja] +(http://martine.github.io/ninja/) build system. This is the default as of +mid-September, 2015. Previously, the second option was the default. Most PDFium +developers use Ninja, as does our [continuous build system] +(http://build.chromium.org/p/client.pdfium/). + +On Windows: `build\gyp_pdfium +` For all other platforms: `build/gyp_pdfium +` + +The second option is to generate platform-specific build files, i.e. Makefiles +on Linux, sln files on Windows, and xcodeproj files on Mac. To do so, set the +GYP\_GENERATORS environment variable appropriately (e.g. "make", "msvs", or +"xcode") before running the above command. + +## Building the code + +If you used Ninja, you can build the sample program by: `ninja -C out/Debug +pdfium_test +` You can build the entire product (which includes a few unit tests) by: `ninja +-C out/Debug +` + +If you're not using Ninja, then building is platform-specific. + +On Linux: `make pdfium_test +` + +On Mac, open build/all.xcodeproj + +On Windows, open build\all.sln + +## Running the sample program + +The pdfium\_test program supports reading, parsing, and rasterizing the pages of +a .pdf file to .ppm output image files (windows supports two other formats, and +.png support is available for all platforms in an alternate branch (see branches +section below)). For example: `out/Debug/pdfium_test --ppm path/to/myfile.pdf +` + +## Waterfall + +The current health of the source tree can be found at +http://build.chromium.org/p/client.pdfium/console + +## Branches + +There is a branch for a forthcoming feature called XFA that you can get by +following the steps above, then: `git checkout origin/xfa build/gyp_pdfium ninja +-C out/Debug +` + +The XFA version of the sample pdfium\_test program supports rasterizing to .png +format files. For example: `out/Debug/pdfium_test --png path/to/myfile.pdf +` |