Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 { | |
| 6 'variables': { | |
| 7 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg-turb o', | |
| 8 'conditions': [ | |
| 9 [ 'skia_os == "win"', { | |
| 10 'object_suffix': 'obj', | |
| 11 }, { | |
| 12 'object_suffix': 'o', | |
| 13 }], | |
| 14 ], | |
| 15 }, | |
| 16 'targets': [ | |
| 17 { | |
| 18 'target_name': 'libjpeg-turbo', | |
| 19 'type': 'static_library', | |
| 20 'include_dirs': [ | |
| 21 '../third_party/libjpeg-turbo/libjpeg-turbo-code/', | |
| 22 ], | |
| 23 'defines': [ | |
| 24 'WITH_SIMD', | |
| 25 'MOTION_JPEG_SUPPORTED', | |
| 26 'NO_GETENV', | |
| 27 ], | |
| 28 'cflags': [ | |
| 29 '-w', # supresses warnings | |
| 30 ], | |
| 31 'sources': [ | |
| 32 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jaricom.c', | |
| 33 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcapimin.c', | |
| 34 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcapistd.c', | |
| 35 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcarith.c', | |
| 36 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jccoefct.c', | |
| 37 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jccolor.c', | |
| 38 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcdctmgr.c', | |
| 39 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jchuff.c', | |
| 40 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jchuff.h', | |
| 41 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcinit.c', | |
| 42 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcmainct.c', | |
| 43 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcmarker.c', | |
| 44 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcmaster.c', | |
| 45 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcomapi.c', | |
| 46 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jconfig.h', | |
| 47 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jconfigint.h', | |
| 48 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcparam.c', | |
| 49 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcphuff.c', | |
| 50 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcprepct.c', | |
| 51 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcsample.c', | |
| 52 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdapimin.c', | |
| 53 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdapistd.c', | |
| 54 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdarith.c', | |
| 55 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdcoefct.c', | |
| 56 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdcolor.c', | |
| 57 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdct.h', | |
| 58 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jddctmgr.c', | |
| 59 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdhuff.c', | |
| 60 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdhuff.h', | |
| 61 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdinput.c', | |
| 62 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmainct.c', | |
| 63 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmarker.c', | |
| 64 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmaster.c', | |
| 65 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmerge.c', | |
| 66 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdphuff.c', | |
| 67 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdpostct.c', | |
| 68 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdsample.c', | |
| 69 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jerror.c', | |
| 70 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jerror.h', | |
| 71 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jfdctflt.c', | |
| 72 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jfdctfst.c', | |
| 73 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jfdctint.c', | |
| 74 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctflt.c', | |
| 75 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctfst.c', | |
| 76 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctint.c', | |
| 77 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctred.c', | |
| 78 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jinclude.h', | |
| 79 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmemmgr.c', | |
| 80 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmemnobs.c', | |
| 81 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmemsys.h', | |
| 82 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmorecfg.h', | |
| 83 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jpegint.h', | |
| 84 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jpeglib.h', | |
| 85 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jpeglibmangler.h', | |
| 86 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jquant1.c', | |
| 87 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jquant2.c', | |
| 88 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jutils.c', | |
| 89 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jversion.h', | |
| 90 ], | |
| 91 'direct_dependent_settings': { | |
| 92 'include_dirs': [ | |
| 93 '../third_party/libjpeg-turbo/libjpeg-turbo-code/', | |
| 94 ], | |
| 95 }, | |
| 96 'msvs_disabled_warnings': [4018, 4101], | |
| 97 # VS2010 does not correctly incrementally link obj files generated | |
| 98 # from asm files. This flag disables UseLibraryDependencyInputs to | |
| 99 # avoid this problem. | |
| 100 'msvs_2010_disable_uldi_when_referenced': 1, | |
| 101 | |
| 102 # Add target-specific source files. | |
| 103 'conditions': [ | |
| 104 [ 'skia_arch_type == "x86"', { | |
| 105 'sources': [ | |
| 106 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_i386.c', | |
| 107 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolor-mmx.as m', | |
| 108 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolor-sse2.a sm', | |
| 109 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgray-mmx.asm ', | |
| 110 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgray-sse2.as m', | |
| 111 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcsample-mmx.a sm', | |
| 112 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcsample-sse2. asm', | |
| 113 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolor-mmx.as m', | |
| 114 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolor-sse2.a sm', | |
| 115 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmerge-mmx.as m', | |
| 116 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmerge-sse2.a sm', | |
| 117 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdsample-mmx.a sm', | |
| 118 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdsample-sse2. asm', | |
| 119 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctflt-3dn.a sm', | |
| 120 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctflt-sse.a sm', | |
| 121 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctfst-mmx.a sm', | |
| 122 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctfst-sse2. asm', | |
| 123 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctint-mmx.a sm', | |
| 124 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctint-sse2. asm', | |
| 125 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-3dn.a sm', | |
| 126 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-sse2. asm', | |
| 127 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-sse.a sm', | |
| 128 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctfst-mmx.a sm', | |
| 129 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctfst-sse2. asm', | |
| 130 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctint-mmx.a sm', | |
| 131 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctint-sse2. asm', | |
| 132 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctred-mmx.a sm', | |
| 133 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctred-sse2. asm', | |
| 134 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquant-3dn.asm ', | |
| 135 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquantf-sse2.a sm', | |
| 136 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquanti-sse2.a sm', | |
| 137 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquant-mmx.asm ', | |
| 138 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquant-sse.asm ', | |
| 139 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimdcpu.asm', | |
| 140 ], | |
| 141 }], | |
| 142 [ 'skia_arch_type == "x86_64"', { | |
| 143 'sources': [ | |
| 144 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_x86_64.c ', | |
| 145 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolor-sse2-6 4.asm', | |
| 146 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgray-sse2-64 .asm', | |
| 147 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcsample-sse2- 64.asm', | |
| 148 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolor-sse2-6 4.asm', | |
| 149 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmerge-sse2-6 4.asm', | |
| 150 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdsample-sse2- 64.asm', | |
| 151 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctflt-sse-6 4.asm', | |
| 152 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctfst-sse2- 64.asm', | |
| 153 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctint-sse2- 64.asm', | |
| 154 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-sse2- 64.asm', | |
| 155 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctfst-sse2- 64.asm', | |
| 156 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctint-sse2- 64.asm', | |
| 157 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctred-sse2- 64.asm', | |
| 158 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquantf-sse2-6 4.asm', | |
| 159 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquanti-sse2-6 4.asm', | |
| 160 ], | |
| 161 }], | |
| 162 [ 'skia_arch_type == "arm"', { | |
| 163 'conditions': [ | |
| 164 [ 'arm_version >= 7 and (arm_neon == 1 or arm_neon_optional == 1)', { | |
| 165 'sources': [ | |
| 166 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm. c', | |
| 167 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm_ neon.S', | |
| 168 ], | |
| 169 }, { | |
| 170 'sources': [ | |
| 171 '../third_party/libjpeg-turbo/libjpeg-turbo-code/jsimd_none.c', | |
| 172 ], | |
| 173 }] | |
| 174 ], | |
| 175 }], | |
| 176 [ 'skia_arch_type == "arm64"', { | |
| 177 'sources': [ | |
| 178 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm64.c' , | |
| 179 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm64_ne on.S', | |
| 180 ], | |
| 181 }], | |
| 182 [ 'skia_arch_type == "mips"', { | |
| 183 'sources': [ | |
| 184 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_mips.c', | |
| 185 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_mips_dsp r2_asm.h', | |
| 186 '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_mips_dsp r2.S', | |
| 187 ], | |
| 188 }], | |
| 189 | |
| 190 # Build rules for an asm file. | |
|
scroggo
2015/06/23 15:05:51
This is messy... Is this the way Chromium does it?
msarett
2015/06/23 17:47:43
Yes this is messy - it's been quite frustrating.
| |
| 191 # On Windows, we use the precompiled yasm binary. | |
| 192 # On Linux, we build our patched yasm and use it except when use_system_ yasm is 1. | |
| 193 # On Mac, we always build our patched yasm and use it. | |
| 194 [ 'skia_os == "win"', { | |
| 195 'variables': { | |
| 196 'yasm_path': '../third_party/externals/yasm/binaries/win/yasm.exe', | |
| 197 'conditions': [ | |
| 198 [ 'skia_arch_type == "x86"', { | |
| 199 'yasm_format': '-fwin32', | |
| 200 'yasm_flags': [ | |
| 201 '-D__x86__', | |
| 202 '-DWIN32', | |
| 203 '-DMSVC', | |
| 204 '-Iwin/' | |
| 205 ], | |
| 206 }, { | |
| 207 'yasm_format': '-fwin64', | |
| 208 'yasm_flags': [ | |
| 209 '-D__x86_64__', | |
| 210 '-DWIN64', | |
| 211 '-DMSVC', | |
| 212 '-Iwin/' | |
| 213 ], | |
| 214 }], | |
| 215 ], | |
| 216 }, | |
| 217 }], | |
| 218 [ 'skia_os == "mac" or skia_os == "ios"', { | |
| 219 'dependencies': [ | |
| 220 'yasm.gyp:yasm#host', | |
| 221 ], | |
| 222 'variables': { | |
| 223 'yasm_path': '<(PRODUCT_DIR)/yasm', | |
| 224 'conditions': [ | |
| 225 [ 'skia_arch_type == "x86"', { | |
| 226 'yasm_format': '-fmacho', | |
| 227 'yasm_flags': [ | |
| 228 '-D__x86__', | |
| 229 '-DMACHO', | |
| 230 '-Imac/' | |
| 231 ], | |
| 232 }, { | |
| 233 'yasm_format': '-fmacho64', | |
| 234 'yasm_flags': [ | |
| 235 '-D__x86_64__', | |
| 236 '-DMACHO', | |
| 237 '-Imac/' | |
| 238 ], | |
| 239 }], | |
| 240 ], | |
| 241 }, | |
| 242 }], | |
| 243 [ 'skia_os == "linux" or skia_os == "freebsd" or \ | |
| 244 (skia_os == "android" and (skia_arch_type == "x86" or skia_arch_type = = "x86_64"))', { | |
| 245 'dependencies': [ | |
| 246 'yasm.gyp:yasm#host', | |
| 247 ], | |
| 248 'variables': { | |
| 249 'yasm_path': '<(PRODUCT_DIR)/yasm', | |
| 250 'conditions': [ | |
| 251 [ 'skia_arch_type == "x86"', { | |
| 252 'yasm_format': '-felf', | |
| 253 'yasm_flags': [ | |
| 254 '-D__x86__', | |
| 255 '-DELF', | |
| 256 '-Ilinux/' | |
| 257 ], | |
| 258 }, { | |
| 259 'yasm_format': '-felf64', | |
| 260 'yasm_flags': [ | |
| 261 '-D__x86_64__', | |
| 262 '-DELF', | |
| 263 '-Ilinux/' | |
| 264 ], | |
| 265 }], | |
| 266 ], | |
| 267 }, | |
| 268 }], | |
| 269 ], | |
| 270 'rules': [ | |
| 271 { | |
| 272 'rule_name': 'assemble', | |
| 273 'extension': 'asm', | |
| 274 'conditions': [ | |
| 275 [ 'skia_arch_type == "x86" or skia_arch_type == "x86_64"', { | |
| 276 'inputs': [ '<(yasm_path)', ], | |
| 277 'outputs': [ | |
| 278 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)', | |
| 279 ], | |
| 280 'action': [ | |
| 281 '<(yasm_path)', | |
| 282 '<(yasm_format)', | |
| 283 '<@(yasm_flags)', | |
| 284 '-DRGBX_FILLER_0XFF', | |
| 285 '-DSTRICT_MEMORY_ACCESS', | |
| 286 '-Isimd/', | |
| 287 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffi x)', | |
| 288 '<(RULE_INPUT_PATH)', | |
| 289 ], | |
| 290 'process_outputs_as_sources': 1, | |
| 291 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)', | |
| 292 }], | |
| 293 ] | |
| 294 }, | |
| 295 ], | |
| 296 }, | |
| 297 ], | |
| 298 } | |
| OLD | NEW |