OLD | NEW |
1 # Gyp file for opts projects | 1 # Gyp file for opts projects |
2 { | 2 { |
3 'targets': [ | 3 'targets': [ |
4 # Due to an unfortunate intersection of lameness between gcc and gyp, | 4 # Due to an unfortunate intersection of lameness between gcc and gyp, |
5 # we have to build the *_SSE2.cpp files in a separate target. The | 5 # we have to build the *_SSE2.cpp files in a separate target. The |
6 # gcc lameness is that, in order to compile SSE2 intrinsics code, it | 6 # gcc lameness is that, in order to compile SSE2 intrinsics code, it |
7 # must be passed the -msse2 flag. However, with this flag, it may | 7 # must be passed the -msse2 flag. However, with this flag, it may |
8 # emit SSE2 instructions even for scalar code, such as the CPUID | 8 # emit SSE2 instructions even for scalar code, such as the CPUID |
9 # test used to test for the presence of SSE2. So that, and all other | 9 # test used to test for the presence of SSE2. So that, and all other |
10 # code must be compiled *without* -msse2. The gyp lameness is that it | 10 # code must be compiled *without* -msse2. The gyp lameness is that it |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 'type': 'static_library', | 205 'type': 'static_library', |
206 'standalone_static_library': 1, | 206 'standalone_static_library': 1, |
207 'dependencies': [ | 207 'dependencies': [ |
208 'core.gyp:*', | 208 'core.gyp:*', |
209 'effects.gyp:*' | 209 'effects.gyp:*' |
210 ], | 210 ], |
211 'include_dirs': [ | 211 'include_dirs': [ |
212 '../src/core', | 212 '../src/core', |
213 ], | 213 ], |
214 'conditions': [ | 214 'conditions': [ |
215 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome
os", "android", "mac"] \ | 215 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome
os", "android"] \ |
216 and not skia_android_framework', { | 216 and not skia_android_framework', { |
217 'cflags': [ | 217 'cflags': [ |
218 '-msse4', | 218 '-msse4', |
219 ], | 219 ], |
220 }], | 220 }], |
221 [ 'skia_arch_width == 64 and skia_arch_type == "x86"', { | 221 [ 'skia_os == "mac"', { |
| 222 'xcode_settings': { |
| 223 'OTHER_CPLUSPLUSFLAGS!': [ |
| 224 '-mssse3', |
| 225 ], |
| 226 'OTHER_CPLUSPLUSFLAGS': [ |
| 227 '-msse4', |
| 228 ], |
| 229 }, |
| 230 }], |
| 231 [ 'skia_arch_type == "x86"', { |
222 'sources': [ | 232 'sources': [ |
223 '../src/opts/SkBlitRow_opts_SSE4_x64_asm.S', | 233 '../src/opts/SkBlurImage_opts_SSE4.cpp', |
| 234 ], |
| 235 'conditions': [ |
| 236 [ 'skia_arch_width == 64', { |
| 237 'sources': [ |
| 238 '../src/opts/SkBlitRow_opts_SSE4_x64_asm.S', |
| 239 ], |
| 240 }], |
| 241 [ 'skia_arch_width == 32', { |
| 242 'sources': [ |
| 243 '../src/opts/SkBlitRow_opts_SSE4_asm.S', |
| 244 ], |
| 245 }], |
224 ], | 246 ], |
225 }], | 247 }], |
226 [ 'skia_arch_width == 32 and skia_arch_type == "x86"', { | |
227 'sources': [ | |
228 '../src/opts/SkBlitRow_opts_SSE4_asm.S', | |
229 ], | |
230 }], | |
231 ], | 248 ], |
232 }, | 249 }, |
233 # NEON code must be compiled with -mfpu=neon which also affects scalar | 250 # NEON code must be compiled with -mfpu=neon which also affects scalar |
234 # code. To support dynamic NEON code paths, we need to build all | 251 # code. To support dynamic NEON code paths, we need to build all |
235 # NEON-specific sources in a separate static library. The situation | 252 # NEON-specific sources in a separate static library. The situation |
236 # is very similar to the SSSE3 and SSE4 one. | 253 # is very similar to the SSSE3 and SSE4 one. |
237 { | 254 { |
238 'target_name': 'opts_neon', | 255 'target_name': 'opts_neon', |
239 'product_name': 'skia_opts_neon', | 256 'product_name': 'skia_opts_neon', |
240 'type': 'static_library', | 257 'type': 'static_library', |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 '../src/opts/SkBitmapProcState_matrix_neon.h', | 290 '../src/opts/SkBitmapProcState_matrix_neon.h', |
274 '../src/opts/SkBlitMask_opts_arm_neon.cpp', | 291 '../src/opts/SkBlitMask_opts_arm_neon.cpp', |
275 '../src/opts/SkBlitRow_opts_arm_neon.cpp', | 292 '../src/opts/SkBlitRow_opts_arm_neon.cpp', |
276 '../src/opts/SkBlurImage_opts_neon.cpp', | 293 '../src/opts/SkBlurImage_opts_neon.cpp', |
277 '../src/opts/SkMorphology_opts_neon.cpp', | 294 '../src/opts/SkMorphology_opts_neon.cpp', |
278 '../src/opts/SkXfermode_opts_arm_neon.cpp', | 295 '../src/opts/SkXfermode_opts_arm_neon.cpp', |
279 ], | 296 ], |
280 }, | 297 }, |
281 ], | 298 ], |
282 } | 299 } |
OLD | NEW |