blob: b4c9f224192f3da64eacd0c669c1c103c4b333df [file] [log] [blame]
commit-bot@chromium.orga936e372013-03-14 14:42:18 +00001# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6 'variables': {
7 'use_system_libwebp%': 0,
8 },
9 'conditions': [
10 ['use_system_libwebp==0', {
11 'targets': [
12 {
13 'target_name': 'libwebp_dec',
14 'type': 'static_library',
15 'include_dirs': [
16 '../third_party/externals/libwebp',
17 ],
18 'sources': [
19 '../third_party/externals/libwebp/dec/alpha.c',
20 '../third_party/externals/libwebp/dec/buffer.c',
21 '../third_party/externals/libwebp/dec/frame.c',
22 '../third_party/externals/libwebp/dec/idec.c',
23 '../third_party/externals/libwebp/dec/io.c',
24 '../third_party/externals/libwebp/dec/layer.c',
25 '../third_party/externals/libwebp/dec/quant.c',
26 '../third_party/externals/libwebp/dec/tree.c',
27 '../third_party/externals/libwebp/dec/vp8.c',
28 '../third_party/externals/libwebp/dec/vp8l.c',
29 '../third_party/externals/libwebp/dec/webp.c',
30 ],
31 'cflags!': [
32 '-fno-rtti', # supresses warnings about invalid option of non-C++ code
33 ],
34 },
35 {
36 'target_name': 'libwebp_dsp',
37 'type': 'static_library',
38 'include_dirs': [
39 '../third_party/externals/libwebp',
40 ],
41 'sources': [
42 '../third_party/externals/libwebp/dsp/cpu.c',
43 '../third_party/externals/libwebp/dsp/dec.c',
44 '../third_party/externals/libwebp/dsp/dec_sse2.c',
45 '../third_party/externals/libwebp/dsp/enc.c',
46 '../third_party/externals/libwebp/dsp/enc_sse2.c',
47 '../third_party/externals/libwebp/dsp/lossless.c',
48 '../third_party/externals/libwebp/dsp/upsampling.c',
49 '../third_party/externals/libwebp/dsp/upsampling_sse2.c',
50 '../third_party/externals/libwebp/dsp/yuv.c',
51 ],
52 'cflags!': [
53 '-fno-rtti', # supresses warnings about invalid option of non-C++ code
54 ],
55 'conditions': [
56 ['skia_os == "android"', {
57 'dependencies' : [
58 'android_deps.gyp:cpu_features',
59 ],
60 }],
61 ],
62 },
63 {
64 'target_name': 'libwebp_dsp_neon',
65 'conditions': [
66 ['armv7 == 1', {
67 'type': 'static_library',
68 'include_dirs': [
69 '../third_party/externals/libwebp',
70 ],
71 'sources': [
72 '../third_party/externals/libwebp/dsp/dec_neon.c',
73 ],
74 # behavior similar dsp_neon.c.neon in an Android.mk
skia.committer@gmail.comc49cabf2013-03-15 07:05:19 +000075 'cflags!': [
commit-bot@chromium.orga936e372013-03-14 14:42:18 +000076 '-mfpu=vfpv3-d16',
77 '-fno-rtti', # supresses warnings about invalid option of non-C++ code
78 ],
79 'cflags': [ '-mfpu=neon' ],
80 },{ # "armv7 != 1"
81 'type': 'none',
82 }],
83 ],
84 },
85 {
86 'target_name': 'libwebp_enc',
87 'type': 'static_library',
88 'include_dirs': [
89 '../third_party/externals/libwebp',
90 ],
91 'sources': [
92 '../third_party/externals/libwebp/enc/alpha.c',
93 '../third_party/externals/libwebp/enc/analysis.c',
94 '../third_party/externals/libwebp/enc/backward_references.c',
95 '../third_party/externals/libwebp/enc/config.c',
96 '../third_party/externals/libwebp/enc/cost.c',
97 '../third_party/externals/libwebp/enc/filter.c',
98 '../third_party/externals/libwebp/enc/frame.c',
99 '../third_party/externals/libwebp/enc/histogram.c',
100 '../third_party/externals/libwebp/enc/iterator.c',
101 '../third_party/externals/libwebp/enc/layer.c',
102 '../third_party/externals/libwebp/enc/picture.c',
103 '../third_party/externals/libwebp/enc/quant.c',
104 '../third_party/externals/libwebp/enc/syntax.c',
105 '../third_party/externals/libwebp/enc/tree.c',
106 '../third_party/externals/libwebp/enc/vp8l.c',
107 '../third_party/externals/libwebp/enc/webpenc.c',
108 ],
109 'cflags!': [
110 '-fno-rtti', # supresses warnings about invalid option of non-C++ code
111 ],
112 },
113 {
114 'target_name': 'libwebp_utils',
115 'type': 'static_library',
116 'include_dirs': [
117 '../third_party/externals/libwebp',
118 ],
119 'sources': [
120 '../third_party/externals/libwebp/utils/bit_reader.c',
121 '../third_party/externals/libwebp/utils/bit_writer.c',
122 '../third_party/externals/libwebp/utils/color_cache.c',
123 '../third_party/externals/libwebp/utils/filters.c',
124 '../third_party/externals/libwebp/utils/huffman.c',
125 '../third_party/externals/libwebp/utils/huffman_encode.c',
126 '../third_party/externals/libwebp/utils/quant_levels.c',
127 '../third_party/externals/libwebp/utils/rescaler.c',
128 '../third_party/externals/libwebp/utils/thread.c',
129 '../third_party/externals/libwebp/utils/utils.c',
130 ],
131 'cflags!': [
132 '-fno-rtti', # supresses warnings about invalid option of non-C++ code
133 ],
134 },
135 {
136 'target_name': 'libwebp',
137 'type': 'none',
138 'dependencies' : [
139 'libwebp_dec',
140 'libwebp_dsp',
141 'libwebp_dsp_neon',
142 'libwebp_enc',
143 'libwebp_utils',
144 ],
145 'direct_dependent_settings': {
146 'include_dirs': [
147 '../third_party/externals/libwebp',
148 ],
149 },
150 'conditions': [
151 ['OS!="win"', {'product_name': 'webp'}],
152 ],
153 },
154 ],
155 }, {
156 'targets': [
157 {
158 'target_name': 'libwebp',
159 'type': 'none',
160 'direct_dependent_settings': {
161 'defines': [
162 'ENABLE_WEBP',
163 ],
164 },
165 'link_settings': {
166 'libraries': [
167 '-lwebp',
168 ],
169 },
170 }
171 ],
172 }],
173 ],
174}