# 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', '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=="linux"', { 'variables': { 'asm_obj_dir': '<(shared_generated_dir)', 'obj_file_ending': 'o', 'conditions': [ ['target_arch=="ia32"', { 'yasm_flags': [ '-felf32', '-m', 'x86', ], },], ['target_arch=="x64"', { 'yasm_flags': [ '-felf64', '-m', 'amd64', ], },], ], }, 'dependencies': [ '../yasm/yasm.gyp:yasm#host', ], 'includes': [ 'input_files_linux.gypi', ], },], ['OS=="mac"', { 'variables': { 'asm_obj_dir': '<(shared_generated_dir)', 'obj_file_ending': 'o', 'conditions': [ ['target_arch=="ia32"', { 'yasm_flags': [ '-fmacho32', '-m', 'x86', ], },], ['target_arch=="x64"', { 'yasm_flags': [ '-fmacho64', '-m', 'amd64', ], },], ], }, 'dependencies': [ '../yasm/yasm.gyp:yasm#host', ], 'includes': [ 'input_files_mac.gypi', ], },], ['OS=="win"', { # Don't build yasm from source on Windows 'variables': { 'asm_obj_dir': 'asm', 'obj_file_ending': 'obj', 'yasm_path': '../yasm/binaries/win/yasm.exe', 'conditions': [ ['target_arch=="ia32"', { 'yasm_flags': [ '-fwin32', '-m', 'x86', ], },], ['target_arch=="x64"', { 'yasm_flags': [ '-fwin64', '-m', 'amd64', ], },], ], }, 'includes': [ 'input_files_win.gypi', ], },], ], 'include_dirs': [ 'source/config/<(OS)/<(target_arch)', 'source/libvpx/build', '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).', }, ], } ] } # Local Variables: # tab-width:2 # indent-tabs-mode:nil # End: # vim: set expandtab tabstop=2 shiftwidth=2: