images.gyp revision ad04eb49f5d3f324e6b85411c776d7466c1fef92
1# GYP file for images project.
2{
3  'targets': [
4    {
5      'target_name': 'images',
6      'product_name': 'skia_images',
7      'type': 'static_library',
8      'standalone_static_library': 1,
9      'dependencies': [
10        'core.gyp:*',
11        'libjpeg.gyp:*',
12        'libwebp.gyp:libwebp',
13        'utils.gyp:utils',
14      ],
15      'export_dependent_settings': [
16        'libjpeg.gyp:*',
17      ],
18      'include_dirs': [
19        '../include/images',
20        '../include/lazy',
21        '../src/lazy',
22        # for access to SkErrorInternals.h
23        '../src/core/',
24        # for access to SkImagePriv.h
25        '../src/image/',
26        # So src/ports/SkImageDecoder_CG can access SkStreamHelpers.h
27        '../src/images/',
28      ],
29      'sources': [
30        '../include/images/SkForceLinking.h',
31        '../include/images/SkImageRef.h',
32        '../include/images/SkImageRef_GlobalPool.h',
33        '../src/images/SkJpegUtility.h',
34        '../include/images/SkMovie.h',
35        '../include/images/SkPageFlipper.h',
36
37        '../src/images/bmpdecoderhelper.cpp',
38        '../src/images/bmpdecoderhelper.h',
39
40        '../src/images/SkDecodingImageGenerator.cpp',
41        '../src/images/SkForceLinking.cpp',
42        '../src/images/SkImageDecoder.cpp',
43        '../src/images/SkImageDecoder_FactoryDefault.cpp',
44        '../src/images/SkImageDecoder_FactoryRegistrar.cpp',
45        # If decoders are added/removed to/from (all/individual)
46        # platform(s), be sure to update SkForceLinking.cpp
47        # so the right decoders will be forced to link.
48        '../src/images/SkImageDecoder_libbmp.cpp',
49        '../src/images/SkImageDecoder_libgif.cpp',
50        '../src/images/SkImageDecoder_libico.cpp',
51        '../src/images/SkImageDecoder_libjpeg.cpp',
52        '../src/images/SkImageDecoder_libpng.cpp',
53        '../src/images/SkImageDecoder_libwebp.cpp',
54        '../src/images/SkImageDecoder_wbmp.cpp',
55        '../src/images/SkImageEncoder.cpp',
56        '../src/images/SkImageEncoder_Factory.cpp',
57        '../src/images/SkImageEncoder_argb.cpp',
58        '../src/images/SkImageRef.cpp',
59        '../src/images/SkImageRefPool.cpp',
60        '../src/images/SkImageRefPool.h',
61        '../src/images/SkImageRef_ashmem.h',
62        '../src/images/SkImageRef_ashmem.cpp',
63        '../src/images/SkImageRef_GlobalPool.cpp',
64        '../src/images/SkImages.cpp',
65        '../src/images/SkJpegUtility.cpp',
66        '../src/images/SkMovie.cpp',
67        '../src/images/SkMovie_gif.cpp',
68        '../src/images/SkPageFlipper.cpp',
69        '../src/images/SkScaledBitmapSampler.cpp',
70        '../src/images/SkScaledBitmapSampler.h',
71        '../src/images/SkStreamHelpers.cpp',
72        '../src/images/SkStreamHelpers.h',
73
74        '../src/ports/SkImageDecoder_CG.cpp',
75        '../src/ports/SkImageDecoder_WIC.cpp',
76      ],
77      'conditions': [
78        [ 'skia_os == "win"', {
79          'sources!': [
80            '../src/images/SkImageDecoder_FactoryDefault.cpp',
81            '../src/images/SkImageDecoder_libgif.cpp',
82            '../src/images/SkImageDecoder_libpng.cpp',
83            '../src/images/SkMovie_gif.cpp',
84          ],
85          'link_settings': {
86            'libraries': [
87              'windowscodecs.lib',
88            ],
89          },
90        },{ #else if skia_os != win
91          'sources!': [
92            '../src/ports/SkImageDecoder_WIC.cpp',
93          ],
94        }],
95        [ 'skia_os in ["mac", "ios"]', {
96          'sources!': [
97            '../src/images/SkImageDecoder_FactoryDefault.cpp',
98            '../src/images/SkImageDecoder_libpng.cpp',
99            '../src/images/SkImageDecoder_libgif.cpp',
100            '../src/images/SkMovie_gif.cpp',
101          ],
102        },{ #else if skia_os != mac
103          'sources!': [
104            '../src/ports/SkImageDecoder_CG.cpp',
105          ],
106        }],
107        [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
108          # Any targets that depend on this target should link in libpng, libgif, and
109          # our code that calls it.
110          # See http://code.google.com/p/gyp/wiki/InputFormatReference#Dependent_Settings
111          'link_settings': {
112            'libraries': [
113              '-lgif',
114              '-lpng',
115              '-lz',
116            ],
117          },
118          # end libpng/libgif stuff
119        }],
120        # FIXME: NaCl should be just like linux, etc, above, but it currently is separated out
121        # to remove gif. Once gif is supported by naclports, this can be merged into the above
122        # condition.
123        [ 'skia_os == "nacl"', {
124          'sources!': [
125            '../src/images/SkImageDecoder_libgif.cpp',
126            '../src/images/SkMovie_gif.cpp',
127          ],
128          'link_settings': {
129            'libraries': [
130              '-lpng',
131              '-lz',
132            ],
133          },
134        }],
135        [ 'skia_os == "android"', {
136          'include_dirs': [
137             '../src/utils',
138          ],
139          'dependencies': [
140             'android_deps.gyp:gif',
141             'android_deps.gyp:png',
142          ],
143          'export_dependent_settings': [
144            'android_deps.gyp:png'
145          ],
146        },{ #else if skia_os != android
147          'sources!': [
148            '../src/images/SkImageRef_ashmem.h',
149            '../src/images/SkImageRef_ashmem.cpp',
150          ],
151        }],
152        [ 'skia_os == "chromeos"', {
153          'dependencies': [
154             'chromeos_deps.gyp:gif',
155          ],
156          'link_settings': {
157            'libraries': [
158              '-lpng',
159            ],
160          },
161        }],
162        [ 'skia_os == "ios"', {
163           'include_dirs': [
164             '../include/utils/mac',
165           ],
166        }],
167      ],
168      'direct_dependent_settings': {
169        'include_dirs': [
170          '../include/images',
171          '../include/lazy',
172        ],
173      },
174    },
175  ],
176}
177
178# Local Variables:
179# tab-width:2
180# indent-tabs-mode:nil
181# End:
182# vim: set expandtab tabstop=2 shiftwidth=2:
183