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

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

Issue 4298001: Add build files for libjpeg-turbo.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 10 years, 1 month 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
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(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:
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698