webrtc/third_party/libvpx/libvpx.gyp

254 lines
9.4 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2010 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'targets': [
{
'target_name': 'libvpx',
'type': 'static_library',
# Don't build yasm from source on Windows
'conditions': [
['OS!="win"', {
'dependencies': [
'../yasm/yasm.gyp:yasm#host',
],
},
],
],
'variables': {
'shared_generated_dir':
'<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx',
'yasm_path': '<(PRODUCT_DIR)/yasm',
'yasm_flags': [
'-I', 'source/config/<(OS)/<(target_arch)',
'-I', 'source/libvpx'
],
'conditions': [
['OS!="win"', {
'asm_obj_dir':
'<(shared_generated_dir)',
'obj_file_ending':
'o',
},
{
'asm_obj_dir':
'asm',
'obj_file_ending':
'obj',
'yasm_path': '../yasm/binaries/win/yasm.exe',
}
],
['target_arch=="ia32"', {
'conditions': [
['OS=="linux"', {
'yasm_flags': [
'-felf32',
],
},
],
['OS=="mac"', {
'yasm_flags': [
'-fmacho32',
],
},
],
['OS=="win"', {
'yasm_flags': [
'-fwin32',
],
},
],
],
'yasm_flags': [
'-m', 'x86',
],
},
],
['target_arch=="x64"', {
'conditions': [
['OS=="linux"', {
'yasm_flags': [
'-felf64',
],
},
],
['OS=="mac"', {
'yasm_flags': [
'-fmacho64',
],
},
],
['OS=="win"', {
'yasm_flags': [
'-win64',
],
},
],
],
'yasm_flags': [
'-m', 'amd64',
],
},
],
],
},
'include_dirs': [
'source/config/<(OS)/<(target_arch)',
'source/libvpx',
'source/libvpx/vp8/common',
'source/libvpx/vp8/decoder',
'source/libvpx/vp8/encoder',
],
'rules': [
{
'rule_name': 'assemble',
'extension': 'asm',
'inputs': [ '<(yasm_path)', ],
'outputs': [
'<(asm_obj_dir)/<(RULE_INPUT_ROOT).<(obj_file_ending)',
],
'action': [
'<(yasm_path)',
'<@(yasm_flags)',
'-o', '<(asm_obj_dir)/<(RULE_INPUT_ROOT).<(obj_file_ending)',
'<(RULE_INPUT_PATH)',
],
'process_outputs_as_sources': 1,
'message': 'Build libvpx yasm build <(RULE_INPUT_PATH).',
},
],
'sources': [
'source/libvpx/vpx/src/vpx_decoder.c',
'source/libvpx/vpx/src/vpx_decoder_compat.c',
'source/libvpx/vpx/src/vpx_encoder.c',
'source/libvpx/vpx/src/vpx_codec.c',
'source/libvpx/vpx/src/vpx_image.c',
'source/libvpx/vpx_mem/vpx_mem.c',
'source/libvpx/vpx_scale/generic/vpxscale.c',
'source/libvpx/vpx_scale/generic/yv12config.c',
'source/libvpx/vpx_scale/generic/yv12extend.c',
'source/libvpx/vpx_scale/generic/scalesystemdependant.c',
'source/libvpx/vpx_scale/generic/gen_scalers.c',
'source/libvpx/vp8/common/alloccommon.c',
'source/libvpx/vp8/common/blockd.c',
'source/libvpx/vp8/common/debugmodes.c',
'source/libvpx/vp8/common/entropy.c',
'source/libvpx/vp8/common/entropymode.c',
'source/libvpx/vp8/common/entropymv.c',
'source/libvpx/vp8/common/extend.c',
'source/libvpx/vp8/common/filter.c',
'source/libvpx/vp8/common/findnearmv.c',
'source/libvpx/vp8/common/generic/systemdependent.c',
'source/libvpx/vp8/common/idctllm.c',
'source/libvpx/vp8/common/invtrans.c',
'source/libvpx/vp8/common/loopfilter.c',
'source/libvpx/vp8/common/loopfilter_filters.c',
'source/libvpx/vp8/common/mbpitch.c',
'source/libvpx/vp8/common/modecont.c',
'source/libvpx/vp8/common/modecontext.c',
'source/libvpx/vp8/common/postproc.c',
'source/libvpx/vp8/common/quant_common.c',
'source/libvpx/vp8/common/recon.c',
'source/libvpx/vp8/common/reconinter.c',
'source/libvpx/vp8/common/reconintra.c',
'source/libvpx/vp8/common/reconintra4x4.c',
'source/libvpx/vp8/common/setupintrarecon.c',
'source/libvpx/vp8/common/swapyv12buffer.c',
'source/libvpx/vp8/common/textblit.c',
'source/libvpx/vp8/common/treecoder.c',
'source/libvpx/vp8/common/x86/x86_systemdependent.c',
'source/libvpx/vp8/common/x86/vp8_asm_stubs.c',
'source/libvpx/vp8/common/x86/loopfilter_x86.c',
'source/libvpx/vp8/vp8_cx_iface.c',
'source/libvpx/vp8/encoder/bitstream.c',
'source/libvpx/vp8/encoder/boolhuff.c',
'source/libvpx/vp8/encoder/dct.c',
'source/libvpx/vp8/encoder/encodeframe.c',
'source/libvpx/vp8/encoder/encodeintra.c',
'source/libvpx/vp8/encoder/encodemb.c',
'source/libvpx/vp8/encoder/encodemv.c',
'source/libvpx/vp8/encoder/ethreading.c',
'source/libvpx/vp8/encoder/firstpass.c',
'source/libvpx/vp8/encoder/generic/csystemdependent.c',
'source/libvpx/vp8/encoder/mcomp.c',
'source/libvpx/vp8/encoder/modecosts.c',
'source/libvpx/vp8/encoder/onyx_if.c',
'source/libvpx/vp8/encoder/pickinter.c',
'source/libvpx/vp8/encoder/picklpf.c',
'source/libvpx/vp8/encoder/psnr.c',
'source/libvpx/vp8/encoder/quantize.c',
'source/libvpx/vp8/encoder/ratectrl.c',
'source/libvpx/vp8/encoder/rdopt.c',
'source/libvpx/vp8/encoder/sad_c.c',
'source/libvpx/vp8/encoder/segmentation.c',
'source/libvpx/vp8/encoder/tokenize.c',
'source/libvpx/vp8/encoder/treewriter.c',
'source/libvpx/vp8/encoder/variance_c.c',
'source/libvpx/vp8/encoder/temporal_filter.c',
'source/libvpx/vp8/encoder/x86/x86_csystemdependent.c',
'source/libvpx/vp8/encoder/x86/variance_mmx.c',
'source/libvpx/vp8/encoder/x86/variance_sse2.c',
'source/libvpx/vp8/vp8_dx_iface.c',
'source/libvpx/vp8/decoder/dboolhuff.c',
'source/libvpx/vp8/decoder/decodemv.c',
'source/libvpx/vp8/decoder/decodframe.c',
'source/libvpx/vp8/decoder/dequantize.c',
'source/libvpx/vp8/decoder/detokenize.c',
'source/libvpx/vp8/decoder/generic/dsystemdependent.c',
'source/libvpx/vp8/decoder/onyxd_if.c',
'source/libvpx/vp8/decoder/threading.c',
'source/libvpx/vp8/decoder/idct_blk.c',
'source/libvpx/vp8/decoder/reconintra_mt.c',
'source/libvpx/vp8/decoder/x86/x86_dsystemdependent.c',
'source/libvpx/vp8/decoder/x86/idct_blk_mmx.c',
'source/libvpx/vp8/decoder/x86/idct_blk_sse2.c',
'source/libvpx/vpx_ports/x86_cpuid.c',
# Yasm inputs.
'source/libvpx/vp8/common/x86/idctllm_mmx.asm',
'source/libvpx/vp8/common/x86/idctllm_sse2.asm',
'source/libvpx/vp8/common/x86/iwalsh_mmx.asm',
'source/libvpx/vp8/common/x86/iwalsh_sse2.asm',
'source/libvpx/vp8/common/x86/loopfilter_mmx.asm',
'source/libvpx/vp8/common/x86/loopfilter_sse2.asm',
'source/libvpx/vp8/common/x86/postproc_mmx.asm',
'source/libvpx/vp8/common/x86/postproc_sse2.asm',
'source/libvpx/vp8/common/x86/recon_mmx.asm',
'source/libvpx/vp8/common/x86/recon_sse2.asm',
'source/libvpx/vp8/common/x86/subpixel_mmx.asm',
'source/libvpx/vp8/common/x86/subpixel_sse2.asm',
'source/libvpx/vp8/common/x86/subpixel_ssse3.asm',
'source/libvpx/vp8/decoder/x86/dequantize_mmx.asm',
'source/libvpx/vp8/encoder/x86/dct_mmx.asm',
'source/libvpx/vp8/encoder/x86/dct_sse2.asm',
'source/libvpx/vp8/encoder/x86/encodeopt.asm',
'source/libvpx/vp8/encoder/x86/fwalsh_sse2.asm',
'source/libvpx/vp8/encoder/x86/quantize_mmx.asm',
'source/libvpx/vp8/encoder/x86/quantize_sse2.asm',
'source/libvpx/vp8/encoder/x86/quantize_ssse3.asm',
'source/libvpx/vp8/encoder/x86/sad_mmx.asm',
'source/libvpx/vp8/encoder/x86/sad_sse2.asm',
'source/libvpx/vp8/encoder/x86/sad_sse3.asm',
'source/libvpx/vp8/encoder/x86/sad_sse4.asm',
'source/libvpx/vp8/encoder/x86/sad_ssse3.asm',
'source/libvpx/vp8/encoder/x86/subtract_mmx.asm',
'source/libvpx/vp8/encoder/x86/subtract_sse2.asm',
'source/libvpx/vp8/encoder/x86/temporal_filter_apply_sse2.asm',
'source/libvpx/vp8/encoder/x86/variance_impl_mmx.asm',
'source/libvpx/vp8/encoder/x86/variance_impl_sse2.asm',
'source/libvpx/vpx_ports/emms.asm',
'source/libvpx/vpx_ports/x86_abi_support.asm',
# Generated by ./configure and checked in.
'source/config/<(OS)/<(target_arch)/vpx_config.c',
]
}
]
}
# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2: