OLD | NEW |
1 { | 1 { |
2 'targets': [ | 2 'targets': [ |
3 # Due to an unfortunate intersection of lameness between gcc and gyp, | 3 # Due to an unfortunate intersection of lameness between gcc and gyp, |
4 # we have to build the *_SSE2.cpp files in a separate target. The | 4 # we have to build the *_SSE2.cpp files in a separate target. The |
5 # gcc lameness is that, in order to compile SSE2 intrinsics code, it | 5 # gcc lameness is that, in order to compile SSE2 intrinsics code, it |
6 # must be passed the -msse2 flag. However, with this flag, it may | 6 # must be passed the -msse2 flag. However, with this flag, it may |
7 # emit SSE2 instructions even for scalar code, such as the CPUID | 7 # emit SSE2 instructions even for scalar code, such as the CPUID |
8 # test used to test for the presence of SSE2. So that, and all other | 8 # test used to test for the presence of SSE2. So that, and all other |
9 # code must be compiled *without* -msse2. The gyp lameness is that it | 9 # code must be compiled *without* -msse2. The gyp lameness is that it |
10 # does not allow file-specific CFLAGS, so we must create this extra | 10 # does not allow file-specific CFLAGS, so we must create this extra |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 ], | 44 ], |
45 'dependencies': [ | 45 'dependencies': [ |
46 'opts_ssse3', | 46 'opts_ssse3', |
47 ], | 47 ], |
48 'sources': [ | 48 'sources': [ |
49 '../src/opts/opts_check_SSE2.cpp', | 49 '../src/opts/opts_check_SSE2.cpp', |
50 '../src/opts/SkBitmapProcState_opts_SSE2.cpp', | 50 '../src/opts/SkBitmapProcState_opts_SSE2.cpp', |
51 '../src/opts/SkBitmapFilter_opts_SSE2.cpp', | 51 '../src/opts/SkBitmapFilter_opts_SSE2.cpp', |
52 '../src/opts/SkBlitRow_opts_SSE2.cpp', | 52 '../src/opts/SkBlitRow_opts_SSE2.cpp', |
53 '../src/opts/SkBlitRect_opts_SSE2.cpp', | 53 '../src/opts/SkBlitRect_opts_SSE2.cpp', |
| 54 '../src/opts/SkMorphology_opts_SSE2.cpp', |
54 '../src/opts/SkUtils_opts_SSE2.cpp', | 55 '../src/opts/SkUtils_opts_SSE2.cpp', |
55 '../src/opts/SkXfermode_opts_none.cpp', | 56 '../src/opts/SkXfermode_opts_none.cpp', |
56 ], | 57 ], |
57 }], | 58 }], |
58 [ 'skia_arch_type == "arm" and arm_version >= 7', { | 59 [ 'skia_arch_type == "arm" and arm_version >= 7', { |
59 # The assembly uses the frame pointer register (r7 in Thumb/r11 in | 60 # The assembly uses the frame pointer register (r7 in Thumb/r11 in |
60 # ARM), the compiler doesn't like that. | 61 # ARM), the compiler doesn't like that. |
61 'cflags!': [ | 62 'cflags!': [ |
62 '-fno-omit-frame-pointer', | 63 '-fno-omit-frame-pointer', |
63 '-mapcs-frame', | 64 '-mapcs-frame', |
(...skipping 29 matching lines...) Expand all Loading... |
93 '../src/opts/SkBlitRow_opts_arm.cpp', | 94 '../src/opts/SkBlitRow_opts_arm.cpp', |
94 ], | 95 ], |
95 }], | 96 }], |
96 ], | 97 ], |
97 }], | 98 }], |
98 [ '(skia_arch_type == "arm" and arm_version < 7) or (skia_os == "ios")',
{ | 99 [ '(skia_arch_type == "arm" and arm_version < 7) or (skia_os == "ios")',
{ |
99 'sources': [ | 100 'sources': [ |
100 '../src/opts/SkBitmapProcState_opts_none.cpp', | 101 '../src/opts/SkBitmapProcState_opts_none.cpp', |
101 '../src/opts/SkBlitMask_opts_none.cpp', | 102 '../src/opts/SkBlitMask_opts_none.cpp', |
102 '../src/opts/SkBlitRow_opts_none.cpp', | 103 '../src/opts/SkBlitRow_opts_none.cpp', |
| 104 '../src/opts/SkMorphology_opts_none.cpp', |
103 '../src/opts/SkUtils_opts_none.cpp', | 105 '../src/opts/SkUtils_opts_none.cpp', |
104 '../src/opts/SkXfermode_opts_none.cpp', | 106 '../src/opts/SkXfermode_opts_none.cpp', |
105 ], | 107 ], |
106 }], | 108 }], |
107 ], | 109 ], |
108 }, | 110 }, |
109 # For the same lame reasons as what is done for skia_opts, we have to | 111 # For the same lame reasons as what is done for skia_opts, we have to |
110 # create another target specifically for SSSE3 code as we would not want | 112 # create another target specifically for SSSE3 code as we would not want |
111 # to compile the SSE2 code with -mssse3 which would potentially allow | 113 # to compile the SSE2 code with -mssse3 which would potentially allow |
112 # gcc to generate SSSE3 code. | 114 # gcc to generate SSSE3 code. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 ], | 179 ], |
178 }, | 180 }, |
179 ], | 181 ], |
180 } | 182 } |
181 | 183 |
182 # Local Variables: | 184 # Local Variables: |
183 # tab-width:2 | 185 # tab-width:2 |
184 # indent-tabs-mode:nil | 186 # indent-tabs-mode:nil |
185 # End: | 187 # End: |
186 # vim: set expandtab tabstop=2 shiftwidth=2: | 188 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |