OLD | NEW |
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 'variables': { | 6 'variables': { |
7 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg_turb
o', | 7 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg_turb
o', |
8 'conditions': [ | 8 'conditions': [ |
9 [ 'chromeos==1 or OS=="freebsd" or OS=="openbsd"', { | 9 [ 'chromeos==1 or OS=="freebsd" or OS=="openbsd"', { |
10 # Link to system .so since we already use it due to GTK. | 10 # Link to system .so since we already use it due to GTK. |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 'simd/jdsamss2-64.asm', | 155 'simd/jdsamss2-64.asm', |
156 'simd/jfss2fst-64.asm', | 156 'simd/jfss2fst-64.asm', |
157 'simd/jfss2int-64.asm', | 157 'simd/jfss2int-64.asm', |
158 'simd/jfsseflt-64.asm', | 158 'simd/jfsseflt-64.asm', |
159 'simd/jiss2flt-64.asm', | 159 'simd/jiss2flt-64.asm', |
160 'simd/jiss2fst-64.asm', | 160 'simd/jiss2fst-64.asm', |
161 'simd/jiss2int-64.asm', | 161 'simd/jiss2int-64.asm', |
162 'simd/jiss2red-64.asm', | 162 'simd/jiss2red-64.asm', |
163 ], | 163 ], |
164 }], | 164 }], |
| 165 # The ARM SIMD implementation requires the Neon instruction set. |
165 [ 'target_arch=="arm"', { | 166 [ 'target_arch=="arm"', { |
166 'sources': [ | 167 'conditions': [ |
167 'simd/jsimd_arm.c', | 168 [ 'arm_neon==1', { |
168 'simd/jsimd_arm_neon.S', | 169 'sources': [ |
| 170 'simd/jsimd_arm.c', |
| 171 'simd/jsimd_arm_neon.S', |
| 172 ], |
| 173 }, { |
| 174 'sources': [ |
| 175 'simd/jsimd_none.c', |
| 176 ], |
| 177 }] |
169 ], | 178 ], |
170 }], | 179 }], |
171 | 180 |
172 # Build rules for an asm file. | 181 # Build rules for an asm file. |
173 # On Windows, we use the precompiled yasm binary. On Linux, we build | 182 # On Windows, we use the precompiled yasm binary. On Linux, we build |
174 # our patched yasm and use it except when use_system_yasm is 1. On | 183 # our patched yasm and use it except when use_system_yasm is 1. On |
175 # Mac, we always build our patched yasm and use it because of | 184 # Mac, we always build our patched yasm and use it because of |
176 # <http://www.tortall.net/projects/yasm/ticket/236>. | 185 # <http://www.tortall.net/projects/yasm/ticket/236>. |
177 [ 'OS=="win"', { | 186 [ 'OS=="win"', { |
178 'variables': { | 187 'variables': { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 ], | 240 ], |
232 }], | 241 }], |
233 ], | 242 ], |
234 }, | 243 }, |
235 }], | 244 }], |
236 ], | 245 ], |
237 'rules': [ | 246 'rules': [ |
238 { | 247 { |
239 'rule_name': 'assemble', | 248 'rule_name': 'assemble', |
240 'extension': 'asm', | 249 'extension': 'asm', |
241 'inputs': [ '<(yasm_path)', ], | 250 'conditions': [ |
242 'outputs': [ | 251 [ 'target_arch!="arm"', { |
243 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)', | 252 'inputs': [ '<(yasm_path)', ], |
244 ], | 253 'outputs': [ |
245 'action': [ | 254 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', |
246 '<(yasm_path)', | 255 ], |
247 '<(yasm_format)', | 256 'action': [ |
248 '<@(yasm_flags)', | 257 '<(yasm_path)', |
249 '-DRGBX_FILLER_0XFF', | 258 '<(yasm_format)', |
250 '-DSTRICT_MEMORY_ACCESS', | 259 '<@(yasm_flags)', |
251 '-Isimd/', | 260 '-DRGBX_FILLER_0XFF', |
252 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffi
x)', | 261 '-DSTRICT_MEMORY_ACCESS', |
253 '<(RULE_INPUT_PATH)', | 262 '-Isimd/', |
254 ], | 263 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', |
255 'process_outputs_as_sources': 1, | 264 '<(RULE_INPUT_PATH)', |
256 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | 265 ], |
| 266 'process_outputs_as_sources': 1, |
| 267 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', |
| 268 }], |
| 269 ] |
257 }, | 270 }, |
258 ], | 271 ], |
259 }, | 272 }, |
260 ], | 273 ], |
261 }, { # else: use_system_libjpeg != 0 | 274 }, { # else: use_system_libjpeg != 0 |
262 'targets': [ | 275 'targets': [ |
263 { | 276 { |
264 'target_name': 'libjpeg', | 277 'target_name': 'libjpeg', |
265 'type': 'settings', | 278 'type': 'settings', |
266 'direct_dependent_settings': { | 279 'direct_dependent_settings': { |
(...skipping 10 matching lines...) Expand all Loading... |
277 ], | 290 ], |
278 }], | 291 }], |
279 ], | 292 ], |
280 } | 293 } |
281 | 294 |
282 # Local Variables: | 295 # Local Variables: |
283 # tab-width:2 | 296 # tab-width:2 |
284 # indent-tabs-mode:nil | 297 # indent-tabs-mode:nil |
285 # End: | 298 # End: |
286 # vim: set expandtab tabstop=2 shiftwidth=2: | 299 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |