OLD | NEW |
---|---|
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'targets': [ | 6 'targets': [ |
7 { | 7 { |
8 'target_name': 'libwebp_dec', | 8 'target_name': 'libwebp_dec', |
9 'type': 'static_library', | 9 'type': 'static_library', |
10 'dependencies' : [ | 10 'dependencies' : [ |
(...skipping 25 matching lines...) Expand all Loading... | |
36 'dependencies' : [ | 36 'dependencies' : [ |
37 'libwebp_utils', | 37 'libwebp_utils', |
38 ], | 38 ], |
39 }, | 39 }, |
40 { | 40 { |
41 'target_name': 'libwebp_dsp', | 41 'target_name': 'libwebp_dsp', |
42 'type': 'static_library', | 42 'type': 'static_library', |
43 'include_dirs': ['.'], | 43 'include_dirs': ['.'], |
44 'sources': [ | 44 'sources': [ |
45 'dsp/alpha_processing.c', | 45 'dsp/alpha_processing.c', |
46 'dsp/alpha_processing_sse2.c', | 46 'dsp/alpha_processing_mips_dsp_r2.c', |
47 'dsp/argb.c', | |
48 'dsp/argb_mips_dsp_r2.c', | |
49 'dsp/cost.c', | |
50 'dsp/cost_mips32.c', | |
51 'dsp/cost_mips_dsp_r2.c', | |
47 'dsp/cpu.c', | 52 'dsp/cpu.c', |
48 'dsp/dec.c', | 53 'dsp/dec.c', |
49 'dsp/dec_clip_tables.c', | 54 'dsp/dec_clip_tables.c', |
50 'dsp/dec_mips32.c', | 55 'dsp/dec_mips32.c', |
51 'dsp/dec_sse2.c', | 56 'dsp/dec_mips_dsp_r2.c', |
52 'dsp/enc.c', | 57 'dsp/enc.c', |
53 'dsp/enc_avx2.c', | 58 'dsp/enc_avx2.c', |
54 'dsp/enc_mips32.c', | 59 'dsp/enc_mips32.c', |
55 'dsp/enc_sse2.c', | 60 'dsp/enc_mips_dsp_r2.c', |
61 'dsp/filters.c', | |
62 'dsp/filters_mips_dsp_r2.c', | |
56 'dsp/lossless.c', | 63 'dsp/lossless.c', |
57 'dsp/lossless_mips32.c', | 64 'dsp/lossless_enc.c', |
58 'dsp/lossless_sse2.c', | 65 'dsp/lossless_enc_mips32.c', |
66 'dsp/lossless_enc_mips_dsp_r2.c', | |
67 'dsp/lossless_mips_dsp_r2.c', | |
68 'dsp/rescaler.c', | |
69 'dsp/rescaler_mips32.c', | |
70 'dsp/rescaler_mips_dsp_r2.c', | |
59 'dsp/upsampling.c', | 71 'dsp/upsampling.c', |
60 'dsp/upsampling_sse2.c', | 72 'dsp/upsampling_mips_dsp_r2.c', |
61 'dsp/yuv.c', | 73 'dsp/yuv.c', |
62 'dsp/yuv_mips32.c', | 74 'dsp/yuv_mips32.c', |
63 'dsp/yuv_sse2.c', | 75 'dsp/yuv_mips_dsp_r2.c', |
64 ], | 76 ], |
65 'dependencies' : [ | 77 'dependencies' : [ |
78 'libwebp_dsp_sse2', | |
79 'libwebp_dsp_sse41', | |
66 'libwebp_utils', | 80 'libwebp_utils', |
67 ], | 81 ], |
68 'conditions': [ | 82 'conditions': [ |
69 ['OS == "android"', { | 83 ['OS == "android"', { |
70 'dependencies': [ '../../build/android/ndk.gyp:cpu_features' ], | 84 'dependencies': [ '../../build/android/ndk.gyp:cpu_features' ], |
71 }], | 85 }], |
86 ['target_arch=="ia32" or target_arch=="x64"', { | |
87 'defines': [ 'WEBP_HAVE_SSE2', 'WEBP_HAVE_SSE41' ], | |
88 }], | |
72 ['order_profiling != 0', { | 89 ['order_profiling != 0', { |
73 'target_conditions' : [ | 90 'target_conditions' : [ |
74 ['_toolset=="target"', { | 91 ['_toolset=="target"', { |
92 'cflags!': [ '-finstrument-functions' ], | |
93 }], | |
94 ], | |
95 }], | |
96 ], | |
97 }, | |
98 { | |
99 'target_name': 'libwebp_dsp_sse2', | |
100 'type': 'static_library', | |
101 'include_dirs': ['.'], | |
102 'sources': [ | |
103 'dsp/alpha_processing_sse2.c', | |
104 'dsp/argb_sse2.c', | |
105 'dsp/cost_sse2.c', | |
106 'dsp/dec_sse2.c', | |
107 'dsp/enc_sse2.c', | |
108 'dsp/filters_sse2.c', | |
109 'dsp/lossless_enc_sse2.c', | |
110 'dsp/lossless_sse2.c', | |
111 'dsp/rescaler_sse2.c', | |
112 'dsp/upsampling_sse2.c', | |
113 'dsp/yuv_sse2.c', | |
114 ], | |
115 'conditions': [ | |
116 ['(target_arch=="ia32" or target_arch=="x64") and msan==0', { | |
117 'cflags': [ '-msse2', ], | |
urvang
2015/12/28 19:50:36
Shouldn't this be using "defines"?
jzern
2015/12/29 00:16:17
Do you mean add one for WEBP_HAVE_SSE2? It isn't s
urvang
2015/12/29 00:29:22
I was actually looking at this diff: https://coder
jzern
2015/12/29 17:33:39
we still want the machine flags, though they aren'
| |
118 'xcode_settings': { 'OTHER_CFLAGS': [ '-msse2' ] }, | |
119 }], | |
120 ['order_profiling != 0', { | |
121 'target_conditions' : [ | |
122 ['_toolset=="target"', { | |
123 'cflags!': [ '-finstrument-functions' ], | |
124 }], | |
125 ], | |
126 }], | |
127 ], | |
128 }, | |
129 { | |
130 'target_name': 'libwebp_dsp_sse41', | |
131 'type': 'static_library', | |
132 'include_dirs': ['.'], | |
133 'sources': [ | |
134 'dsp/alpha_processing_sse41.c', | |
135 'dsp/dec_sse41.c', | |
136 'dsp/enc_sse41.c', | |
137 'dsp/lossless_enc_sse41.c', | |
138 ], | |
139 'conditions': [ | |
140 ['OS=="win" and clang==1', { | |
141 # cl.exe's /arch flag doesn't have a setting for SSSE3/4, and cl.exe | |
142 # doesn't need it for intrinsics. clang-cl does need it, though. | |
143 'msvs_settings': { | |
144 'VCCLCompilerTool': { 'AdditionalOptions': [ '-msse4.1' ] }, | |
145 }, | |
146 }], | |
147 ['(target_arch=="ia32" or target_arch=="x64") and msan==0', { | |
148 'cflags': [ '-msse4.1', ], | |
urvang
2015/12/28 19:50:36
And this too?
jzern
2015/12/29 17:33:39
this one was the source of the revert. we detected
| |
149 'xcode_settings': { 'OTHER_CFLAGS': [ '-msse4.1' ] }, | |
150 }], | |
151 ['order_profiling != 0', { | |
152 'target_conditions' : [ | |
153 ['_toolset=="target"', { | |
75 'cflags!': [ '-finstrument-functions' ], | 154 'cflags!': [ '-finstrument-functions' ], |
76 }], | 155 }], |
77 ], | 156 ], |
78 }], | 157 }], |
79 ], | 158 ], |
80 }, | 159 }, |
81 { | 160 { |
82 'target_name': 'libwebp_dsp_neon', | 161 'target_name': 'libwebp_dsp_neon', |
83 'includes' : [ | 162 'includes' : [ |
84 # Disable LTO due to Neon issues. | 163 # Disable LTO due to Neon issues. |
85 # crbug.com/408997 | 164 # crbug.com/408997 |
86 '../../build/android/disable_gcc_lto.gypi', | 165 '../../build/android/disable_gcc_lto.gypi', |
87 ], | 166 ], |
88 'conditions': [ | 167 'conditions': [ |
89 # iOS uses the same project to generate build project for both device | 168 # iOS uses the same project to generate build project for both device |
90 # and simulator and do not use "target_arch" variable. Other platform | 169 # and simulator and do not use "target_arch" variable. Other platform |
91 # set it correctly. | 170 # set it correctly. |
92 ['OS == "ios" or (target_arch == "arm" and arm_version >= 7 and (arm_neo n == 1 or arm_neon_optional == 1)) or (target_arch == "arm64")', { | 171 ['OS == "ios" or (target_arch == "arm" and arm_version >= 7 and (arm_neo n == 1 or arm_neon_optional == 1)) or (target_arch == "arm64")', { |
93 'type': 'static_library', | 172 'type': 'static_library', |
94 'include_dirs': ['.'], | 173 'include_dirs': ['.'], |
95 'sources': [ | 174 'sources': [ |
96 'dsp/dec_neon.c', | 175 'dsp/dec_neon.c', |
97 'dsp/enc_neon.c', | 176 'dsp/enc_neon.c', |
177 'dsp/lossless_enc_neon.c', | |
98 'dsp/lossless_neon.c', | 178 'dsp/lossless_neon.c', |
179 'dsp/rescaler_neon.c', | |
99 'dsp/upsampling_neon.c', | 180 'dsp/upsampling_neon.c', |
100 ], | 181 ], |
101 'conditions': [ | 182 'conditions': [ |
102 ['target_arch == "arm" and arm_version >= 7 and (arm_neon == 1 or ar m_neon_optional == 1)', { | 183 ['target_arch == "arm" and arm_version >= 7 and (arm_neon == 1 or ar m_neon_optional == 1)', { |
103 # behavior similar to *.c.neon in an Android.mk | 184 # behavior similar to *.c.neon in an Android.mk |
104 'cflags!': [ '-mfpu=vfpv3-d16' ], | 185 'cflags!': [ '-mfpu=vfpv3-d16' ], |
105 'cflags': [ '-mfpu=neon' ], | 186 'cflags': [ '-mfpu=neon' ], |
106 }], | 187 }], |
107 ['target_arch == "arm64"', { | 188 ['target_arch == "arm64"', { |
108 # avoid an ICE with gcc-4.9: b/15574841 | 189 # avoid an ICE with gcc-4.9: b/15574841 |
(...skipping 15 matching lines...) Expand all Loading... | |
124 { | 205 { |
125 'target_name': 'libwebp_enc', | 206 'target_name': 'libwebp_enc', |
126 'type': 'static_library', | 207 'type': 'static_library', |
127 'include_dirs': ['.'], | 208 'include_dirs': ['.'], |
128 'sources': [ | 209 'sources': [ |
129 'enc/alpha.c', | 210 'enc/alpha.c', |
130 'enc/analysis.c', | 211 'enc/analysis.c', |
131 'enc/backward_references.c', | 212 'enc/backward_references.c', |
132 'enc/config.c', | 213 'enc/config.c', |
133 'enc/cost.c', | 214 'enc/cost.c', |
215 'enc/delta_palettization.c', | |
134 'enc/filter.c', | 216 'enc/filter.c', |
135 'enc/frame.c', | 217 'enc/frame.c', |
136 'enc/histogram.c', | 218 'enc/histogram.c', |
137 'enc/iterator.c', | 219 'enc/iterator.c', |
220 'enc/near_lossless.c', | |
138 'enc/picture.c', | 221 'enc/picture.c', |
139 'enc/picture_csp.c', | 222 'enc/picture_csp.c', |
140 'enc/picture_psnr.c', | 223 'enc/picture_psnr.c', |
141 'enc/picture_rescale.c', | 224 'enc/picture_rescale.c', |
142 'enc/picture_tools.c', | 225 'enc/picture_tools.c', |
143 'enc/quant.c', | 226 'enc/quant.c', |
144 'enc/syntax.c', | 227 'enc/syntax.c', |
145 'enc/token.c', | 228 'enc/token.c', |
146 'enc/tree.c', | 229 'enc/tree.c', |
147 'enc/vp8l.c', | 230 'enc/vp8l.c', |
(...skipping 20 matching lines...) Expand all Loading... | |
168 'utils/rescaler.c', | 251 'utils/rescaler.c', |
169 'utils/thread.c', | 252 'utils/thread.c', |
170 'utils/utils.c', | 253 'utils/utils.c', |
171 ], | 254 ], |
172 'variables': { | 255 'variables': { |
173 'clang_warning_flags': [ | 256 'clang_warning_flags': [ |
174 # See https://code.google.com/p/webp/issues/detail?id=253. | 257 # See https://code.google.com/p/webp/issues/detail?id=253. |
175 '-Wno-incompatible-pointer-types', | 258 '-Wno-incompatible-pointer-types', |
176 ] | 259 ] |
177 }, | 260 }, |
178 'direct_dependent_settings': { | |
179 'variables': { | |
180 'clang_warning_flags': [ | |
181 # See https://code.google.com/p/webp/issues/detail?id=253. | |
182 '-Wno-incompatible-pointer-types', | |
183 ] | |
184 }, | |
185 }, | |
186 }, | 261 }, |
187 { | 262 { |
188 'target_name': 'libwebp', | 263 'target_name': 'libwebp', |
189 'type': 'none', | 264 'type': 'none', |
190 'dependencies' : [ | 265 'dependencies' : [ |
191 'libwebp_dec', | 266 'libwebp_dec', |
192 'libwebp_demux', | 267 'libwebp_demux', |
193 'libwebp_dsp', | 268 'libwebp_dsp', |
194 'libwebp_dsp_neon', | 269 'libwebp_dsp_neon', |
195 'libwebp_enc', | 270 'libwebp_enc', |
196 'libwebp_utils', | 271 'libwebp_utils', |
197 ], | 272 ], |
198 'direct_dependent_settings': { | 273 'direct_dependent_settings': { |
199 'include_dirs': ['.'], | 274 'include_dirs': ['.'], |
200 }, | 275 }, |
201 'conditions': [ | 276 'conditions': [ |
202 ['OS!="win"', {'product_name': 'webp'}], | 277 ['OS!="win"', {'product_name': 'webp'}], |
203 ], | 278 ], |
204 }, | 279 }, |
205 ], | 280 ], |
206 } | 281 } |
OLD | NEW |