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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 ], | 115 ], |
116 'include_dirs': [ | 116 'include_dirs': [ |
117 '../src/core', | 117 '../src/core', |
118 ], | 118 ], |
119 'conditions': [ | 119 'conditions': [ |
120 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome
os", "android"]', { | 120 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chrome
os", "android"]', { |
121 'cflags': [ | 121 'cflags': [ |
122 '-mssse3', | 122 '-mssse3', |
123 ], | 123 ], |
124 }], | 124 }], |
125 # TODO(epoger): the following will enable SSSE3 on Macs, but it will | 125 # (Mac has -mssse3 globally.) |
126 # break once we set OTHER_CFLAGS anywhere else (the first setting will | |
127 # be replaced, not added to) | |
128 [ 'skia_os in ["mac"]', { | |
129 'xcode_settings': { | |
130 'OTHER_CFLAGS': ['-mssse3',], | |
131 }, | |
132 }], | |
133 [ 'skia_arch_type == "x86"', { | 126 [ 'skia_arch_type == "x86"', { |
134 'sources': [ | 127 'sources': [ |
135 '../src/opts/SkBitmapProcState_opts_SSSE3.cpp', | 128 '../src/opts/SkBitmapProcState_opts_SSSE3.cpp', |
136 ], | 129 ], |
137 }], | 130 }], |
138 ], | 131 ], |
139 }, | 132 }, |
140 # NEON code must be compiled with -mfpu=neon which also affects scalar | 133 # NEON code must be compiled with -mfpu=neon which also affects scalar |
141 # code. To support dynamic NEON code paths, we need to build all | 134 # code. To support dynamic NEON code paths, we need to build all |
142 # NEON-specific sources in a separate static library. The situation | 135 # NEON-specific sources in a separate static library. The situation |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 ], | 171 ], |
179 }, | 172 }, |
180 ], | 173 ], |
181 } | 174 } |
182 | 175 |
183 # Local Variables: | 176 # Local Variables: |
184 # tab-width:2 | 177 # tab-width:2 |
185 # indent-tabs-mode:nil | 178 # indent-tabs-mode:nil |
186 # End: | 179 # End: |
187 # vim: set expandtab tabstop=2 shiftwidth=2: | 180 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |