Chromium Code Reviews| 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==1', { |
|
Mark Mentovai
2011/03/11 16:00:22
Shouldn’t this be ==0?
Hironori Bono
2011/03/11 16:06:10
Done. Thank you for noticing it. (It seems my brai
|
| + '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 |