Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(289)

Side by Side Diff: third_party/libjpeg_turbo/libjpeg.gyp

Issue 6260004: Refactor the GYP file for libjpeg-turbo.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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:
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698