blob: 18a18be7e12da18421a3c5365d396af3bd13a2f6 [file] [log] [blame]
scroggo@google.com73e4d572013-05-20 22:15:32 +00001# GYP file for images project.
scroggo@google.com4c6adf92013-04-17 21:07:55 +00002{
epoger@google.comae85aea2011-05-31 13:50:51 +00003 'targets': [
4 {
5 'target_name': 'images',
borenet@google.comefb1d772012-10-10 19:45:51 +00006 'product_name': 'skia_images',
epoger@google.comae85aea2011-05-31 13:50:51 +00007 'type': 'static_library',
borenet@google.comefb1d772012-10-10 19:45:51 +00008 'standalone_static_library': 1,
bungeman@google.com9df621d2011-06-23 21:43:52 +00009 'dependencies': [
bungeman@google.comb8f36552013-07-22 14:39:45 +000010 'core.gyp:*',
robertphillips@google.com3a4553e2012-04-05 14:52:01 +000011 'libjpeg.gyp:*',
robertphillips@google.com8cf81e02014-05-22 18:40:29 +000012 'etc1.gyp:libetc1',
commit-bot@chromium.orga936e372013-03-14 14:42:18 +000013 'libwebp.gyp:libwebp',
bungeman@google.com9df621d2011-06-23 21:43:52 +000014 'utils.gyp:utils',
15 ],
scroggo@google.comd4adfa32014-02-05 16:35:12 +000016 'conditions': [
17 [ 'skia_android_framework == 0', {
18 'export_dependent_settings': [
19 'libjpeg.gyp:*',
20 ],
21 }],
robertphillips@google.com3a4553e2012-04-05 14:52:01 +000022 ],
epoger@google.comae85aea2011-05-31 13:50:51 +000023 'include_dirs': [
epoger@google.comae85aea2011-05-31 13:50:51 +000024 '../include/images',
halcanary@google.comad04eb42013-11-21 15:32:08 +000025 '../src/lazy',
scroggo@google.com39edf4c2013-04-25 17:33:51 +000026 # for access to SkErrorInternals.h
27 '../src/core/',
scroggo@google.comf8d7d272013-02-22 21:38:35 +000028 # for access to SkImagePriv.h
29 '../src/image/',
scroggo@google.com1a2e71d2013-08-28 19:13:13 +000030 # So src/ports/SkImageDecoder_CG can access SkStreamHelpers.h
31 '../src/images/',
epoger@google.comae85aea2011-05-31 13:50:51 +000032 ],
33 'sources': [
commit-bot@chromium.org29239a02014-05-27 14:59:47 +000034 '../include/images/SkDecodingImageGenerator.h',
scroggo@google.com7def5e12013-05-31 14:00:10 +000035 '../include/images/SkForceLinking.h',
epoger@google.comae85aea2011-05-31 13:50:51 +000036 '../include/images/SkImageRef.h',
37 '../include/images/SkImageRef_GlobalPool.h',
robertphillips@google.comcb693192013-03-22 16:44:14 +000038 '../src/images/SkJpegUtility.h',
epoger@google.comae85aea2011-05-31 13:50:51 +000039 '../include/images/SkMovie.h',
40 '../include/images/SkPageFlipper.h',
41
42 '../src/images/bmpdecoderhelper.cpp',
43 '../src/images/bmpdecoderhelper.h',
commit-bot@chromium.orga936e372013-03-14 14:42:18 +000044
halcanary@google.comad04eb42013-11-21 15:32:08 +000045 '../src/images/SkDecodingImageGenerator.cpp',
scroggo@google.com7def5e12013-05-31 14:00:10 +000046 '../src/images/SkForceLinking.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000047 '../src/images/SkImageDecoder.cpp',
scroggo@google.com4c6adf92013-04-17 21:07:55 +000048 '../src/images/SkImageDecoder_FactoryDefault.cpp',
49 '../src/images/SkImageDecoder_FactoryRegistrar.cpp',
scroggo@google.comd4adfa32014-02-05 16:35:12 +000050
scroggo@google.comc4ebdb02013-05-01 21:17:27 +000051 # If decoders are added/removed to/from (all/individual)
scroggo@google.com7def5e12013-05-31 14:00:10 +000052 # platform(s), be sure to update SkForceLinking.cpp
scroggo@google.comc4ebdb02013-05-01 21:17:27 +000053 # so the right decoders will be forced to link.
scroggo@google.comd4adfa32014-02-05 16:35:12 +000054
55 # IMPORTANT: The build order of the SkImageDecoder_*.cpp files
56 # defines the order image decoders are tested when decoding a
57 # stream. The last decoder is the first one tested, so the .cpp
58 # files should be in listed in order from the least likely to be
59 # used, to the most likely (jpeg and png should be the last two
60 # for instance.) As a result, they are deliberately not in
61 # alphabetical order.
62 '../src/images/SkImageDecoder_wbmp.cpp',
robertphillips@google.com8cf81e02014-05-22 18:40:29 +000063 '../src/images/SkImageDecoder_pkm.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000064 '../src/images/SkImageDecoder_libbmp.cpp',
65 '../src/images/SkImageDecoder_libgif.cpp',
66 '../src/images/SkImageDecoder_libico.cpp',
scroggo@google.comd4adfa32014-02-05 16:35:12 +000067 '../src/images/SkImageDecoder_libwebp.cpp',
commit-bot@chromium.orga936e372013-03-14 14:42:18 +000068 '../src/images/SkImageDecoder_libjpeg.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000069 '../src/images/SkImageDecoder_libpng.cpp',
scroggo@google.comd4adfa32014-02-05 16:35:12 +000070
epoger@google.comae85aea2011-05-31 13:50:51 +000071 '../src/images/SkImageEncoder.cpp',
72 '../src/images/SkImageEncoder_Factory.cpp',
bungeman@google.com8c6a4f22013-04-23 18:06:23 +000073 '../src/images/SkImageEncoder_argb.cpp',
commit-bot@chromium.orgb2639852014-05-28 16:01:55 +000074 '../src/images/SkImageGenerator.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000075 '../src/images/SkImageRef.cpp',
76 '../src/images/SkImageRefPool.cpp',
77 '../src/images/SkImageRefPool.h',
djsollen@google.com528a5562013-02-01 15:57:13 +000078 '../src/images/SkImageRef_ashmem.h',
79 '../src/images/SkImageRef_ashmem.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000080 '../src/images/SkImageRef_GlobalPool.cpp',
scroggo@google.com5a7c6be2012-10-04 21:46:08 +000081 '../src/images/SkImages.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000082 '../src/images/SkJpegUtility.cpp',
83 '../src/images/SkMovie.cpp',
84 '../src/images/SkMovie_gif.cpp',
85 '../src/images/SkPageFlipper.cpp',
86 '../src/images/SkScaledBitmapSampler.cpp',
87 '../src/images/SkScaledBitmapSampler.h',
scroggo@google.comdbf9f882013-08-21 15:01:48 +000088 '../src/images/SkStreamHelpers.cpp',
89 '../src/images/SkStreamHelpers.h',
bungeman@google.com242bb892011-06-22 20:42:34 +000090
91 '../src/ports/SkImageDecoder_CG.cpp',
92 '../src/ports/SkImageDecoder_WIC.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000093 ],
94 'conditions': [
epoger@google.com8846cb22011-07-01 20:20:07 +000095 [ 'skia_os == "win"', {
epoger@google.comae85aea2011-05-31 13:50:51 +000096 'sources!': [
scroggo@google.com4c6adf92013-04-17 21:07:55 +000097 '../src/images/SkImageDecoder_FactoryDefault.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000098 '../src/images/SkImageDecoder_libgif.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +000099 '../src/images/SkImageDecoder_libpng.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +0000100 '../src/images/SkMovie_gif.cpp',
101 ],
bsalomon@google.com897e66c2011-11-21 21:04:06 +0000102 'link_settings': {
103 'libraries': [
bungeman@google.com24339aa2013-12-02 19:54:33 +0000104 '-lwindowscodecs.lib',
bsalomon@google.com897e66c2011-11-21 21:04:06 +0000105 ],
106 },
epoger@google.com8846cb22011-07-01 20:20:07 +0000107 },{ #else if skia_os != win
bungeman@google.com242bb892011-06-22 20:42:34 +0000108 'sources!': [
109 '../src/ports/SkImageDecoder_WIC.cpp',
110 ],
epoger@google.comae85aea2011-05-31 13:50:51 +0000111 }],
caryclark@google.com35f5ac92012-09-18 15:41:18 +0000112 [ 'skia_os in ["mac", "ios"]', {
epoger@google.comae85aea2011-05-31 13:50:51 +0000113 'sources!': [
scroggo@google.com4c6adf92013-04-17 21:07:55 +0000114 '../src/images/SkImageDecoder_FactoryDefault.cpp',
reed@google.comaf9d9c22011-06-15 17:33:29 +0000115 '../src/images/SkImageDecoder_libpng.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +0000116 '../src/images/SkImageDecoder_libgif.cpp',
epoger@google.comae85aea2011-05-31 13:50:51 +0000117 '../src/images/SkMovie_gif.cpp',
118 ],
epoger@google.com8846cb22011-07-01 20:20:07 +0000119 },{ #else if skia_os != mac
bungeman@google.com242bb892011-06-22 20:42:34 +0000120 'sources!': [
121 '../src/ports/SkImageDecoder_CG.cpp',
122 ],
epoger@google.comae85aea2011-05-31 13:50:51 +0000123 }],
scroggo@google.com3f178282013-04-11 22:24:35 +0000124 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +0000125 'export_dependent_settings': [
126 'libpng.gyp:libpng',
127 'giflib.gyp:giflib'
128 ],
129 'dependencies': [
130 'libpng.gyp:libpng',
131 'giflib.gyp:giflib'
132 ],
scroggo@google.com9c5f9692013-04-11 18:32:01 +0000133 # end libpng/libgif stuff
epoger@google.comae85aea2011-05-31 13:50:51 +0000134 }],
scroggo@google.com3f178282013-04-11 22:24:35 +0000135 # FIXME: NaCl should be just like linux, etc, above, but it currently is separated out
136 # to remove gif. Once gif is supported by naclports, this can be merged into the above
137 # condition.
138 [ 'skia_os == "nacl"', {
139 'sources!': [
140 '../src/images/SkImageDecoder_libgif.cpp',
141 '../src/images/SkMovie_gif.cpp',
142 ],
scroggo@google.com3f178282013-04-11 22:24:35 +0000143 }],
djsollen@google.com58629292011-11-03 13:08:29 +0000144 [ 'skia_os == "android"', {
djsollen@google.com528a5562013-02-01 15:57:13 +0000145 'include_dirs': [
146 '../src/utils',
djsollen@google.com58629292011-11-03 13:08:29 +0000147 ],
148 'dependencies': [
borenet@google.comaf730912012-08-09 15:54:28 +0000149 'android_deps.gyp:gif',
150 'android_deps.gyp:png',
djsollen@google.com58629292011-11-03 13:08:29 +0000151 ],
scroggo@google.comd4adfa32014-02-05 16:35:12 +0000152 'conditions': [
153 [ 'skia_android_framework == 0', {
154 'export_dependent_settings': [
155 'android_deps.gyp:png'
156 ],
157 }],
djsollen@google.combcc6d7d2013-07-23 15:51:12 +0000158 ],
djsollen@google.com528a5562013-02-01 15:57:13 +0000159 },{ #else if skia_os != android
160 'sources!': [
161 '../src/images/SkImageRef_ashmem.h',
162 '../src/images/SkImageRef_ashmem.cpp',
163 ],
djsollen@google.com58629292011-11-03 13:08:29 +0000164 }],
borenet@google.com05d550e2013-06-11 15:52:19 +0000165 [ 'skia_os == "chromeos"', {
166 'dependencies': [
167 'chromeos_deps.gyp:gif',
commit-bot@chromium.org2ea14c62014-02-24 21:39:01 +0000168 'libpng.gyp:libpng',
borenet@google.com05d550e2013-06-11 15:52:19 +0000169 ],
borenet@google.com05d550e2013-06-11 15:52:19 +0000170 }],
caryclark@google.com35f5ac92012-09-18 15:41:18 +0000171 [ 'skia_os == "ios"', {
172 'include_dirs': [
173 '../include/utils/mac',
174 ],
175 }],
epoger@google.comae85aea2011-05-31 13:50:51 +0000176 ],
177 'direct_dependent_settings': {
178 'include_dirs': [
179 '../include/images',
epoger@google.comae85aea2011-05-31 13:50:51 +0000180 ],
181 },
182 },
183 ],
184}