| OLD | NEW |
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 { | 5 { |
| 6 'variables': { | 6 'variables': { |
| 7 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg_turb
o', | 7 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg_turb
o', |
| 8 'conditions': [ | 8 'conditions': [ |
| 9 [ 'chromeos==1 or OS=="freebsd" or OS=="openbsd"', { | 9 [ 'chromeos==1 or OS=="freebsd" or OS=="openbsd"', { |
| 10 # Link to system .so since we already use it due to GTK. | 10 # Link to system .so since we already use it due to GTK. |
| 11 # See crbug.com/30288 and 31427 for why we skip OS=="linux" above. | 11 # See crbug.com/30288 and 31427 for why we skip OS=="linux" above. |
| 12 'use_system_libjpeg%': 1, | 12 'use_system_libjpeg%': 1, |
| 13 }, { # chromeos!=1 and OS!="freebsd" and OS!="openbsd" | 13 }, { # chromeos!=1 and OS!="freebsd" and OS!="openbsd" |
| 14 'use_system_libjpeg%': 0, | 14 'use_system_libjpeg%': 0, |
| 15 }], | 15 }], |
| 16 [ 'OS=="win"', { | 16 [ 'OS=="win"', { |
| 17 'object_suffix': 'obj', | 17 'object_suffix': 'obj', |
| 18 }, { | 18 }, { |
| 19 'object_suffix': 'o', | 19 'object_suffix': 'o', |
| 20 }], | 20 }], |
| 21 ], | 21 ], |
| 22 |
| 23 'use_system_yasm%': 0, |
| 22 }, | 24 }, |
| 23 'conditions': [ | 25 'conditions': [ |
| 24 [ 'use_system_libjpeg==0', { | 26 [ 'use_system_libjpeg==0', { |
| 25 'targets': [ | 27 'targets': [ |
| 26 { | 28 { |
| 27 'target_name': 'libjpeg', | 29 'target_name': 'libjpeg', |
| 28 'type': '<(library)', | 30 'type': '<(library)', |
| 29 'include_dirs': [ | 31 'include_dirs': [ |
| 30 '.', | 32 '.', |
| 31 ], | 33 ], |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 'simd/jfss2int-64.asm', | 150 'simd/jfss2int-64.asm', |
| 149 'simd/jiss2red-64.asm', | 151 'simd/jiss2red-64.asm', |
| 150 'simd/jiss2int-64.asm', | 152 'simd/jiss2int-64.asm', |
| 151 'simd/jiss2fst-64.asm', | 153 'simd/jiss2fst-64.asm', |
| 152 'simd/jcqnts2f-64.asm', | 154 'simd/jcqnts2f-64.asm', |
| 153 'simd/jiss2flt-64.asm', | 155 'simd/jiss2flt-64.asm', |
| 154 ], | 156 ], |
| 155 }], | 157 }], |
| 156 | 158 |
| 157 # Build rules for an asm file. | 159 # Build rules for an asm file. |
| 158 # On Windows, we use the precompiled yasm binary. On Linux and Mac, | 160 # On Windows, we use the precompiled yasm binary. On Linux, we build |
| 159 # we build yasm and use it as ffmpeg does. | 161 # our patched yasm and use it except when use_system_yasm is 1. On |
| 162 # Mac, we always build our patched yasm and use it because of |
| 163 # <http://www.tortall.net/projects/yasm/ticket/236>. |
| 160 [ 'OS=="win"', { | 164 [ 'OS=="win"', { |
| 161 'variables': { | 165 'variables': { |
| 162 'yasm_path': '../yasm/binaries/win/yasm<(EXECUTABLE_SUFFIX)', | 166 'yasm_path': '../yasm/binaries/win/yasm<(EXECUTABLE_SUFFIX)', |
| 167 'yasm_format': '-fwin32', |
| 168 'yasm_flags': [ |
| 169 '-DWIN32', |
| 170 '-DMSVC', |
| 171 '-Iwin/' |
| 172 ], |
| 163 }, | 173 }, |
| 164 'rules': [ | |
| 165 { | |
| 166 'rule_name': 'assemble', | |
| 167 'extension': 'asm', | |
| 168 'inputs': [ '<(RULE_INPUT_PATH)', ], | |
| 169 'outputs': [ | |
| 170 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', | |
| 171 ], | |
| 172 'action': [ | |
| 173 '<(yasm_path)', | |
| 174 '-fwin32', | |
| 175 '-DWIN32', | |
| 176 '-DMSVC', | |
| 177 '-DRGBX_FILLER_0XFF', | |
| 178 '-DSTRICT_MEMORY_ACCESS', | |
| 179 '-Iwin/', | |
| 180 '-Isimd/', | |
| 181 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', | |
| 182 '<(RULE_INPUT_PATH)', | |
| 183 ], | |
| 184 'process_outputs_as_sources': 1, | |
| 185 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | |
| 186 }, | |
| 187 ], | |
| 188 }], | 174 }], |
| 189 [ 'OS=="mac"', { | 175 [ 'OS=="mac"', { |
| 190 'dependencies': [ | 176 'dependencies': [ |
| 191 '../yasm/yasm.gyp:yasm#host', | 177 '../yasm/yasm.gyp:yasm#host', |
| 192 ], | 178 ], |
| 193 'variables': { | 179 'variables': { |
| 194 'yasm_path': '<(PRODUCT_DIR)/yasm', | 180 'yasm_path': '<(PRODUCT_DIR)/yasm', |
| 181 'yasm_format': '-fmacho', |
| 182 'yasm_flags': [ |
| 183 '-DMACHO', |
| 184 '-Imac/' |
| 185 ], |
| 195 }, | 186 }, |
| 196 'rules': [ | |
| 197 { | |
| 198 'rule_name': 'assemble', | |
| 199 'extension': 'asm', | |
| 200 'inputs': [ '<(yasm_path)', ], | |
| 201 'outputs': [ | |
| 202 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', | |
| 203 ], | |
| 204 'action': [ | |
| 205 '<(yasm_path)', | |
| 206 '-fmacho', | |
| 207 '-DMACHO', | |
| 208 '-DRGBX_FILLER_0XFF', | |
| 209 '-DSTRICT_MEMORY_ACCESS', | |
| 210 '-Imac/', | |
| 211 '-Isimd/', | |
| 212 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', | |
| 213 '<(RULE_INPUT_PATH)', | |
| 214 ], | |
| 215 'process_outputs_as_sources': 1, | |
| 216 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | |
| 217 }, | |
| 218 ], | |
| 219 }], | 187 }], |
| 220 [ 'OS=="linux"', { | 188 [ 'OS=="linux"', { |
| 221 'dependencies': [ | 189 'conditions': [ |
| 222 '../yasm/yasm.gyp:yasm#host', | 190 [ 'use_system_yasm==0', { |
| 191 'dependencies': [ |
| 192 '../yasm/yasm.gyp:yasm#host', |
| 193 ], |
| 194 }], |
| 223 ], | 195 ], |
| 224 'variables': { | 196 'variables': { |
| 225 'yasm_path': '<(PRODUCT_DIR)/yasm', | |
| 226 'conditions': [ | 197 'conditions': [ |
| 198 [ 'use_system_yasm==1', { |
| 199 'yasm_path': '<!(which yasm)', |
| 200 }, { |
| 201 'yasm_path': '<(PRODUCT_DIR)/yasm', |
| 202 }], |
| 227 [ 'target_arch=="ia32"', { | 203 [ 'target_arch=="ia32"', { |
| 228 'yasm_format': '-felf', | 204 'yasm_format': '-felf', |
| 229 'yasm_flag': '-D__X86__', | 205 'yasm_flag': '-D__X86__', |
| 206 'yasm_flags': [ |
| 207 '-D__x86__', |
| 208 '-DELF', |
| 209 '-Ilinux/' |
| 210 ], |
| 230 }, { | 211 }, { |
| 231 'yasm_format': '-felf64', | 212 'yasm_format': '-felf64', |
| 232 'yasm_flag': '-D__x86_64__', | 213 'yasm_flag': '-D__x86_64__', |
| 214 'yasm_flags': [ |
| 215 '-D__x86_64__', |
| 216 '-DELF', |
| 217 '-Ilinux/' |
| 218 ], |
| 233 }], | 219 }], |
| 234 ], | 220 ], |
| 235 }, | 221 }, |
| 236 'rules': [ | 222 }], |
| 237 { | 223 ], |
| 238 'rule_name': 'assemble', | 224 'rules': [ |
| 239 'extension': 'asm', | 225 { |
| 240 'inputs': [ '<(RULE_INPUT_PATH)', ], | 226 'rule_name': 'assemble', |
| 241 'outputs': [ | 227 'extension': 'asm', |
| 242 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', | 228 'inputs': [ '<(yasm_path)', ], |
| 243 ], | 229 'outputs': [ |
| 244 'action': [ | 230 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)', |
| 245 '<(yasm_path)', | |
| 246 '<(yasm_format)', | |
| 247 '-DELF', | |
| 248 '<(yasm_flag)', | |
| 249 '-DRGBX_FILLER_0XFF', | |
| 250 '-DSTRICT_MEMORY_ACCESS', | |
| 251 '-Ilinux/', | |
| 252 '-Isimd/', | |
| 253 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', | |
| 254 '<(RULE_INPUT_PATH)', | |
| 255 ], | |
| 256 'process_outputs_as_sources': 1, | |
| 257 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | |
| 258 }, | |
| 259 ], | 231 ], |
| 260 }], | 232 'action': [ |
| 233 '<(yasm_path)', |
| 234 '<(yasm_format)', |
| 235 '<@(yasm_flags)', |
| 236 '-DRGBX_FILLER_0XFF', |
| 237 '-DSTRICT_MEMORY_ACCESS', |
| 238 '-Isimd/', |
| 239 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffi
x)', |
| 240 '<(RULE_INPUT_PATH)', |
| 241 ], |
| 242 'process_outputs_as_sources': 1, |
| 243 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', |
| 244 }, |
| 261 ], | 245 ], |
| 262 }, | 246 }, |
| 263 ], | 247 ], |
| 264 }, { # else: use_system_libjpeg != 0 | 248 }, { # else: use_system_libjpeg != 0 |
| 265 'targets': [ | 249 'targets': [ |
| 266 { | 250 { |
| 267 'target_name': 'libjpeg', | 251 'target_name': 'libjpeg', |
| 268 'type': 'settings', | 252 'type': 'settings', |
| 269 'direct_dependent_settings': { | 253 'direct_dependent_settings': { |
| 270 'defines': [ | 254 'defines': [ |
| 271 'USE_SYSTEM_LIBJPEG', | 255 'USE_SYSTEM_LIBJPEG', |
| 272 ], | 256 ], |
| 273 }, | 257 }, |
| 274 'link_settings': { | 258 'link_settings': { |
| 275 'libraries': [ | 259 'libraries': [ |
| 276 '-ljpeg', | 260 '-ljpeg', |
| 277 ], | 261 ], |
| 278 }, | 262 }, |
| 279 }, | 263 }, |
| 280 ], | 264 ], |
| 281 }], | 265 }], |
| 282 ], | 266 ], |
| 283 } | 267 } |
| 284 | 268 |
| 285 # Local Variables: | 269 # Local Variables: |
| 286 # tab-width:2 | 270 # tab-width:2 |
| 287 # indent-tabs-mode:nil | 271 # indent-tabs-mode:nil |
| 288 # End: | 272 # End: |
| 289 # vim: set expandtab tabstop=2 shiftwidth=2: | 273 # vim: set expandtab tabstop=2 shiftwidth=2: |
| OLD | NEW |