| OLD | NEW |
| 1 # Copyright (c) 2010 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 }, | 22 }, |
| 23 'conditions': [ | 23 'conditions': [ |
| 24 [ 'use_system_libjpeg==0', { | 24 [ 'use_system_libjpeg==0', { |
| 25 'targets': [ | 25 'targets': [ |
| 26 { | 26 { |
| 27 'target_name': 'libjpeg', | 27 'target_name': 'libjpeg', |
| 28 'type': '<(library)', | 28 'type': '<(library)', |
| 29 'include_dirs': [ | 29 'include_dirs': [ |
| 30 '.', | 30 '.', |
| 31 ], | 31 ], |
| 32 'defines': [ | 32 'defines': [ |
| 33 'WITH_SIMD', | 33 'WITH_SIMD', |
| 34 ], | 34 ], |
| 35 'dependencies': [ | |
| 36 'libjpeg_asm', | |
| 37 ], | |
| 38 'sources': [ | 35 'sources': [ |
| 39 'jconfig.h', | 36 'jconfig.h', |
| 40 'jpeglib.h', | 37 'jpeglib.h', |
| 41 'jpeglibmangler.h', | 38 'jpeglibmangler.h', |
| 42 'jcapimin.c', | 39 'jcapimin.c', |
| 43 'jcapistd.c', | 40 'jcapistd.c', |
| 44 'jccoefct.c', | 41 'jccoefct.c', |
| 45 'jccolor.c', | 42 'jccolor.c', |
| 46 'jcdctmgr.c', | 43 'jcdctmgr.c', |
| 47 'jchuff.c', | 44 'jchuff.c', |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 'include_dirs': [ | 94 'include_dirs': [ |
| 98 '.', | 95 '.', |
| 99 ], | 96 ], |
| 100 }, | 97 }, |
| 101 'conditions': [ | 98 'conditions': [ |
| 102 [ 'OS!="win"', {'product_name': 'jpeg_turbo'}], | 99 [ 'OS!="win"', {'product_name': 'jpeg_turbo'}], |
| 103 # Add target-specific source files. | 100 # Add target-specific source files. |
| 104 [ 'target_arch=="ia32"', { | 101 [ 'target_arch=="ia32"', { |
| 105 'sources': [ | 102 'sources': [ |
| 106 'simd/jsimd_i386.c', | 103 'simd/jsimd_i386.c', |
| 107 # Object files assembled by the 'libjpeg_asm' project. | |
| 108 '<(shared_generated_dir)/jsimdcpu.<(object_suffix)', | |
| 109 '<(shared_generated_dir)/jccolmmx.<(object_suffix)', | |
| 110 '<(shared_generated_dir)/jdcolmmx.<(object_suffix)', | |
| 111 '<(shared_generated_dir)/jcsammmx.<(object_suffix)', | |
| 112 '<(shared_generated_dir)/jdsammmx.<(object_suffix)', | |
| 113 '<(shared_generated_dir)/jdmermmx.<(object_suffix)', | |
| 114 '<(shared_generated_dir)/jcqntmmx.<(object_suffix)', | |
| 115 '<(shared_generated_dir)/jfmmxfst.<(object_suffix)', | |
| 116 '<(shared_generated_dir)/jfmmxint.<(object_suffix)', | |
| 117 '<(shared_generated_dir)/jimmxred.<(object_suffix)', | |
| 118 '<(shared_generated_dir)/jimmxint.<(object_suffix)', | |
| 119 '<(shared_generated_dir)/jimmxfst.<(object_suffix)', | |
| 120 '<(shared_generated_dir)/jcqnt3dn.<(object_suffix)', | |
| 121 '<(shared_generated_dir)/jf3dnflt.<(object_suffix)', | |
| 122 '<(shared_generated_dir)/ji3dnflt.<(object_suffix)', | |
| 123 '<(shared_generated_dir)/jcqntsse.<(object_suffix)', | |
| 124 '<(shared_generated_dir)/jfsseflt.<(object_suffix)', | |
| 125 '<(shared_generated_dir)/jisseflt.<(object_suffix)', | |
| 126 '<(shared_generated_dir)/jccolss2.<(object_suffix)', | |
| 127 '<(shared_generated_dir)/jdcolss2.<(object_suffix)', | |
| 128 '<(shared_generated_dir)/jcsamss2.<(object_suffix)', | |
| 129 '<(shared_generated_dir)/jdsamss2.<(object_suffix)', | |
| 130 '<(shared_generated_dir)/jdmerss2.<(object_suffix)', | |
| 131 '<(shared_generated_dir)/jcqnts2i.<(object_suffix)', | |
| 132 '<(shared_generated_dir)/jfss2fst.<(object_suffix)', | |
| 133 '<(shared_generated_dir)/jfss2int.<(object_suffix)', | |
| 134 '<(shared_generated_dir)/jiss2red.<(object_suffix)', | |
| 135 '<(shared_generated_dir)/jiss2int.<(object_suffix)', | |
| 136 '<(shared_generated_dir)/jiss2fst.<(object_suffix)', | |
| 137 '<(shared_generated_dir)/jcqnts2f.<(object_suffix)', | |
| 138 '<(shared_generated_dir)/jiss2flt.<(object_suffix)', | |
| 139 ], | |
| 140 }], | |
| 141 [ 'target_arch=="x64"', { | |
| 142 'sources': [ | |
| 143 'simd/jsimd_x86_64.c', | |
| 144 # Object files assembled by the 'libjpeg_asm' project. | |
| 145 '<(shared_generated_dir)/jfsseflt-64.<(object_suffix)', | |
| 146 '<(shared_generated_dir)/jccolss2-64.<(object_suffix)', | |
| 147 '<(shared_generated_dir)/jdcolss2-64.<(object_suffix)', | |
| 148 '<(shared_generated_dir)/jcsamss2-64.<(object_suffix)', | |
| 149 '<(shared_generated_dir)/jdsamss2-64.<(object_suffix)', | |
| 150 '<(shared_generated_dir)/jdmerss2-64.<(object_suffix)', | |
| 151 '<(shared_generated_dir)/jcqnts2i-64.<(object_suffix)', | |
| 152 '<(shared_generated_dir)/jfss2fst-64.<(object_suffix)', | |
| 153 '<(shared_generated_dir)/jfss2int-64.<(object_suffix)', | |
| 154 '<(shared_generated_dir)/jiss2red-64.<(object_suffix)', | |
| 155 '<(shared_generated_dir)/jiss2int-64.<(object_suffix)', | |
| 156 '<(shared_generated_dir)/jiss2fst-64.<(object_suffix)', | |
| 157 '<(shared_generated_dir)/jcqnts2f-64.<(object_suffix)', | |
| 158 '<(shared_generated_dir)/jiss2flt-64.<(object_suffix)', | |
| 159 ], | |
| 160 }], | |
| 161 ], | |
| 162 }, | |
| 163 { | |
| 164 # A project that assembles asm files and creates object files. | |
| 165 'target_name': 'libjpeg_asm', | |
| 166 'type': 'none', | |
| 167 'conditions': [ | |
| 168 # Add platform-dependent source files. | |
| 169 [ 'target_arch=="ia32"', { | |
| 170 'sources': [ | |
| 171 # The asm files for ia32. | |
| 172 'simd/jsimdcpu.asm', | 104 'simd/jsimdcpu.asm', |
| 173 'simd/jccolmmx.asm', | 105 'simd/jccolmmx.asm', |
| 174 'simd/jdcolmmx.asm', | 106 'simd/jdcolmmx.asm', |
| 175 'simd/jcsammmx.asm', | 107 'simd/jcsammmx.asm', |
| 176 'simd/jdsammmx.asm', | 108 'simd/jdsammmx.asm', |
| 177 'simd/jdmermmx.asm', | 109 'simd/jdmermmx.asm', |
| 178 'simd/jcqntmmx.asm', | 110 'simd/jcqntmmx.asm', |
| 179 'simd/jfmmxfst.asm', | 111 'simd/jfmmxfst.asm', |
| 180 'simd/jfmmxint.asm', | 112 'simd/jfmmxint.asm', |
| 181 'simd/jimmxred.asm', | 113 'simd/jimmxred.asm', |
| (...skipping 15 matching lines...) Expand all Loading... |
| 197 'simd/jfss2int.asm', | 129 'simd/jfss2int.asm', |
| 198 'simd/jiss2red.asm', | 130 'simd/jiss2red.asm', |
| 199 'simd/jiss2int.asm', | 131 'simd/jiss2int.asm', |
| 200 'simd/jiss2fst.asm', | 132 'simd/jiss2fst.asm', |
| 201 'simd/jcqnts2f.asm', | 133 'simd/jcqnts2f.asm', |
| 202 'simd/jiss2flt.asm', | 134 'simd/jiss2flt.asm', |
| 203 ], | 135 ], |
| 204 }], | 136 }], |
| 205 [ 'target_arch=="x64"', { | 137 [ 'target_arch=="x64"', { |
| 206 'sources': [ | 138 'sources': [ |
| 207 # The asm files for x64. | 139 'simd/jsimd_x86_64.c', |
| 208 'simd/jfsseflt-64.asm', | 140 'simd/jfsseflt-64.asm', |
| 209 'simd/jccolss2-64.asm', | 141 'simd/jccolss2-64.asm', |
| 210 'simd/jdcolss2-64.asm', | 142 'simd/jdcolss2-64.asm', |
| 211 'simd/jcsamss2-64.asm', | 143 'simd/jcsamss2-64.asm', |
| 212 'simd/jdsamss2-64.asm', | 144 'simd/jdsamss2-64.asm', |
| 213 'simd/jdmerss2-64.asm', | 145 'simd/jdmerss2-64.asm', |
| 214 'simd/jcqnts2i-64.asm', | 146 'simd/jcqnts2i-64.asm', |
| 215 'simd/jfss2fst-64.asm', | 147 'simd/jfss2fst-64.asm', |
| 216 'simd/jfss2int-64.asm', | 148 'simd/jfss2int-64.asm', |
| 217 'simd/jiss2red-64.asm', | 149 'simd/jiss2red-64.asm', |
| 218 'simd/jiss2int-64.asm', | 150 'simd/jiss2int-64.asm', |
| 219 'simd/jiss2fst-64.asm', | 151 'simd/jiss2fst-64.asm', |
| 220 'simd/jcqnts2f-64.asm', | 152 'simd/jcqnts2f-64.asm', |
| 221 'simd/jiss2flt-64.asm', | 153 'simd/jiss2flt-64.asm', |
| 222 ], | 154 ], |
| 223 }], | 155 }], |
| 224 | 156 |
| 225 # Build rules for an asm file. | 157 # Build rules for an asm file. |
| 226 # On Windows, we use the precompiled yasm binary. On Linux and Mac, | 158 # On Windows, we use the precompiled yasm binary. On Linux and Mac, |
| 227 # we build yasm and use it as ffmpeg does. | 159 # we build yasm and use it as ffmpeg does. |
| 228 [ 'OS=="win"', { | 160 [ 'OS=="win"', { |
| 229 'variables': { | 161 'variables': { |
| 230 'yasm_path': '../yasm/binaries/win/yasm<(EXECUTABLE_SUFFIX)', | 162 'yasm_path': '../yasm/binaries/win/yasm<(EXECUTABLE_SUFFIX)', |
| 231 }, | 163 }, |
| 232 'rules': [ | 164 'rules': [ |
| 233 { | 165 { |
| 234 'rule_name': 'assemble', | 166 'rule_name': 'assemble', |
| 235 'extension': 'asm', | 167 'extension': 'asm', |
| 236 'inputs': [ '<(yasm_path)', ], | 168 'inputs': [ '<(RULE_INPUT_PATH)', ], |
| 237 'outputs': [ | 169 'outputs': [ |
| 238 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', | 170 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', |
| 239 ], | 171 ], |
| 240 'action': [ | 172 'action': [ |
| 241 '<(yasm_path)', | 173 '<(yasm_path)', |
| 242 '-fwin32', | 174 '-fwin32', |
| 243 '-DWIN32', | 175 '-DWIN32', |
| 244 '-DMSVC', | 176 '-DMSVC', |
| 177 '-DRGBX_FILLER_0XFF', |
| 245 '-Iwin/', | 178 '-Iwin/', |
| 246 '-Isimd/', | 179 '-Isimd/', |
| 247 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', | 180 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', |
| 248 '<(RULE_INPUT_PATH)', | 181 '<(RULE_INPUT_PATH)', |
| 249 ], | 182 ], |
| 250 'process_outputs_as_sources': 0, | 183 'process_outputs_as_sources': 1, |
| 251 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | 184 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', |
| 252 }, | 185 }, |
| 253 ], | 186 ], |
| 254 }], | 187 }], |
| 255 [ 'OS=="mac"', { | 188 [ 'OS=="mac"', { |
| 256 'dependencies': [ | 189 'dependencies': [ |
| 257 '../yasm/yasm.gyp:yasm#host', | 190 '../yasm/yasm.gyp:yasm#host', |
| 258 ], | 191 ], |
| 259 'variables': { | 192 'variables': { |
| 260 'yasm_path': '<(PRODUCT_DIR)/yasm', | 193 'yasm_path': '<(PRODUCT_DIR)/yasm', |
| 261 }, | 194 }, |
| 262 'rules': [ | 195 'rules': [ |
| 263 { | 196 { |
| 264 'rule_name': 'assemble', | 197 'rule_name': 'assemble', |
| 265 'extension': 'asm', | 198 'extension': 'asm', |
| 266 'inputs': [ '<(yasm_path)', ], | 199 'inputs': [ '<(yasm_path)', ], |
| 267 'outputs': [ | 200 'outputs': [ |
| 268 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', | 201 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', |
| 269 ], | 202 ], |
| 270 'action': [ | 203 'action': [ |
| 271 '<(yasm_path)', | 204 '<(yasm_path)', |
| 272 '-fmacho', | 205 '-fmacho', |
| 273 '-DMACHO', | 206 '-DMACHO', |
| 207 '-DRGBX_FILLER_0XFF', |
| 274 '-Imac/', | 208 '-Imac/', |
| 275 '-Isimd/', | 209 '-Isimd/', |
| 276 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', | 210 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', |
| 277 '<(RULE_INPUT_PATH)', | 211 '<(RULE_INPUT_PATH)', |
| 278 ], | 212 ], |
| 279 'process_outputs_as_sources': 0, | 213 'process_outputs_as_sources': 1, |
| 280 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | 214 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', |
| 281 }, | 215 }, |
| 282 ], | 216 ], |
| 283 }], | 217 }], |
| 284 [ 'OS=="linux"', { | 218 [ 'OS=="linux"', { |
| 285 'dependencies': [ | 219 'dependencies': [ |
| 286 '../yasm/yasm.gyp:yasm#host', | 220 '../yasm/yasm.gyp:yasm#host', |
| 287 ], | 221 ], |
| 288 'variables': { | 222 'variables': { |
| 289 'yasm_path': '<(PRODUCT_DIR)/yasm', | 223 'yasm_path': '<(PRODUCT_DIR)/yasm', |
| 290 'conditions': [ | 224 'conditions': [ |
| 291 [ 'target_arch=="ia32"', { | 225 [ 'target_arch=="ia32"', { |
| 292 'yasm_format': '-felf', | 226 'yasm_format': '-felf', |
| 293 'yasm_flag': '-D__X86__', | 227 'yasm_flag': '-D__X86__', |
| 294 }, { | 228 }, { |
| 295 'yasm_format': '-felf64', | 229 'yasm_format': '-felf64', |
| 296 'yasm_flag': '-D__x86_64__', | 230 'yasm_flag': '-D__x86_64__', |
| 297 }], | 231 }], |
| 298 ], | 232 ], |
| 299 }, | 233 }, |
| 300 'rules': [ | 234 'rules': [ |
| 301 { | 235 { |
| 302 'rule_name': 'assemble', | 236 'rule_name': 'assemble', |
| 303 'extension': 'asm', | 237 'extension': 'asm', |
| 304 'inputs': [ '<(yasm_path)', ], | 238 'inputs': [ '<(RULE_INPUT_PATH)', ], |
| 305 'outputs': [ | 239 'outputs': [ |
| 306 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', | 240 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)
', |
| 307 ], | 241 ], |
| 308 'action': [ | 242 'action': [ |
| 309 '<(yasm_path)', | 243 '<(yasm_path)', |
| 310 '<(yasm_format)', | 244 '<(yasm_format)', |
| 311 '-DELF', | 245 '-DELF', |
| 312 '<(yasm_flag)', | 246 '<(yasm_flag)', |
| 247 '-DRGBX_FILLER_0XFF', |
| 313 '-Ilinux/', | 248 '-Ilinux/', |
| 314 '-Isimd/', | 249 '-Isimd/', |
| 315 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', | 250 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s
uffix)', |
| 316 '<(RULE_INPUT_PATH)', | 251 '<(RULE_INPUT_PATH)', |
| 317 ], | 252 ], |
| 318 'process_outputs_as_sources': 0, | 253 'process_outputs_as_sources': 1, |
| 319 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | 254 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', |
| 320 }, | 255 }, |
| 321 ], | 256 ], |
| 322 }], | 257 }], |
| 323 ], | 258 ], |
| 324 }, | 259 }, |
| 325 ], | 260 ], |
| 326 }, { # else: use_system_libjpeg != 0 | 261 }, { # else: use_system_libjpeg != 0 |
| 327 'targets': [ | 262 'targets': [ |
| 328 { | 263 { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 342 ], | 277 ], |
| 343 }], | 278 }], |
| 344 ], | 279 ], |
| 345 } | 280 } |
| 346 | 281 |
| 347 # Local Variables: | 282 # Local Variables: |
| 348 # tab-width:2 | 283 # tab-width:2 |
| 349 # indent-tabs-mode:nil | 284 # indent-tabs-mode:nil |
| 350 # End: | 285 # End: |
| 351 # vim: set expandtab tabstop=2 shiftwidth=2: | 286 # vim: set expandtab tabstop=2 shiftwidth=2: |
| OLD | NEW |