Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: libvpx.gyp

Issue 1085023004: Fix arm/LTO build by moving neon asm files to intrinsics target. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Fix duplicate rule warning by avoiding copy Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 'variables': { 5 'variables': {
6 'libvpx_build_vp9%': 1, 6 'libvpx_build_vp9%': 1,
7 'libvpx_source%': 'source/libvpx', 7 'libvpx_source%': 'source/libvpx',
8 # Disable LTO for neon targets 8 # Disable LTO for neon targets
9 # crbug.com/408997 9 # crbug.com/408997
10 'use_lto%': 0, 10 'use_lto%': 0,
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 ], 218 ],
219 # 'libvpx' target for ARM builds. 219 # 'libvpx' target for ARM builds.
220 [ '(target_arch=="arm" or target_arch=="armv7") ', { 220 [ '(target_arch=="arm" or target_arch=="armv7") ', {
221 'targets': [ 221 'targets': [
222 { 222 {
223 # This libvpx target contains both encoder and decoder. 223 # This libvpx target contains both encoder and decoder.
224 # Encoder is configured to be realtime only. 224 # Encoder is configured to be realtime only.
225 'target_name': 'libvpx', 225 'target_name': 'libvpx',
226 'type': 'static_library', 226 'type': 'static_library',
227 227
228 # Copy the script to the output folder so that we can use it with 228 'includes': [ 'ads2gas.gypi', ],
229 # absolute path.
230 'copies': [{
231 'destination': '<(shared_generated_dir)',
232 'files': [
233 '<(ads2gas_script_path)',
234 '<(ads2gas_script_include)',
235 ],
236 }],
237 229
238 # Rule to convert .asm files to .S files.
239 'rules': [
240 {
241 'rule_name': 'convert_asm',
242 'extension': 'asm',
243 'inputs': [
244 '<(shared_generated_dir)/<(ads2gas_script)',
245 '<(shared_generated_dir)/thumb.pm',
246 ],
247 'outputs': [
248 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).S',
249 ],
250 'action': [
251 'bash',
252 '-c',
253 'cat <(RULE_INPUT_PATH) | perl <(shared_generated_dir)/<(ads2gas _script) -chromium > <(shared_generated_dir)/<(RULE_INPUT_ROOT).S',
254 ],
255 'process_outputs_as_sources': 1,
256 'message': 'Convert libvpx asm file for ARM <(RULE_INPUT_PATH)',
257 },
258 ],
259
260 'variables': {
261 'variables': {
262 'conditions': [
263 ['OS=="ios"', {
264 'ads2gas_script%': 'ads2gas_apple.pl',
265 }, {
266 'ads2gas_script%': 'ads2gas.pl',
267 }],
268 ],
269 },
270 'ads2gas_script%': '<(ads2gas_script)',
271 # Location of the assembly conversion script.
272 'ads2gas_script_path': '<(libvpx_source)/build/make/<(ads2gas_script )',
273 'ads2gas_script_include': '<(libvpx_source)/build/make/thumb.pm',
274 },
275 'xcode_settings': { 230 'xcode_settings': {
276 'OTHER_CFLAGS': [ 231 'OTHER_CFLAGS': [
277 '-I<!(pwd)/source/config/<(OS_CATEGORY)/<(target_arch_full)', 232 '-I<!(pwd)/source/config/<(OS_CATEGORY)/<(target_arch_full)',
278 '-I<!(pwd)/source/config', 233 '-I<!(pwd)/source/config',
279 '-I<(shared_generated_dir)', 234 '-I<(shared_generated_dir)',
280 ], 235 ],
281 }, 236 },
282 'include_dirs': [ 237 'include_dirs': [
283 'source/config/<(OS_CATEGORY)/<(target_arch_full)', 238 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
284 'source/config', 239 'source/config',
(...skipping 16 matching lines...) Expand all
301 # Libvpx optimizations for ARMv6 or ARMv7 without NEON. 256 # Libvpx optimizations for ARMv6 or ARMv7 without NEON.
302 ['arm_neon==0', { 257 ['arm_neon==0', {
303 'conditions': [ 258 'conditions': [
304 ['OS=="android"', { 259 ['OS=="android"', {
305 'includes': [ 260 'includes': [
306 'libvpx_srcs_arm_neon_cpu_detect.gypi', 261 'libvpx_srcs_arm_neon_cpu_detect.gypi',
307 ], 262 ],
308 'dependencies': [ 263 'dependencies': [
309 'libvpx_intrinsics_neon', 264 'libvpx_intrinsics_neon',
310 ], 265 ],
311 'cflags': [
312 '-Wa,-mfpu=neon',
313 ],
314 }, { 266 }, {
315 'includes': [ 267 'includes': [
316 'libvpx_srcs_arm.gypi', 268 'libvpx_srcs_arm.gypi',
317 ], 269 ],
318 }], 270 }],
319 ], 271 ],
320 }], 272 }],
321 # Libvpx optimizations for ARMv7 with NEON. 273 # Libvpx optimizations for ARMv7 with NEON.
322 ['arm_neon==1', { 274 ['arm_neon==1', {
323 'includes': [ 275 'includes': [
(...skipping 12 matching lines...) Expand all
336 '-fstack-protector-all', # Implies -fstack-protector 288 '-fstack-protector-all', # Implies -fstack-protector
337 ], 289 ],
338 }, 290 },
339 }], 291 }],
340 ], 292 ],
341 }, 293 },
342 ], 294 ],
343 }], 295 }],
344 ], 296 ],
345 } 297 }
OLDNEW
« ads2gas.gypi ('K') | « generate_gypi.sh ('k') | libvpx_srcs_arm_neon_cpu_detect.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698