| Index: libjpeg.gyp
|
| ===================================================================
|
| --- libjpeg.gyp (revision 75235)
|
| +++ libjpeg.gyp (working copy)
|
| @@ -19,6 +19,8 @@
|
| 'object_suffix': 'o',
|
| }],
|
| ],
|
| +
|
| + 'use_system_yasm%': 0,
|
| },
|
| 'conditions': [
|
| [ 'use_system_libjpeg==0', {
|
| @@ -155,36 +157,20 @@
|
| }],
|
|
|
| # Build rules for an asm file.
|
| - # On Windows, we use the precompiled yasm binary. On Linux and Mac,
|
| - # we build yasm and use it as ffmpeg does.
|
| + # On Windows, we use the precompiled yasm binary. On Linux, we build
|
| + # our patched yasm and use it except when use_system_yasm is 1. On
|
| + # Mac, we always build our patched yasm and use it because of
|
| + # <http://www.tortall.net/projects/yasm/ticket/236>.
|
| [ 'OS=="win"', {
|
| 'variables': {
|
| 'yasm_path': '../yasm/binaries/win/yasm<(EXECUTABLE_SUFFIX)',
|
| + 'yasm_format': '-fwin32',
|
| + 'yasm_flags': [
|
| + '-DWIN32',
|
| + '-DMSVC',
|
| + '-Iwin/'
|
| + ],
|
| },
|
| - 'rules': [
|
| - {
|
| - 'rule_name': 'assemble',
|
| - 'extension': 'asm',
|
| - 'inputs': [ '<(RULE_INPUT_PATH)', ],
|
| - 'outputs': [
|
| - '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| - ],
|
| - 'action': [
|
| - '<(yasm_path)',
|
| - '-fwin32',
|
| - '-DWIN32',
|
| - '-DMSVC',
|
| - '-DRGBX_FILLER_0XFF',
|
| - '-DSTRICT_MEMORY_ACCESS',
|
| - '-Iwin/',
|
| - '-Isimd/',
|
| - '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| - '<(RULE_INPUT_PATH)',
|
| - ],
|
| - 'process_outputs_as_sources': 1,
|
| - 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
|
| - },
|
| - ],
|
| }],
|
| [ 'OS=="mac"', {
|
| 'dependencies': [
|
| @@ -192,73 +178,71 @@
|
| ],
|
| 'variables': {
|
| 'yasm_path': '<(PRODUCT_DIR)/yasm',
|
| + 'yasm_format': '-fmacho',
|
| + 'yasm_flags': [
|
| + '-DMACHO',
|
| + '-Imac/'
|
| + ],
|
| },
|
| - 'rules': [
|
| - {
|
| - 'rule_name': 'assemble',
|
| - 'extension': 'asm',
|
| - 'inputs': [ '<(yasm_path)', ],
|
| - 'outputs': [
|
| - '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| - ],
|
| - 'action': [
|
| - '<(yasm_path)',
|
| - '-fmacho',
|
| - '-DMACHO',
|
| - '-DRGBX_FILLER_0XFF',
|
| - '-DSTRICT_MEMORY_ACCESS',
|
| - '-Imac/',
|
| - '-Isimd/',
|
| - '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| - '<(RULE_INPUT_PATH)',
|
| - ],
|
| - 'process_outputs_as_sources': 1,
|
| - 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
|
| - },
|
| - ],
|
| }],
|
| [ 'OS=="linux"', {
|
| - 'dependencies': [
|
| - '../yasm/yasm.gyp:yasm#host',
|
| + 'conditions': [
|
| + [ 'use_system_yasm==0', {
|
| + 'dependencies': [
|
| + '../yasm/yasm.gyp:yasm#host',
|
| + ],
|
| + }],
|
| ],
|
| 'variables': {
|
| - 'yasm_path': '<(PRODUCT_DIR)/yasm',
|
| 'conditions': [
|
| + [ 'use_system_yasm==1', {
|
| + 'yasm_path': '<!(which yasm)',
|
| + }, {
|
| + 'yasm_path': '<(PRODUCT_DIR)/yasm',
|
| + }],
|
| [ 'target_arch=="ia32"', {
|
| 'yasm_format': '-felf',
|
| 'yasm_flag': '-D__X86__',
|
| + 'yasm_flags': [
|
| + '-D__x86__',
|
| + '-DELF',
|
| + '-Ilinux/'
|
| + ],
|
| }, {
|
| 'yasm_format': '-felf64',
|
| 'yasm_flag': '-D__x86_64__',
|
| + 'yasm_flags': [
|
| + '-D__x86_64__',
|
| + '-DELF',
|
| + '-Ilinux/'
|
| + ],
|
| }],
|
| ],
|
| },
|
| - 'rules': [
|
| - {
|
| - 'rule_name': 'assemble',
|
| - 'extension': 'asm',
|
| - 'inputs': [ '<(RULE_INPUT_PATH)', ],
|
| - 'outputs': [
|
| - '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| - ],
|
| - 'action': [
|
| - '<(yasm_path)',
|
| - '<(yasm_format)',
|
| - '-DELF',
|
| - '<(yasm_flag)',
|
| - '-DRGBX_FILLER_0XFF',
|
| - '-DSTRICT_MEMORY_ACCESS',
|
| - '-Ilinux/',
|
| - '-Isimd/',
|
| - '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| - '<(RULE_INPUT_PATH)',
|
| - ],
|
| - 'process_outputs_as_sources': 1,
|
| - 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
|
| - },
|
| - ],
|
| }],
|
| ],
|
| + 'rules': [
|
| + {
|
| + 'rule_name': 'assemble',
|
| + 'extension': 'asm',
|
| + 'inputs': [ '<(yasm_path)', ],
|
| + 'outputs': [
|
| + '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| + ],
|
| + 'action': [
|
| + '<(yasm_path)',
|
| + '<(yasm_format)',
|
| + '<@(yasm_flags)',
|
| + '-DRGBX_FILLER_0XFF',
|
| + '-DSTRICT_MEMORY_ACCESS',
|
| + '-Isimd/',
|
| + '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
|
| + '<(RULE_INPUT_PATH)',
|
| + ],
|
| + 'process_outputs_as_sources': 1,
|
| + 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
|
| + },
|
| + ],
|
| },
|
| ],
|
| }, { # else: use_system_libjpeg != 0
|
|
|