Chromium Code Reviews
|
| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | |
|
Mark Mentovai
2010/11/16 14:49:52
2010
Hironori Bono
2010/11/19 05:44:35
Done.
| |
| 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 'conditions': [ | |
| 8 [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { | |
| 9 # Link to system .so since we already use it due to GTK. | |
| 10 'use_system_libjpeg%': 1, | |
| 11 }, { # OS!="linux" and OS!="freebsd" and OS!="openbsd" | |
| 12 'use_system_libjpeg%': 0, | |
| 13 }], | |
| 14 [ 'OS=="win"', { | |
| 15 'object_suffix': 'obj', | |
| 16 }, { | |
| 17 'object_suffix': 'o', | |
| 18 }], | |
| 19 [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { | |
| 20 'shared_generated_dir': '<(INTERMEDIATE_DIR)/third_party/libjpeg', | |
|
Mark Mentovai
2010/11/16 14:49:52
1. Why did this need to be split out by platform?
Hironori Bono
2010/11/19 05:44:35
Unfortunately, make.py (of GYP) causes some proble
| |
| 21 }, { | |
| 22 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg' , | |
| 23 }], | |
| 24 ], | |
| 25 }, | |
| 26 'conditions': [ | |
| 27 [ 'use_system_libjpeg==0', { | |
| 28 'targets': [ | |
| 29 { | |
| 30 'target_name': 'libjpeg', | |
| 31 'type': '<(library)', | |
| 32 'msvs_guid': '238CE175-76CE-4A25-A676-69D115885601', | |
|
Mark Mentovai
2010/11/16 14:49:52
This GUID shows up in a Google search. It’s not gl
Hironori Bono
2010/11/19 05:44:35
Done.
| |
| 33 'include_dirs': [ | |
| 34 '.', | |
| 35 ], | |
| 36 'defines': [ | |
| 37 'WITH_SIMD', | |
| 38 ], | |
| 39 'dependencies': [ | |
| 40 'libjpeg_asm', | |
| 41 ], | |
| 42 'sources': [ | |
| 43 'jconfig.h', | |
| 44 'jpeglib.h', | |
| 45 'jpeglibmangler.h', | |
| 46 'jcapimin.c', | |
| 47 'jcapistd.c', | |
| 48 'jccoefct.c', | |
| 49 'jccolor.c', | |
| 50 'jcdctmgr.c', | |
| 51 'jchuff.c', | |
| 52 'jchuff.h', | |
| 53 'jcinit.c', | |
| 54 'jcmainct.c', | |
| 55 'jcmarker.c', | |
| 56 'jcmaster.c', | |
| 57 'jcomapi.c', | |
| 58 'jcparam.c', | |
| 59 'jcphuff.c', | |
| 60 'jcprepct.c', | |
| 61 'jcsample.c', | |
| 62 'jdapimin.c', | |
| 63 'jdapistd.c', | |
| 64 'jdatadst.c', | |
| 65 'jdatasrc.c', | |
| 66 'jdcoefct.c', | |
| 67 'jdcolor.c', | |
| 68 'jdct.h', | |
| 69 'jddctmgr.c', | |
| 70 'jdhuff.c', | |
| 71 'jdhuff.h', | |
| 72 'jdinput.c', | |
| 73 'jdmainct.c', | |
| 74 'jdmarker.c', | |
| 75 'jdmaster.c', | |
| 76 'jdmerge.c', | |
| 77 'jdphuff.c', | |
| 78 'jdpostct.c', | |
| 79 'jdsample.c', | |
| 80 'jerror.c', | |
| 81 'jerror.h', | |
| 82 'jfdctflt.c', | |
| 83 'jfdctfst.c', | |
| 84 'jfdctint.c', | |
| 85 'jidctflt.c', | |
| 86 'jidctfst.c', | |
| 87 'jidctint.c', | |
| 88 'jidctred.c', | |
| 89 'jinclude.h', | |
| 90 'jmemmgr.c', | |
| 91 'jmemnobs.c', | |
| 92 'jmemsys.h', | |
| 93 'jmorecfg.h', | |
| 94 'jpegint.h', | |
| 95 'jquant1.c', | |
| 96 'jquant2.c', | |
| 97 'jutils.c', | |
| 98 'jversion.h', | |
| 99 ], | |
| 100 'direct_dependent_settings': { | |
| 101 'include_dirs': [ | |
| 102 '.', | |
| 103 ], | |
| 104 }, | |
| 105 'conditions': [ | |
| 106 [ 'OS!="win"', {'product_name': 'jpeg'}], | |
|
Mark Mentovai
2010/11/16 14:49:52
Recommend jpeg_turbo. GYP will figure everything e
Hironori Bono
2010/11/19 05:44:35
Done.
| |
| 107 # Add target-specific source files. | |
| 108 [ 'target_arch=="ia32"', { | |
| 109 'sources': [ | |
| 110 'simd/jsimd_i386.c', | |
| 111 # Object files assembled by the 'libjpeg_asm' project. | |
| 112 '<(shared_generated_dir)/jsimdcpu.<(object_suffix)', | |
| 113 '<(shared_generated_dir)/jccolmmx.<(object_suffix)', | |
| 114 '<(shared_generated_dir)/jdcolmmx.<(object_suffix)', | |
| 115 '<(shared_generated_dir)/jcsammmx.<(object_suffix)', | |
| 116 '<(shared_generated_dir)/jdsammmx.<(object_suffix)', | |
| 117 '<(shared_generated_dir)/jdmermmx.<(object_suffix)', | |
| 118 '<(shared_generated_dir)/jcqntmmx.<(object_suffix)', | |
| 119 '<(shared_generated_dir)/jfmmxfst.<(object_suffix)', | |
| 120 '<(shared_generated_dir)/jfmmxint.<(object_suffix)', | |
| 121 '<(shared_generated_dir)/jimmxred.<(object_suffix)', | |
| 122 '<(shared_generated_dir)/jimmxint.<(object_suffix)', | |
| 123 '<(shared_generated_dir)/jimmxfst.<(object_suffix)', | |
| 124 '<(shared_generated_dir)/jcqnt3dn.<(object_suffix)', | |
| 125 '<(shared_generated_dir)/jf3dnflt.<(object_suffix)', | |
| 126 '<(shared_generated_dir)/ji3dnflt.<(object_suffix)', | |
| 127 '<(shared_generated_dir)/jcqntsse.<(object_suffix)', | |
| 128 '<(shared_generated_dir)/jfsseflt.<(object_suffix)', | |
| 129 '<(shared_generated_dir)/jisseflt.<(object_suffix)', | |
| 130 '<(shared_generated_dir)/jccolss2.<(object_suffix)', | |
| 131 '<(shared_generated_dir)/jdcolss2.<(object_suffix)', | |
| 132 '<(shared_generated_dir)/jcsamss2.<(object_suffix)', | |
| 133 '<(shared_generated_dir)/jdsamss2.<(object_suffix)', | |
| 134 '<(shared_generated_dir)/jdmerss2.<(object_suffix)', | |
| 135 '<(shared_generated_dir)/jcqnts2i.<(object_suffix)', | |
| 136 '<(shared_generated_dir)/jfss2fst.<(object_suffix)', | |
| 137 '<(shared_generated_dir)/jfss2int.<(object_suffix)', | |
| 138 '<(shared_generated_dir)/jiss2red.<(object_suffix)', | |
| 139 '<(shared_generated_dir)/jiss2int.<(object_suffix)', | |
| 140 '<(shared_generated_dir)/jiss2fst.<(object_suffix)', | |
| 141 '<(shared_generated_dir)/jcqnts2f.<(object_suffix)', | |
| 142 '<(shared_generated_dir)/jiss2flt.<(object_suffix)', | |
| 143 ], | |
| 144 }], | |
| 145 [ 'target_arch=="x64"', { | |
| 146 'sources': [ | |
| 147 'simd/jsimd_x86_64.c', | |
| 148 # Object files assembled by the 'libjpeg_asm' project. | |
| 149 '<(shared_generated_dir)/jfsseflt-64.<(object_suffix)', | |
| 150 '<(shared_generated_dir)/jccolss2-64.<(object_suffix)', | |
| 151 '<(shared_generated_dir)/jdcolss2-64.<(object_suffix)', | |
| 152 '<(shared_generated_dir)/jcsamss2-64.<(object_suffix)', | |
| 153 '<(shared_generated_dir)/jdsamss2-64.<(object_suffix)', | |
| 154 '<(shared_generated_dir)/jdmerss2-64.<(object_suffix)', | |
| 155 '<(shared_generated_dir)/jcqnts2i-64.<(object_suffix)', | |
| 156 '<(shared_generated_dir)/jfss2fst-64.<(object_suffix)', | |
| 157 '<(shared_generated_dir)/jfss2int-64.<(object_suffix)', | |
| 158 '<(shared_generated_dir)/jiss2red-64.<(object_suffix)', | |
| 159 '<(shared_generated_dir)/jiss2int-64.<(object_suffix)', | |
| 160 '<(shared_generated_dir)/jiss2fst-64.<(object_suffix)', | |
| 161 '<(shared_generated_dir)/jcqnts2f-64.<(object_suffix)', | |
| 162 '<(shared_generated_dir)/jiss2flt-64.<(object_suffix)', | |
| 163 ], | |
| 164 }], | |
| 165 ], | |
| 166 }, | |
| 167 { | |
| 168 # A project that assembles asm files and creates object files. | |
|
Mark Mentovai
2010/11/16 14:49:52
If you wanted to, you could just move all of this
Hironori Bono
2010/11/19 05:44:35
I would like to keep the current form to keep cons
| |
| 169 # | |
| 170 'target_name': 'libjpeg_asm', | |
| 171 'type': 'none', | |
| 172 'msvs_guid': '056FEC71-FBE9-ACE1-B5CA-A5395B6AEF5C', | |
| 173 'conditions': [ | |
| 174 # Adding platform-dependent source files. | |
|
Mark Mentovai
2010/11/16 14:49:52
Add, not adding.
Hironori Bono
2010/11/19 05:44:35
Done.
| |
| 175 [ 'target_arch=="ia32"', { | |
| 176 'sources': [ | |
| 177 # The asm files for ia32. | |
| 178 'simd/jsimdcpu.asm', | |
| 179 'simd/jccolmmx.asm', | |
| 180 'simd/jdcolmmx.asm', | |
| 181 'simd/jcsammmx.asm', | |
| 182 'simd/jdsammmx.asm', | |
| 183 'simd/jdmermmx.asm', | |
| 184 'simd/jcqntmmx.asm', | |
| 185 'simd/jfmmxfst.asm', | |
| 186 'simd/jfmmxint.asm', | |
| 187 'simd/jimmxred.asm', | |
| 188 'simd/jimmxint.asm', | |
| 189 'simd/jimmxfst.asm', | |
| 190 'simd/jcqnt3dn.asm', | |
| 191 'simd/jf3dnflt.asm', | |
| 192 'simd/ji3dnflt.asm', | |
| 193 'simd/jcqntsse.asm', | |
| 194 'simd/jfsseflt.asm', | |
| 195 'simd/jisseflt.asm', | |
| 196 'simd/jccolss2.asm', | |
| 197 'simd/jdcolss2.asm', | |
| 198 'simd/jcsamss2.asm', | |
| 199 'simd/jdsamss2.asm', | |
| 200 'simd/jdmerss2.asm', | |
| 201 'simd/jcqnts2i.asm', | |
| 202 'simd/jfss2fst.asm', | |
| 203 'simd/jfss2int.asm', | |
| 204 'simd/jiss2red.asm', | |
| 205 'simd/jiss2int.asm', | |
| 206 'simd/jiss2fst.asm', | |
| 207 'simd/jcqnts2f.asm', | |
| 208 'simd/jiss2flt.asm', | |
| 209 ], | |
| 210 }], | |
| 211 [ 'target_arch=="x64"', { | |
| 212 'sources': [ | |
| 213 # The asm files for x64. | |
| 214 'simd/jfsseflt-64.asm', | |
| 215 'simd/jccolss2-64.asm', | |
| 216 'simd/jdcolss2-64.asm', | |
| 217 'simd/jcsamss2-64.asm', | |
| 218 'simd/jdsamss2-64.asm', | |
| 219 'simd/jdmerss2-64.asm', | |
| 220 'simd/jcqnts2i-64.asm', | |
| 221 'simd/jfss2fst-64.asm', | |
| 222 'simd/jfss2int-64.asm', | |
| 223 'simd/jiss2red-64.asm', | |
| 224 'simd/jiss2int-64.asm', | |
| 225 'simd/jiss2fst-64.asm', | |
| 226 'simd/jcqnts2f-64.asm', | |
| 227 'simd/jiss2flt-64.asm', | |
| 228 ], | |
| 229 }], | |
| 230 | |
| 231 # Build rules for an asm file. | |
| 232 [ 'OS=="win"', { | |
| 233 'variables': { | |
| 234 'nasm_path': '../nasm/<(OS)/nasm<(EXECUTABLE_SUFFIX)', | |
| 235 }, | |
| 236 'rules': [ | |
| 237 { | |
| 238 'rule_name': 'assemble', | |
| 239 'extension': 'asm', | |
| 240 'inputs': [ '<(nasm_path)', ], | |
|
Mark Mentovai
2010/11/16 14:49:52
Do any of the asm files include anything else?
Hironori Bono
2010/11/19 05:44:35
Fortunately, not. Thank you for noticing it.
| |
| 241 'outputs': [ | |
| 242 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix) ', | |
| 243 ], | |
| 244 'action': [ | |
| 245 '<(nasm_path)', | |
| 246 '-fwin32', | |
| 247 '-DWIN32', | |
| 248 '-DMSVC', | |
| 249 '-Iwin/', | |
| 250 '-Isimd/', | |
| 251 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s uffix)', | |
| 252 '<(RULE_INPUT_PATH)', | |
| 253 ], | |
| 254 'process_outputs_as_sources': 0, | |
| 255 'message': 'Build <(RULE_INPUT_PATH).', | |
|
Mark Mentovai
2010/11/16 14:49:52
Doesn’t seem right—it seems like this should say
Hironori Bono
2010/11/19 05:44:35
Done.
| |
| 256 }, | |
| 257 ], | |
| 258 }], | |
| 259 [ 'OS=="mac"', { | |
| 260 'variables': { | |
| 261 'nasm_path': '<!(which nasm)', | |
|
Mark Mentovai
2010/11/16 14:49:52
Do you know what this expands to at runtime?
Hironori Bono
2010/11/19 05:44:35
It became "/usr/bin/nasm". By the way, as written
| |
| 262 }, | |
| 263 'rules': [ | |
| 264 { | |
| 265 'rule_name': 'assemble', | |
| 266 'extension': 'asm', | |
| 267 'inputs': [ '<(nasm_path)', ], | |
| 268 'outputs': [ | |
| 269 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix) ', | |
| 270 ], | |
| 271 'action': [ | |
| 272 '<(nasm_path)', | |
| 273 '-fmacho', | |
| 274 '-DMACHO', | |
| 275 '-Imac/', | |
| 276 '-Isimd/', | |
| 277 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s uffix)', | |
| 278 '<(RULE_INPUT_PATH)', | |
| 279 ], | |
| 280 'process_outputs_as_sources': 0, | |
| 281 'message': 'Build <(RULE_INPUT_PATH).', | |
| 282 }, | |
| 283 ], | |
| 284 }], | |
| 285 [ 'OS=="linux"', { | |
| 286 'dependencies': [ | |
| 287 '../yasm/yasm.gyp:yasm#host', | |
| 288 ], | |
| 289 'variables': { | |
| 290 'nasm_path': '<(PRODUCT_DIR)/yasm', | |
| 291 'conditions': [ | |
| 292 [ 'target_arch=="ia32"', { | |
| 293 'nasm_format': '-felf', | |
| 294 'nasm_flag': '-D__X86__', | |
| 295 }, { | |
| 296 'nasm_format': '-felf64', | |
| 297 'nasm_flag': '-D__x86_64__', | |
| 298 }], | |
| 299 ], | |
| 300 }, | |
| 301 'rules': [ | |
| 302 { | |
| 303 'rule_name': 'assemble', | |
| 304 'extension': 'asm', | |
| 305 'inputs': [ '<(nasm_path)', ], | |
| 306 'outputs': [ | |
| 307 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix) ', | |
| 308 ], | |
| 309 'action': [ | |
| 310 '<(nasm_path)', | |
| 311 '<(nasm_format)', | |
| 312 '-DELF', | |
| 313 '<(nasm_flag)', | |
| 314 '-Ilinux/', | |
| 315 '-Isimd/', | |
| 316 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s uffix)', | |
| 317 '<(RULE_INPUT_PATH)', | |
| 318 ], | |
| 319 'process_outputs_as_sources': 0, | |
| 320 'message': 'Build <(RULE_INPUT_PATH).', | |
| 321 }, | |
| 322 ], | |
| 323 }], | |
| 324 ], | |
| 325 }, | |
| 326 ], | |
| 327 }, { | |
|
Mark Mentovai
2010/11/16 14:49:52
Put a comment here like
}, { # else: use_system_
Hironori Bono
2010/11/19 05:44:35
Done.
| |
| 328 'targets': [ | |
| 329 { | |
| 330 'target_name': 'libjpeg', | |
| 331 'type': 'settings', | |
| 332 'direct_dependent_settings': { | |
| 333 'defines': [ | |
| 334 'USE_SYSTEM_LIBJPEG', | |
| 335 ], | |
| 336 }, | |
| 337 'link_settings': { | |
| 338 'libraries': [ | |
| 339 '-ljpeg', | |
| 340 ], | |
| 341 }, | |
| 342 }, | |
| 343 ], | |
| 344 }], | |
| 345 ], | |
| 346 } | |
| 347 | |
| 348 # Local Variables: | |
| 349 # tab-width:2 | |
| 350 # indent-tabs-mode:nil | |
| 351 # End: | |
| 352 # vim: set expandtab tabstop=2 shiftwidth=2: | |
| OLD | NEW |