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

Side by Side Diff: gyp/libjpeg-turbo.gyp

Issue 1180983002: Switch SkJpegCode to libjpeg-turbo (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Adding turbo to DEPS Created 5 years, 5 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
OLDNEW
(Empty)
1 # Copyright (c) 2012 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 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/externals/li bjpeg-turbo',
8 'conditions': [
9 [ 'skia_os == "win"', {
10 'object_suffix': 'obj',
11 }, {
12 'object_suffix': 'o',
13 }],
14 ],
15 },
16 'targets': [
17 {
18 'target_name': 'libjpeg-turbo',
19 'type': 'static_library',
20 'include_dirs': [
21 '../third_party/externals/libjpeg-turbo/',
22 ],
23 'defines': [
24 'WITH_SIMD',
25 'MOTION_JPEG_SUPPORTED',
26 'NO_GETENV',
27 ],
28 'cflags': [
29 '-w', # supresses warnings
30 ],
31 'sources': [
32 '../third_party/externals/libjpeg-turbo/jaricom.c',
33 '../third_party/externals/libjpeg-turbo/jcapimin.c',
34 '../third_party/externals/libjpeg-turbo/jcapistd.c',
35 '../third_party/externals/libjpeg-turbo/jcarith.c',
36 '../third_party/externals/libjpeg-turbo/jccoefct.c',
37 '../third_party/externals/libjpeg-turbo/jccolor.c',
38 '../third_party/externals/libjpeg-turbo/jcdctmgr.c',
39 '../third_party/externals/libjpeg-turbo/jchuff.c',
40 '../third_party/externals/libjpeg-turbo/jchuff.h',
41 '../third_party/externals/libjpeg-turbo/jcinit.c',
42 '../third_party/externals/libjpeg-turbo/jcmainct.c',
43 '../third_party/externals/libjpeg-turbo/jcmarker.c',
44 '../third_party/externals/libjpeg-turbo/jcmaster.c',
45 '../third_party/externals/libjpeg-turbo/jcomapi.c',
46 '../third_party/externals/libjpeg-turbo/jconfig.h',
47 '../third_party/externals/libjpeg-turbo/jconfigint.h',
48 '../third_party/externals/libjpeg-turbo/jcparam.c',
49 '../third_party/externals/libjpeg-turbo/jcphuff.c',
50 '../third_party/externals/libjpeg-turbo/jcprepct.c',
51 '../third_party/externals/libjpeg-turbo/jcsample.c',
52 '../third_party/externals/libjpeg-turbo/jdapimin.c',
53 '../third_party/externals/libjpeg-turbo/jdapistd.c',
54 '../third_party/externals/libjpeg-turbo/jdarith.c',
55 '../third_party/externals/libjpeg-turbo/jdcoefct.c',
56 '../third_party/externals/libjpeg-turbo/jdcolor.c',
57 '../third_party/externals/libjpeg-turbo/jdct.h',
58 '../third_party/externals/libjpeg-turbo/jddctmgr.c',
59 '../third_party/externals/libjpeg-turbo/jdhuff.c',
60 '../third_party/externals/libjpeg-turbo/jdhuff.h',
61 '../third_party/externals/libjpeg-turbo/jdinput.c',
62 '../third_party/externals/libjpeg-turbo/jdmainct.c',
63 '../third_party/externals/libjpeg-turbo/jdmarker.c',
64 '../third_party/externals/libjpeg-turbo/jdmaster.c',
65 '../third_party/externals/libjpeg-turbo/jdmerge.c',
66 '../third_party/externals/libjpeg-turbo/jdphuff.c',
67 '../third_party/externals/libjpeg-turbo/jdpostct.c',
68 '../third_party/externals/libjpeg-turbo/jdsample.c',
69 '../third_party/externals/libjpeg-turbo/jerror.c',
70 '../third_party/externals/libjpeg-turbo/jerror.h',
71 '../third_party/externals/libjpeg-turbo/jfdctflt.c',
72 '../third_party/externals/libjpeg-turbo/jfdctfst.c',
73 '../third_party/externals/libjpeg-turbo/jfdctint.c',
74 '../third_party/externals/libjpeg-turbo/jidctflt.c',
75 '../third_party/externals/libjpeg-turbo/jidctfst.c',
76 '../third_party/externals/libjpeg-turbo/jidctint.c',
77 '../third_party/externals/libjpeg-turbo/jidctred.c',
78 '../third_party/externals/libjpeg-turbo/jinclude.h',
79 '../third_party/externals/libjpeg-turbo/jmemmgr.c',
80 '../third_party/externals/libjpeg-turbo/jmemnobs.c',
81 '../third_party/externals/libjpeg-turbo/jmemsys.h',
82 '../third_party/externals/libjpeg-turbo/jmorecfg.h',
83 '../third_party/externals/libjpeg-turbo/jpegint.h',
84 '../third_party/externals/libjpeg-turbo/jpeglib.h',
85 '../third_party/externals/libjpeg-turbo/jpeglibmangler.h',
86 '../third_party/externals/libjpeg-turbo/jquant1.c',
87 '../third_party/externals/libjpeg-turbo/jquant2.c',
88 '../third_party/externals/libjpeg-turbo/jutils.c',
89 '../third_party/externals/libjpeg-turbo/jversion.h',
90 ],
91 'direct_dependent_settings': {
92 'include_dirs': [
93 '../third_party/externals/libjpeg-turbo/',
94 ],
95 },
96 'msvs_disabled_warnings': [4018, 4101],
97 # VS2010 does not correctly incrementally link obj files generated
98 # from asm files. This flag disables UseLibraryDependencyInputs to
99 # avoid this problem.
100 'msvs_2010_disable_uldi_when_referenced': 1,
101
102 # Add target-specific source files.
103 'conditions': [
104 [ 'skia_arch_type == "x86"', {
105 'sources': [
106 '../third_party/externals/libjpeg-turbo/simd/jsimd_i386.c',
107 '../third_party/externals/libjpeg-turbo/simd/jccolor-mmx.asm',
108 '../third_party/externals/libjpeg-turbo/simd/jccolor-sse2.asm',
109 '../third_party/externals/libjpeg-turbo/simd/jcgray-mmx.asm',
110 '../third_party/externals/libjpeg-turbo/simd/jcgray-sse2.asm',
111 '../third_party/externals/libjpeg-turbo/simd/jcsample-mmx.asm',
112 '../third_party/externals/libjpeg-turbo/simd/jcsample-sse2.asm',
113 '../third_party/externals/libjpeg-turbo/simd/jdcolor-mmx.asm',
114 '../third_party/externals/libjpeg-turbo/simd/jdcolor-sse2.asm',
115 '../third_party/externals/libjpeg-turbo/simd/jdmerge-mmx.asm',
116 '../third_party/externals/libjpeg-turbo/simd/jdmerge-sse2.asm',
117 '../third_party/externals/libjpeg-turbo/simd/jdsample-mmx.asm',
118 '../third_party/externals/libjpeg-turbo/simd/jdsample-sse2.asm',
119 '../third_party/externals/libjpeg-turbo/simd/jfdctflt-3dn.asm',
120 '../third_party/externals/libjpeg-turbo/simd/jfdctflt-sse.asm',
121 '../third_party/externals/libjpeg-turbo/simd/jfdctfst-mmx.asm',
122 '../third_party/externals/libjpeg-turbo/simd/jfdctfst-sse2.asm',
123 '../third_party/externals/libjpeg-turbo/simd/jfdctint-mmx.asm',
124 '../third_party/externals/libjpeg-turbo/simd/jfdctint-sse2.asm',
125 '../third_party/externals/libjpeg-turbo/simd/jidctflt-3dn.asm',
126 '../third_party/externals/libjpeg-turbo/simd/jidctflt-sse2.asm',
127 '../third_party/externals/libjpeg-turbo/simd/jidctflt-sse.asm',
128 '../third_party/externals/libjpeg-turbo/simd/jidctfst-mmx.asm',
129 '../third_party/externals/libjpeg-turbo/simd/jidctfst-sse2.asm',
130 '../third_party/externals/libjpeg-turbo/simd/jidctint-mmx.asm',
131 '../third_party/externals/libjpeg-turbo/simd/jidctint-sse2.asm',
132 '../third_party/externals/libjpeg-turbo/simd/jidctred-mmx.asm',
133 '../third_party/externals/libjpeg-turbo/simd/jidctred-sse2.asm',
134 '../third_party/externals/libjpeg-turbo/simd/jquant-3dn.asm',
135 '../third_party/externals/libjpeg-turbo/simd/jquantf-sse2.asm',
136 '../third_party/externals/libjpeg-turbo/simd/jquanti-sse2.asm',
137 '../third_party/externals/libjpeg-turbo/simd/jquant-mmx.asm',
138 '../third_party/externals/libjpeg-turbo/simd/jquant-sse.asm',
139 '../third_party/externals/libjpeg-turbo/simd/jsimdcpu.asm',
140 ],
141 }],
142 [ 'skia_arch_type == "x86_64"', {
143 'sources': [
144 '../third_party/externals/libjpeg-turbo/simd/jsimd_x86_64.c',
145 '../third_party/externals/libjpeg-turbo/simd/jccolor-sse2-64.asm',
146 '../third_party/externals/libjpeg-turbo/simd/jcgray-sse2-64.asm',
147 '../third_party/externals/libjpeg-turbo/simd/jcsample-sse2-64.asm',
148 '../third_party/externals/libjpeg-turbo/simd/jdcolor-sse2-64.asm',
149 '../third_party/externals/libjpeg-turbo/simd/jdmerge-sse2-64.asm',
150 '../third_party/externals/libjpeg-turbo/simd/jdsample-sse2-64.asm',
151 '../third_party/externals/libjpeg-turbo/simd/jfdctflt-sse-64.asm',
152 '../third_party/externals/libjpeg-turbo/simd/jfdctfst-sse2-64.asm',
153 '../third_party/externals/libjpeg-turbo/simd/jfdctint-sse2-64.asm',
154 '../third_party/externals/libjpeg-turbo/simd/jidctflt-sse2-64.asm',
155 '../third_party/externals/libjpeg-turbo/simd/jidctfst-sse2-64.asm',
156 '../third_party/externals/libjpeg-turbo/simd/jidctint-sse2-64.asm',
157 '../third_party/externals/libjpeg-turbo/simd/jidctred-sse2-64.asm',
158 '../third_party/externals/libjpeg-turbo/simd/jquantf-sse2-64.asm',
159 '../third_party/externals/libjpeg-turbo/simd/jquanti-sse2-64.asm',
160 ],
161 }],
162 [ 'skia_arch_type == "arm"', {
163 'conditions': [
164 [ 'arm_version >= 7 and (arm_neon == 1 or arm_neon_optional == 1)', {
165 'sources': [
166 '../third_party/externals/libjpeg-turbo/simd/jsimd_arm.c',
167 '../third_party/externals/libjpeg-turbo/simd/jsimd_arm_neon.S',
168 ],
169 }, {
170 'sources': [
171 '../third_party/externals/libjpeg-turbo/jsimd_none.c',
172 ],
173 }]
174 ],
175 }],
176 [ 'skia_arch_type == "arm64"', {
177 'sources': [
178 '../third_party/externals/libjpeg-turbo/simd/jsimd_arm64.c',
179 '../third_party/externals/libjpeg-turbo/simd/jsimd_arm64_neon.S',
180 ],
181 }],
182 [ 'skia_arch_type == "mips"', {
183 'sources': [
184 '../third_party/externals/libjpeg-turbo/simd/jsimd_mips.c',
185 '../third_party/externals/libjpeg-turbo/simd/jsimd_mips_dspr2_asm.h' ,
186 '../third_party/externals/libjpeg-turbo/simd/jsimd_mips_dspr2.S',
187 ],
188 }],
189
190 # Build rules for an asm file.
191 # On Windows, we use the precompiled yasm binary.
192 # On Linux, we build our patched yasm and use it except when use_system_ yasm is 1.
193 # On Mac, we always build our patched yasm and use it.
194 [ 'skia_os == "win"', {
195 'variables': {
196 'yasm_path': '../third_party/externals/yasm/binaries/win/yasm.exe',
197 'conditions': [
198 [ 'skia_arch_type == "x86"', {
199 'yasm_format': '-fwin32',
200 'yasm_flags': [
201 '-D__x86__',
202 '-DWIN32',
203 '-DMSVC',
204 '-Iwin/'
205 ],
206 }, {
207 'yasm_format': '-fwin64',
208 'yasm_flags': [
209 '-D__x86_64__',
210 '-DWIN64',
211 '-DMSVC',
212 '-Iwin/'
213 ],
214 }],
215 ],
216 },
217 }],
218 [ 'skia_os == "mac" or skia_os == "ios"', {
219 'dependencies': [
220 'yasm.gyp:yasm#host',
221 ],
222 'variables': {
223 'yasm_path': '<(PRODUCT_DIR)/yasm',
224 'conditions': [
225 [ 'skia_arch_type == "x86"', {
226 'yasm_format': '-fmacho',
227 'yasm_flags': [
228 '-D__x86__',
229 '-DMACHO',
230 '-Imac/'
231 ],
232 }, {
233 'yasm_format': '-fmacho64',
234 'yasm_flags': [
235 '-D__x86_64__',
236 '-DMACHO',
237 '-Imac/'
238 ],
239 }],
240 ],
241 },
242 }],
243 [ 'skia_os == "linux" or skia_os == "freebsd" or \
244 (skia_os == "android" and (skia_arch_type == "x86" or skia_arch_type = = "x86_64"))', {
245 'dependencies': [
246 'yasm.gyp:yasm#host',
247 ],
248 'variables': {
249 'yasm_path': '<(PRODUCT_DIR)/yasm',
250 'conditions': [
251 [ 'skia_arch_type == "x86"', {
252 'yasm_format': '-felf',
253 'yasm_flags': [
254 '-D__x86__',
255 '-DELF',
256 '-Ilinux/'
257 ],
258 }, {
259 'yasm_format': '-felf64',
260 'yasm_flags': [
261 '-D__x86_64__',
262 '-DELF',
263 '-Ilinux/'
264 ],
265 }],
266 ],
267 },
268 }],
269 ],
270 'rules': [
271 {
272 'rule_name': 'assemble',
273 'extension': 'asm',
274 'conditions': [
275 [ 'skia_arch_type == "x86" or skia_arch_type == "x86_64"', {
276 'inputs': [ '<(yasm_path)', ],
277 'outputs': [
278 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
279 ],
280 'action': [
281 '<(yasm_path)',
282 '<(yasm_format)',
283 '<@(yasm_flags)',
284 '-DRGBX_FILLER_0XFF',
285 '-DSTRICT_MEMORY_ACCESS',
286 '-Isimd/',
287 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffi x)',
288 '<(RULE_INPUT_PATH)',
289 ],
290 'process_outputs_as_sources': 1,
291 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
292 }],
293 ]
294 },
295 ],
296 },
297 ],
298 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698