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

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) 2010 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 '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 # This is a workaround for GYP issue 102.
Mark Mentovai 2010/11/19 17:12:25 Thanks for adding this comment.
Hironori Bono 2010/11/22 09:01:37 It's not a problem. I should have added this comme
21 # TODO(hbono): Delete this workaround when this issue is fixed.
22 'shared_generated_dir': '<(INTERMEDIATE_DIR)/third_party/libjpeg_turbo',
23 }, {
24 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg_ turbo',
25 }],
26 ],
27 },
28 'conditions': [
29 [ 'use_system_libjpeg==0', {
30 'targets': [
31 {
32 'target_name': 'libjpeg',
33 'type': '<(library)',
34 'include_dirs': [
35 '.',
36 ],
37 'defines': [
38 'WITH_SIMD',
39 ],
40 'dependencies': [
41 'libjpeg_asm',
42 ],
43 'sources': [
44 'jconfig.h',
45 'jpeglib.h',
46 'jpeglibmangler.h',
47 'jcapimin.c',
48 'jcapistd.c',
49 'jccoefct.c',
50 'jccolor.c',
51 'jcdctmgr.c',
52 'jchuff.c',
53 'jchuff.h',
54 'jcinit.c',
55 'jcmainct.c',
56 'jcmarker.c',
57 'jcmaster.c',
58 'jcomapi.c',
59 'jcparam.c',
60 'jcphuff.c',
61 'jcprepct.c',
62 'jcsample.c',
63 'jdapimin.c',
64 'jdapistd.c',
65 'jdatadst.c',
66 'jdatasrc.c',
67 'jdcoefct.c',
68 'jdcolor.c',
69 'jdct.h',
70 'jddctmgr.c',
71 'jdhuff.c',
72 'jdhuff.h',
73 'jdinput.c',
74 'jdmainct.c',
75 'jdmarker.c',
76 'jdmaster.c',
77 'jdmerge.c',
78 'jdphuff.c',
79 'jdpostct.c',
80 'jdsample.c',
81 'jerror.c',
82 'jerror.h',
83 'jfdctflt.c',
84 'jfdctfst.c',
85 'jfdctint.c',
86 'jidctflt.c',
87 'jidctfst.c',
88 'jidctint.c',
89 'jidctred.c',
90 'jinclude.h',
91 'jmemmgr.c',
92 'jmemnobs.c',
93 'jmemsys.h',
94 'jmorecfg.h',
95 'jpegint.h',
96 'jquant1.c',
97 'jquant2.c',
98 'jutils.c',
99 'jversion.h',
100 ],
101 'direct_dependent_settings': {
102 'include_dirs': [
103 '.',
104 ],
105 },
106 'conditions': [
107 [ 'OS!="win"', {'product_name': 'jpeg_turbo'}],
108 # Add target-specific source files.
109 [ 'target_arch=="ia32"', {
110 'sources': [
111 'simd/jsimd_i386.c',
112 # Object files assembled by the 'libjpeg_asm' project.
113 '<(shared_generated_dir)/jsimdcpu.<(object_suffix)',
114 '<(shared_generated_dir)/jccolmmx.<(object_suffix)',
115 '<(shared_generated_dir)/jdcolmmx.<(object_suffix)',
116 '<(shared_generated_dir)/jcsammmx.<(object_suffix)',
117 '<(shared_generated_dir)/jdsammmx.<(object_suffix)',
118 '<(shared_generated_dir)/jdmermmx.<(object_suffix)',
119 '<(shared_generated_dir)/jcqntmmx.<(object_suffix)',
120 '<(shared_generated_dir)/jfmmxfst.<(object_suffix)',
121 '<(shared_generated_dir)/jfmmxint.<(object_suffix)',
122 '<(shared_generated_dir)/jimmxred.<(object_suffix)',
123 '<(shared_generated_dir)/jimmxint.<(object_suffix)',
124 '<(shared_generated_dir)/jimmxfst.<(object_suffix)',
125 '<(shared_generated_dir)/jcqnt3dn.<(object_suffix)',
126 '<(shared_generated_dir)/jf3dnflt.<(object_suffix)',
127 '<(shared_generated_dir)/ji3dnflt.<(object_suffix)',
128 '<(shared_generated_dir)/jcqntsse.<(object_suffix)',
129 '<(shared_generated_dir)/jfsseflt.<(object_suffix)',
130 '<(shared_generated_dir)/jisseflt.<(object_suffix)',
131 '<(shared_generated_dir)/jccolss2.<(object_suffix)',
132 '<(shared_generated_dir)/jdcolss2.<(object_suffix)',
133 '<(shared_generated_dir)/jcsamss2.<(object_suffix)',
134 '<(shared_generated_dir)/jdsamss2.<(object_suffix)',
135 '<(shared_generated_dir)/jdmerss2.<(object_suffix)',
136 '<(shared_generated_dir)/jcqnts2i.<(object_suffix)',
137 '<(shared_generated_dir)/jfss2fst.<(object_suffix)',
138 '<(shared_generated_dir)/jfss2int.<(object_suffix)',
139 '<(shared_generated_dir)/jiss2red.<(object_suffix)',
140 '<(shared_generated_dir)/jiss2int.<(object_suffix)',
141 '<(shared_generated_dir)/jiss2fst.<(object_suffix)',
142 '<(shared_generated_dir)/jcqnts2f.<(object_suffix)',
143 '<(shared_generated_dir)/jiss2flt.<(object_suffix)',
144 ],
145 }],
146 [ 'target_arch=="x64"', {
147 'sources': [
148 'simd/jsimd_x86_64.c',
149 # Object files assembled by the 'libjpeg_asm' project.
150 '<(shared_generated_dir)/jfsseflt-64.<(object_suffix)',
151 '<(shared_generated_dir)/jccolss2-64.<(object_suffix)',
152 '<(shared_generated_dir)/jdcolss2-64.<(object_suffix)',
153 '<(shared_generated_dir)/jcsamss2-64.<(object_suffix)',
154 '<(shared_generated_dir)/jdsamss2-64.<(object_suffix)',
155 '<(shared_generated_dir)/jdmerss2-64.<(object_suffix)',
156 '<(shared_generated_dir)/jcqnts2i-64.<(object_suffix)',
157 '<(shared_generated_dir)/jfss2fst-64.<(object_suffix)',
158 '<(shared_generated_dir)/jfss2int-64.<(object_suffix)',
159 '<(shared_generated_dir)/jiss2red-64.<(object_suffix)',
160 '<(shared_generated_dir)/jiss2int-64.<(object_suffix)',
161 '<(shared_generated_dir)/jiss2fst-64.<(object_suffix)',
162 '<(shared_generated_dir)/jcqnts2f-64.<(object_suffix)',
163 '<(shared_generated_dir)/jiss2flt-64.<(object_suffix)',
164 ],
165 }],
166 ],
167 },
168 {
169 # A project that assembles asm files and creates object files.
170 'target_name': 'libjpeg_asm',
171 'type': 'none',
172 'conditions': [
173 # Add platform-dependent source files.
174 [ 'target_arch=="ia32"', {
175 'sources': [
176 # The asm files for ia32.
177 'simd/jsimdcpu.asm',
178 'simd/jccolmmx.asm',
179 'simd/jdcolmmx.asm',
180 'simd/jcsammmx.asm',
181 'simd/jdsammmx.asm',
182 'simd/jdmermmx.asm',
183 'simd/jcqntmmx.asm',
184 'simd/jfmmxfst.asm',
185 'simd/jfmmxint.asm',
186 'simd/jimmxred.asm',
187 'simd/jimmxint.asm',
188 'simd/jimmxfst.asm',
189 'simd/jcqnt3dn.asm',
190 'simd/jf3dnflt.asm',
191 'simd/ji3dnflt.asm',
192 'simd/jcqntsse.asm',
193 'simd/jfsseflt.asm',
194 'simd/jisseflt.asm',
195 'simd/jccolss2.asm',
196 'simd/jdcolss2.asm',
197 'simd/jcsamss2.asm',
198 'simd/jdsamss2.asm',
199 'simd/jdmerss2.asm',
200 'simd/jcqnts2i.asm',
201 'simd/jfss2fst.asm',
202 'simd/jfss2int.asm',
203 'simd/jiss2red.asm',
204 'simd/jiss2int.asm',
205 'simd/jiss2fst.asm',
206 'simd/jcqnts2f.asm',
207 'simd/jiss2flt.asm',
208 ],
209 }],
210 [ 'target_arch=="x64"', {
211 'sources': [
212 # The asm files for x64.
213 'simd/jfsseflt-64.asm',
214 'simd/jccolss2-64.asm',
215 'simd/jdcolss2-64.asm',
216 'simd/jcsamss2-64.asm',
217 'simd/jdsamss2-64.asm',
218 'simd/jdmerss2-64.asm',
219 'simd/jcqnts2i-64.asm',
220 'simd/jfss2fst-64.asm',
221 'simd/jfss2int-64.asm',
222 'simd/jiss2red-64.asm',
223 'simd/jiss2int-64.asm',
224 'simd/jiss2fst-64.asm',
225 'simd/jcqnts2f-64.asm',
226 'simd/jiss2flt-64.asm',
227 ],
228 }],
229
230 # Build rules for an asm file.
231 # On Windows, we use the precompiled yasm binary. On Linux and Mac,
232 # we build yasm and use it as ffmpeg does.
233 [ 'OS=="win"', {
234 'variables': {
235 'yasm_path': '../yasm/binaries/win/yasm<(EXECUTABLE_SUFFIX)',
236 },
237 'rules': [
238 {
239 'rule_name': 'assemble',
240 'extension': 'asm',
241 'inputs': [ '<(yasm_path)', ],
242 'outputs': [
243 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix) ',
244 ],
245 'action': [
246 '<(yasm_path)',
247 '-fwin32',
248 '-DWIN32',
249 '-DMSVC',
250 '-Iwin/',
251 '-Isimd/',
252 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s uffix)',
253 '<(RULE_INPUT_PATH)',
254 ],
255 'process_outputs_as_sources': 0,
256 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
257 },
258 ],
259 }],
260 [ 'OS=="mac"', {
261 'dependencies': [
262 '../yasm/yasm.gyp:yasm#host',
Mark Mentovai 2010/11/19 17:12:25 Have you tested this on the Mac? I wasn’t involved
Hironori Bono 2010/11/22 09:01:37 Yes, I have verified we can build libjpeg-turbo wi
263 ],
264 'variables': {
265 'yasm_path': '<(PRODUCT_DIR)/yasm',
266 },
267 'rules': [
268 {
269 'rule_name': 'assemble',
270 'extension': 'asm',
271 'inputs': [ '<(yasm_path)', ],
272 'outputs': [
273 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix) ',
274 ],
275 'action': [
276 '<(yasm_path)',
277 '-fmacho',
278 '-DMACHO',
279 '-Imac/',
280 '-Isimd/',
281 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s uffix)',
282 '<(RULE_INPUT_PATH)',
283 ],
284 'process_outputs_as_sources': 0,
285 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
286 },
287 ],
288 }],
289 [ 'OS=="linux"', {
290 'dependencies': [
291 '../yasm/yasm.gyp:yasm#host',
292 ],
293 'variables': {
294 'yasm_path': '<(PRODUCT_DIR)/yasm',
295 'conditions': [
296 [ 'target_arch=="ia32"', {
297 'yasm_format': '-felf',
298 'yasm_flag': '-D__X86__',
299 }, {
300 'yasm_format': '-felf64',
301 'yasm_flag': '-D__x86_64__',
302 }],
303 ],
304 },
305 'rules': [
306 {
307 'rule_name': 'assemble',
308 'extension': 'asm',
309 'inputs': [ '<(yasm_path)', ],
310 'outputs': [
311 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix) ',
312 ],
313 'action': [
314 '<(yasm_path)',
315 '<(yasm_format)',
316 '-DELF',
317 '<(yasm_flag)',
318 '-Ilinux/',
319 '-Isimd/',
320 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_s uffix)',
321 '<(RULE_INPUT_PATH)',
322 ],
323 'process_outputs_as_sources': 0,
324 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
325 },
326 ],
327 }],
328 ],
329 },
330 ],
331 }, { # else: use_system_libjpeg != 0
332 'targets': [
333 {
334 'target_name': 'libjpeg',
335 'type': 'settings',
336 'direct_dependent_settings': {
337 'defines': [
338 'USE_SYSTEM_LIBJPEG',
339 ],
340 },
341 'link_settings': {
342 'libraries': [
343 '-ljpeg',
344 ],
345 },
346 },
347 ],
348 }],
349 ],
350 }
351
352 # Local Variables:
353 # tab-width:2
354 # indent-tabs-mode:nil
355 # End:
356 # vim: set expandtab tabstop=2 shiftwidth=2:
OLDNEW
« no previous file with comments | « third_party/libjpeg_turbo/jpeglibmangler.h ('k') | third_party/libjpeg_turbo/linux/jsimdcfg.inc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698