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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
200 '-mssse3', | 200 '-mssse3', |
201 ], | 201 ], |
202 }], | 202 }], |
203 ], | 203 ], |
204 }, | 204 }, |
205 # For the same lame reasons as what is done for skia_opts, we also have to | 205 # For the same lame reasons as what is done for skia_opts, we also have to |
206 # create another target specifically for SSE4 code as we would not want | 206 # create another target specifically for SSE4 code as we would not want |
207 # to compile the SSE2 code with -msse4 which would potentially allow | 207 # to compile the SSE2 code with -msse4 which would potentially allow |
208 # gcc to generate SSE4 code. | 208 # gcc to generate SSE4 code. |
209 { | 209 { |
210 'target_name': 'opts_sse4', | 210 'target_name': 'opts_sse4', |
Nico
2015/01/26 22:23:02
You probably need something like https://coderevie
| |
211 'product_name': 'skia_opts_sse4', | 211 'product_name': 'skia_opts_sse4', |
212 'type': 'static_library', | 212 'type': 'static_library', |
213 'standalone_static_library': 1, | 213 'standalone_static_library': 1, |
214 'dependencies': [ | 214 'dependencies': [ |
215 'core.gyp:*', | 215 'core.gyp:*', |
216 'effects.gyp:*' | 216 'effects.gyp:*' |
217 ], | 217 ], |
218 'include_dirs': [ | 218 'include_dirs': [ |
219 '../src/core', | 219 '../src/core', |
220 '../src/utils', | 220 '../src/utils', |
221 ], | 221 ], |
222 'sources': [ | 222 'sources': [ |
223 '../src/opts/SkBlitRow_opts_SSE4.cpp', | |
223 '../src/opts/SkBlurImage_opts_SSE4.cpp', | 224 '../src/opts/SkBlurImage_opts_SSE4.cpp', |
224 ], | 225 ], |
225 'conditions': [ | 226 'conditions': [ |
226 [ 'skia_arch_width == 64', { | |
227 'sources': [ | |
228 '../src/opts/SkBlitRow_opts_SSE4_x64_asm.S', | |
229 ], | |
230 }], | |
231 [ 'skia_arch_width == 32', { | |
232 'sources': [ | |
233 '../src/opts/SkBlitRow_opts_SSE4_asm.S', | |
234 ], | |
235 }], | |
236 [ 'skia_os == "win"', { | 227 [ 'skia_os == "win"', { |
237 'defines' : [ 'SK_CPU_SSE_LEVEL=41' ], | 228 'defines' : [ 'SK_CPU_SSE_LEVEL=41' ], |
238 }], | 229 }], |
239 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome os", "android"] \ | 230 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome os", "android"] \ |
240 and not skia_android_framework', { | 231 and not skia_android_framework', { |
241 'cflags': [ | 232 'cflags': [ |
242 '-msse4.1', | 233 '-msse4.1', |
243 ], | 234 ], |
244 }], | 235 }], |
245 [ 'skia_os == "mac"', { | 236 [ 'skia_os == "mac"', { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
299 '../src/opts/SkBlitMask_opts_arm_neon.cpp', | 290 '../src/opts/SkBlitMask_opts_arm_neon.cpp', |
300 '../src/opts/SkBlitRow_opts_arm_neon.cpp', | 291 '../src/opts/SkBlitRow_opts_arm_neon.cpp', |
301 '../src/opts/SkBlurImage_opts_neon.cpp', | 292 '../src/opts/SkBlurImage_opts_neon.cpp', |
302 '../src/opts/SkMorphology_opts_neon.cpp', | 293 '../src/opts/SkMorphology_opts_neon.cpp', |
303 '../src/opts/SkTextureCompression_opts_neon.cpp', | 294 '../src/opts/SkTextureCompression_opts_neon.cpp', |
304 '../src/opts/SkXfermode_opts_arm_neon.cpp', | 295 '../src/opts/SkXfermode_opts_arm_neon.cpp', |
305 ], | 296 ], |
306 }, | 297 }, |
307 ], | 298 ], |
308 } | 299 } |
OLD | NEW |