|
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 |