aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp/pdf.gyp
Commit message (Collapse)AuthorAge
* Build Skia for a bare-bones embedded Linux system.Gravatar commit-bot@chromium.org2014-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivation: I have downloaded a barebones Linux system built for 64-bit ARM from linaro.org and a ARMv8 Foundation Model from arm.com to run it on. This will let us build and test Skia on ARM64 before we aquire hardware to allow that. This CL introduces the changes to the build files necessary to build Skia on a barebones embedded Linux system. I tested it with the aarch64 GCC compiler provided by linaro.org. Changes: Add a "barelinux" target_os for the DEPS file. Add an optional git download of zlib. Changes to gyp files: these changes abstract out libpng, libz, and giflib so that images.gyp doesn't know whether they are static or dynamically linked. I also add the variables skia_giflib_static, skia_libpng_static, skia_zlib_static, and skia_freetype_static, all of which default to false but when set to true will override the behavior of the giflib, libpng, zlib, and freetype build targets to require them to build statically. Also, the skia_no_fontconfig variable turns off use of the fontconfig service. Scripts in platform_tools/barelinux/bin: arm64_download - this script downloads the Linaro's ARMv8 Aarch64 toolchain and minimal embedded Linux system as well as ARM's foundation model. The required files are mirrored on Google Cloud. The script then starts a emulated Arm64 Linux system in the background. After the boot is complete, you can SSH into the system at port 8022 via user@localhost. The SSH key will be downloaded into the working directery as well. download_deps - Uses gclient to download Skia's dependencies for a bare Linux system (the normal dependecies plus giflib, libpng, and zlib.) barelinux_make - this script builds a version of skia that does not depend on external libraries, perfect for putting in an embedded system running Linux. Assumes you have run download_deps first. To test: To build a barelinux target, use the barelinux_make script. To build for a armv8 system: skia_arch_type=arm arm_neon=0 armv7=1 armv8=1 arm_thumb=0 skia_arch_width=64 and set the CC and CXX variables to point at the cross-compiler downloaded by arm64_download. R=djsollen@google.com, scroggo@google.com, borenet@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/152513007 git-svn-id: http://skia.googlecode.com/svn/trunk@13570 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland "Gyp file changes for the android framework."Gravatar scroggo@google.com2014-02-05
| | | | | | | | | | | | | | Relands https://codereview.chromium.org/153093003/, which was reverted with https://skia.googlesource.com/skia.git/+/eb6295044b97db05ec40625dcebc2459b2a38a98 This reverts commit 6b32be1402eb6c549d5ba1db71860e24f9de2991. BUG=skia:1975 R=djsollen@google.com Review URL: https://codereview.chromium.org/154053002 git-svn-id: http://skia.googlecode.com/svn/trunk@13321 2bbb7eff-a529-9590-31e7-b0007b416f81
* Gyp file changes for the android framework.Gravatar scroggo@google.com2014-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split off from https://codereview.chromium.org/140503007/. The eventual goal is to create our Android.mk from gyp. This patch adds an option for skia_android_framework with the right settings. The follow-up (https://codereview.chromium.org/140503007/) will use scripts to create the final makefile. gyp/android_deps.gyp: Use different dependencies for the framework than for building Skia normally. gyp/android_framework_lib.gyp: Like skia_lib, specifies the minimum needed for building Skia, in this case for the framework. gyp/common_conditions.gypi: Add settings specific to skia_android_framework. In some cases this means turning off flags and defines. gyp/common.gypi Turn off SK_DEBUG and SK_DEVELOPER when building for the framework. This allows the framework to create a single makefile which can be modified to add SK_DEBUG and SK_DEVELOPER as desired. gyp/common_variables.gypi: Add skia_android_framework. gyp/core.gyp: Don't depend on cpufeatures, and add the cutils library for skia_android_framework. gyp/freetype.gyp: skia_android_framework-specific options: Don't include freetype_static as a dependency. Include the proper folders. Include the android library. gyp/images.gyp: Don't export libjpeg as a dependency for targets that include images for the framework. Also reorder image decoders to match the Android order, leaving our most commonly used ones last (and therefore first in the chain for trying them). gyp/libwebp.gyp: Use the system webp when building for the Android framework. Specify the correct settings for the framework. gyp/opts.gyp: Specify a default set of files to compile when there are no possible optimizations. gyp/pdf.gyp: Add dependencies for Android framework. gyp/zlib.gyp: Include the zlib folder, and undefine SK_ZLIB_INCLUDE. BUG=skia:1975 R=djsollen@google.com Committed: https://code.google.com/p/skia/source/detail?r=13298 Review URL: https://codereview.chromium.org/153093003 git-svn-id: http://skia.googlecode.com/svn/trunk@13304 2bbb7eff-a529-9590-31e7-b0007b416f81
* Gyp file changes for the android framework.Gravatar scroggo@google.com2014-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split off from https://codereview.chromium.org/140503007/. The eventual goal is to create our Android.mk from gyp. This patch adds an option for skia_android_framework with the right settings. The follow-up (https://codereview.chromium.org/140503007/) will use scripts to create the final makefile. gyp/android_deps.gyp: Use different dependencies for the framework than for building Skia normally. gyp/android_framework_lib.gyp: Like skia_lib, specifies the minimum needed for building Skia, in this case for the framework. gyp/common_conditions.gypi: Add settings specific to skia_android_framework. In some cases this means turning off flags and defines. gyp/common.gypi Turn off SK_DEBUG and SK_DEVELOPER when building for the framework. This allows the framework to create a single makefile which can be modified to add SK_DEBUG and SK_DEVELOPER as desired. gyp/common_variables.gypi: Add skia_android_framework. gyp/core.gyp: Don't depend on cpufeatures, and add the cutils library for skia_android_framework. gyp/freetype.gyp: skia_android_framework-specific options: Don't include freetype_static as a dependency. Include the proper folders. Include the android library. gyp/images.gyp: Don't export libjpeg as a dependency for targets that include images for the framework. Also reorder image decoders to match the Android order, leaving our most commonly used ones last (and therefore first in the chain for trying them). gyp/libwebp.gyp: Use the system webp when building for the Android framework. Specify the correct settings for the framework. gyp/opts.gyp: Specify a default set of files to compile when there are no possible optimizations. gyp/pdf.gyp: Add dependencies for Android framework. gyp/zlib.gyp: Include the zlib folder, and undefine SK_ZLIB_INCLUDE. BUG=skia:1975 R=djsollen@google.com Review URL: https://codereview.chromium.org/153093003 git-svn-id: http://skia.googlecode.com/svn/trunk@13298 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove the comments settings for vim tab width and expansion variables.Gravatar commit-bot@chromium.org2013-12-02
| | | | | | | | | | | | | | | | | | These add unnecessary bloat for everyone to carry around, so we just remove them now. The same change was made in chromium by Tony in http://codereview.chromium.org/7310019 - crrev.com/92046 BUG=None TEST=./gyp_skia R=mtklein@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/92673003 git-svn-id: http://skia.googlecode.com/svn/trunk@12443 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten ↵Gravatar commit-bot@chromium.org2013-10-14
| | | | | | | | | | | | | | | the path and the text when we have perspective. prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. - controlled by a flag add comments where we are supposed to flatten other features (paint, shaders, ... ) R=reed@google.com, bungeman@google.com, scroggo@google.com, vandebo@chromium.org, bsalomon@google.com Author: edisonn@google.com Review URL: https://codereview.chromium.org/24811002 git-svn-id: http://skia.googlecode.com/svn/trunk@11751 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update pdf.gypi to actually work with ChromiumGravatar robertphillips@google.com2013-08-26
| | | | | | | | https://chromiumcodereview.appspot.com/23112031/ git-svn-id: http://skia.googlecode.com/svn/trunk@10916 2bbb7eff-a529-9590-31e7-b0007b416f81
* In preparation for make Chromium's skia.gyp use pdf.gypi.Gravatar commit-bot@chromium.org2013-08-04
| | | | | | | | | | R=edisonn@google.com, djsollen@google.com Author: robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/21952002 git-svn-id: http://skia.googlecode.com/svn/trunk@10526 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix Clang build on SkPDFResourceDict (CL 18977002)Gravatar commit-bot@chromium.org2013-07-23
| | | | | | | | | | R=edisonn@google.com, vandebo@chromium.org Author: richardlin@chromium.org Review URL: https://chromiumcodereview.appspot.com/19954011 git-svn-id: http://skia.googlecode.com/svn/trunk@10295 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Adds SkPDFResourceDict class, refactor existing code to use it."Gravatar vandebo@chromium.org2013-07-22
| | | | | | | | This reverts commit r10245 Review URL: https://codereview.chromium.org/19523007 git-svn-id: http://skia.googlecode.com/svn/trunk@10247 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adds SkPDFResourceDict class, refactor existing code to use it.Gravatar commit-bot@chromium.org2013-07-22
| | | | | | | | | | | | Committed: http://code.google.com/p/skia/source/detail?r=10202 R=vandebo@chromium.org, edisonn@google.com Author: richardlin@chromium.org Review URL: https://chromiumcodereview.appspot.com/18977002 git-svn-id: http://skia.googlecode.com/svn/trunk@10245 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update obvious deps.Gravatar bungeman@google.com2013-07-22
| | | | | | | | | | | | | | | This is a step toward targets declaring their deps in a sane fashion. This change resolves cycles by forcing core to the root, then everything in skia_lib pointing toward core as best possible, then everything outside skia_lib depending on skia_lib for things in skia_lib. This prevents double definitions where a symbol is provided by both the skia_lib shared object and and a statically linked component of skia_lib. R=djsollen@google.com Review URL: https://codereview.chromium.org/19823003 git-svn-id: http://skia.googlecode.com/svn/trunk@10231 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert deps changes in r10220 and r10217.Gravatar bungeman@google.com2013-07-20
| | | | | | | Need to avoid linking in .a things which are already provided by .so things. git-svn-id: http://skia.googlecode.com/svn/trunk@10222 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update obvious deps.Gravatar bungeman@google.com2013-07-19
| | | | | | | | | | | | | | | This is a step toward targets declaring their deps in a sane fashion. This change resolves cycles by forcing core to the root, then opts, ports, and utils depending on core, then everything else. We will need some other change to resolve the fact that core, opts, ports, and utils depend on each other and other targets which depend on them. Outside of these targets, things look ok. R=djsollen@google.com Review URL: https://codereview.chromium.org/19823003 git-svn-id: http://skia.googlecode.com/svn/trunk@10217 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Adds SkPDFResourceDict class to manage resource dicts. Refactors ↵Gravatar vandebo@chromium.org2013-07-19
| | | | | | | | | | existing code to use this class." This reverts commit r10202 Review URL: https://codereview.chromium.org/19790007 git-svn-id: http://skia.googlecode.com/svn/trunk@10205 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adds SkPDFResourceDict class to manage resource dicts. Refactors existing ↵Gravatar commit-bot@chromium.org2013-07-19
| | | | | | | | | | | | | code to use this class. BUG= R=vandebo@chromium.org, edisonn@google.com Author: richardlin@chromium.org Review URL: https://chromiumcodereview.appspot.com/18977002 git-svn-id: http://skia.googlecode.com/svn/trunk@10202 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkDocument base for pdf, xps, etc.Gravatar reed@google.com2013-06-07
| | | | | | | | R=scroggo@google.com Review URL: https://codereview.chromium.org/16660002 git-svn-id: http://skia.googlecode.com/svn/trunk@9476 2bbb7eff-a529-9590-31e7-b0007b416f81
* Prepare skia for shared library build on androidGravatar djsollen@google.com2013-06-03
| | | | | | | | | | This reapplies revision 9378 after the buildbot has been updated. R=borenet@google.com, djsollen@google.com Review URL: https://codereview.chromium.org/15855006 git-svn-id: http://skia.googlecode.com/svn/trunk@9395 2bbb7eff-a529-9590-31e7-b0007b416f81
* prepare skia for shared library build on androidGravatar djsollen@google.com2013-05-31
| | | | | | | | | | R=borenet@google.com, djsollen@google.com Committed: https://code.google.com/p/skia/source/detail?r=9378 Review URL: https://codereview.chromium.org/15855006 git-svn-id: http://skia.googlecode.com/svn/trunk@9379 2bbb7eff-a529-9590-31e7-b0007b416f81
* prepare skia for shared library build on androidGravatar djsollen@google.com2013-05-31
| | | | | | | | R=borenet@google.com, djsollen@google.com Review URL: https://codereview.chromium.org/15855006 git-svn-id: http://skia.googlecode.com/svn/trunk@9378 2bbb7eff-a529-9590-31e7-b0007b416f81
* Encode images with DCTDecode (JPEG) in PDFs if it makes sense. Fallback to ↵Gravatar edisonn@google.com2013-04-24
| | | | | | | | | FlateDecode (zip) if it makes sense. Otherewise include uncompressed stream. This change will reduce the size of PDFs to 50% (in the case of the existing SKPs, we reduce the total size of PDFs from 105MB to 50MB) Review URL: https://codereview.appspot.com/7068055 git-svn-id: http://skia.googlecode.com/svn/trunk@8835 2bbb7eff-a529-9590-31e7-b0007b416f81
* resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime weGravatar edisonn@google.com2013-04-02
| | | | | | | added capability to collect minidump and callstack if buildbot fails with heap coruption in windows, and a NPE bug was fixed in SkPDFDocument, when document was destroyed without ever beeing used and a field was NULL + a few minor conflicts have been resolved) git-svn-id: http://skia.googlecode.com/svn/trunk@8487 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r8233 (Use SkSet in PDF)Gravatar robertphillips@google.com2013-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8255 2bbb7eff-a529-9590-31e7-b0007b416f81
* resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the ↵Gravatar edisonn@google.com2013-03-19
| | | | | | | | meantime we added capability to collect minidump and callstack if buildbot fails with heap coruption in windows. a few minor conflicts have been resolved) Review URL: https://codereview.chromium.org/12840004 git-svn-id: http://skia.googlecode.com/svn/trunk@8233 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert r7892Gravatar edisonn@google.com2013-02-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7896 2bbb7eff-a529-9590-31e7-b0007b416f81
* resubmit after fixing assert issue: https://codereview.appspot.com/6744050Gravatar edisonn@google.com2013-02-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7892 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r7883Gravatar edisonn@google.com2013-02-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7884 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use SkSet to fix issue when pdf generates an exp number of resources.Gravatar edisonn@google.com2013-02-27
| | | | | | | | | | | | | | | The problem fixed - http://code.google.com/p/skia/issues/detail?id=940 - is that getResources will recursively obtain all child resource recursively without checking for duplicates. If we have lots of duplicates, then we try to build a very large vector (exponential with the number of nodes usually) and sooner or later we end up using too much memory and crash. A possible solution could have been to make sure resources do not have duplicates, but that requirement is impractical, and it this leaves the solution fragile, if there is any issue in the tree, we crash. When we emit the pdf, the large number of duplicates is not an issue, because SkPDFCatalog::addObject will deal with duplicates. I have run the gm with --config pdf, and the images are 100% same bits, while the pdfs have the same size but some very small changes, the order of some objects. Review URL: https://codereview.appspot.com/6744050 git-svn-id: http://skia.googlecode.com/svn/trunk@7883 2bbb7eff-a529-9590-31e7-b0007b416f81
* Build Skia as a static libraryGravatar borenet@google.com2012-10-10
| | | | | | | | | | | - Roll GYP so that we get non-thin archives on Linux - Add merge_static_libs.py - Add skia_core_lib target which builds core, ports, opts*, and utils - Replace dependencies on core/ports/opts/utils with skia_core_libs - Rename exportable libraries with "skia_" Review URL: https://codereview.appspot.com/6619049 git-svn-id: http://skia.googlecode.com/svn/trunk@5889 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Move most of the headers to be private.Gravatar vandebo@chromium.org2012-03-22
| | | | | | | | | | Compute font stats in SkPDFDocument in order to make more of the headers private. Previous review: https://codereview.appspot.com/5868049/ Review URL: https://codereview.appspot.com/5875049 git-svn-id: http://skia.googlecode.com/svn/trunk@3470 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move SkBitSet to utils.Gravatar vandebo@chromium.org2012-03-21
| | | | | | Review URL: https://codereview.appspot.com/5875043 git-svn-id: http://skia.googlecode.com/svn/trunk@3460 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make all gyp targets automatically include common.gypiGravatar epoger@google.com2012-03-16
| | | | | | | Do this, rather than including common.gypi explicitly in all our gyp files, so that gyp files we use but do not maintain (e.g., third_party/externals/libjpeg/libjpeg.gyp) will include common.gypi too. Review URL: https://codereview.appspot.com/5820068 git-svn-id: http://skia.googlecode.com/svn/trunk@3411 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Refactor SkPDFFont to enable font/cmap subsetting.Gravatar vandebo@chromium.org2011-07-25
| | | | | | | | | | | Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4633050/ Committed: http://code.google.com/p/skia/source/detail?r=1943 Reverted: http://code.google.com/p/skia/source/detail?r=1944 Review URL: http://codereview.appspot.com/4811049 git-svn-id: http://skia.googlecode.com/svn/trunk@1956 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "[PDF] Refactor SkPDFFont to enable font/cmap subsetting."Gravatar vandebo@chromium.org2011-07-23
| | | | | | | | The PDF xref table is corrupt with this change. Revert until we figure it out. Review URL: http://codereview.appspot.com/4803049 git-svn-id: http://skia.googlecode.com/svn/trunk@1944 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Refactor SkPDFFont to enable font/cmap subsetting.Gravatar vandebo@chromium.org2011-07-23
| | | | | | | | Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4633050/ Review URL: http://codereview.appspot.com/4811049 git-svn-id: http://skia.googlecode.com/svn/trunk@1943 2bbb7eff-a529-9590-31e7-b0007b416f81
* A bit set class. Will be used for font subsetting.Gravatar vandebo@chromium.org2011-07-02
| | | | | | | | | | Committed on behalf of arthurhsu@chromium.org with a few final nits. Original CL: http://codereview.appspot.com/4627077 Review URL: http://codereview.appspot.com/4657070 git-svn-id: http://skia.googlecode.com/svn/trunk@1788 2bbb7eff-a529-9590-31e7-b0007b416f81
* combine target_defaults.gypi into common.gypiGravatar epoger@google.com2011-07-01
| | | | | | | | http://codereview.appspot.com/4654080 git-svn-id: http://skia.googlecode.com/svn/trunk@1780 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add a zlib target that the pdf target can depend on.Gravatar vandebo@chromium.org2011-06-24
| | | | | | | | - make drawTextOnPath (now used by shadertext) a non fatal NOT_IMPLEMENTED on PDF. Review URL: http://codereview.appspot.com/4631071 git-svn-id: http://skia.googlecode.com/svn/trunk@1722 2bbb7eff-a529-9590-31e7-b0007b416f81
* Alternate approach to enabling PDF in gm (gyp changes)Gravatar epoger@google.com2011-06-24
| | | | | | | | http://codereview.appspot.com/4631067 git-svn-id: http://skia.googlecode.com/svn/trunk@1713 2bbb7eff-a529-9590-31e7-b0007b416f81
* split skia.gyp into separate gypfile for each source dirGravatar epoger@google.com2011-05-31
see http://codereview.appspot.com/4527084/ Now, to build out/Debug/SampleApp on Linux, do the following: cd trunk/gyp rm -rf Makefile *mk *.Makefile out ./gyp_skia -fmake --ignore-environment "--toplevel-dir=$PWD" \ -Icommon.gypi "--depth=$PWD" SampleApp.gyp make git-svn-id: http://skia.googlecode.com/svn/trunk@1446 2bbb7eff-a529-9590-31e7-b0007b416f81