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

Side by Side Diff: skia/skia_library.gypi

Issue 18177021: Refactor Skia's GYP to separate Chrome additions from the core lib. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove extra code Created 7 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
robertphillips 2013/07/12 14:01:40 2013
djsollen 2013/07/12 14:43:27 Done.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
robertphillips 2013/07/12 14:01:40 # This file builds the Skia library. In shared lib
djsollen 2013/07/12 14:43:27 Done.
5 {
6 'dependencies': [
7 'skia_library_opts.gyp:skia_opts',
8 '../third_party/zlib/zlib.gyp:zlib',
9 ],
10
11 'variables': {
12 'variables': {
13 'conditions': [
14 ['OS== "ios"', {
15 'skia_support_gpu': 0,
16 }, {
17 'skia_support_gpu': 1,
18 }],
19 ['OS=="ios" or OS=="android"', {
robertphillips 2013/07/12 14:01:40 # IOS and Android have their own PDF solutions
20 'skia_support_pdf': 0,
21 }, {
22 'skia_support_pdf': 1,
23 }],
24 ],
25 },
26 'skia_support_gpu': '<(skia_support_gpu)',
27 'skia_support_pdf': '<(skia_support_pdf)',
28
29 # These two set the paths so we can include skia/gyp/core.gypi
30 'skia_src_path': '../third_party/skia/src',
31 'skia_include_path': '../third_party/skia/include',
32
33 # This list will contain all defines that also need to be exported to
34 # dependent components.
35 'skia_export_defines': [
36 'SK_ENABLE_INST_COUNT=0',
37 'SK_SUPPORT_GPU=<(skia_support_gpu)',
robertphillips 2013/07/12 14:01:40 Hasn't SK_DEBUG_PATH_REF been removed?
djsollen 2013/07/12 14:43:27 Done.
38 'SK_DEBUG_PATH_REF=<(release_valgrind_build)',
39 'GR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"',
40 ],
41
42 'default_font_cache_limit': '(20*1024*1024)',
43
44 'conditions': [
45 ['OS== "android"', {
46 # Android devices are typically more memory constrained, so
47 # use a smaller glyph cache.
48 'default_font_cache_limit': '(8*1024*1024)',
49 'skia_export_defines': [
50 'SK_BUILD_FOR_ANDROID',
51 'USE_CHROMIUM_SKIA',
52 ],
53 }],
54 ['component=="shared_library"', {
55 'skia_export_defines': [
56 'SKIA_DLL',
robertphillips 2013/07/12 14:01:40 # TODO: fold these two defines together in Skia an
djsollen 2013/07/12 14:43:27 Done.
57 'GR_DLL=1',
58 ],
59 }],
60 ],
61 },
62
63 'includes': [
64 '../third_party/skia/gyp/core.gypi',
65 '../third_party/skia/gyp/effects.gypi',
66 ],
67
68 'sources': [
69 # this should likely be moved into src/utils in skia
70 '../third_party/skia/src/core/SkFlate.cpp',
71 # We don't want to add this to Skia's core.gypi since it is
72 # Android only. Include it here and remove it for everyone
73 # but Android later.
74 '../third_party/skia/src/core/SkPaintOptionsAndroid.cpp',
75
76 '../third_party/skia/src/ports/SkImageDecoder_empty.cpp',
robertphillips 2013/07/12 14:01:40 Remove all commented out files?
djsollen 2013/07/12 14:43:27 Done.
77 #'../third_party/skia/src/images/bmpdecoderhelper.cpp',
78 #'../third_party/skia/src/images/bmpdecoderhelper.h',
79 #'../third_party/skia/src/images/SkFDStream.cpp',
80 #'../third_party/skia/src/images/SkImageDecoder.cpp',
81 #'../third_party/skia/src/images/SkImageDecoder_FactoryDefault.cpp',
82 #'../third_party/skia/src/images/SkImageDecoder_FactoryRegistrar.cpp',
83 #'../third_party/skia/src/images/SkImageDecoder_fpdfemb.cpp',
84 #'../third_party/skia/src/images/SkImageDecoder_libbmp.cpp',
85 #'../third_party/skia/src/images/SkImageDecoder_libgif.cpp',
86 #'../third_party/skia/src/images/SkImageDecoder_libico.cpp',
87 #'../third_party/skia/src/images/SkImageDecoder_libjpeg.cpp',
88 #'../third_party/skia/src/images/SkImageDecoder_libpng.cpp',
89 #'../third_party/skia/src/images/SkImageDecoder_libpvjpeg.cpp',
90 #'../third_party/skia/src/images/SkImageDecoder_wbmp.cpp',
91 #'../third_party/skia/src/images/SkImageEncoder.cpp',
92 #'../third_party/skia/src/images/SkImageEncoder_Factory.cpp',
93 #'../third_party/skia/src/images/SkImageRef.cpp',
94 #'../third_party/skia/src/images/SkImageRefPool.cpp',
95 #'../third_party/skia/src/images/SkImageRefPool.h',
96 #'../third_party/skia/src/images/SkImageRef_GlobalPool.cpp',
97 #'../third_party/skia/src/images/SkMovie.cpp',
98 #'../third_party/skia/src/images/SkMovie_gif.cpp',
99 '../third_party/skia/src/images/SkScaledBitmapSampler.cpp',
100 '../third_party/skia/src/images/SkScaledBitmapSampler.h',
101
102 '../third_party/skia/src/opts/opts_check_SSE2.cpp',
103
104 '../third_party/skia/src/pdf/SkPDFCatalog.cpp',
105 '../third_party/skia/src/pdf/SkPDFCatalog.h',
106 '../third_party/skia/src/pdf/SkPDFDevice.cpp',
107 '../third_party/skia/src/pdf/SkPDFDocument.cpp',
108 '../third_party/skia/src/pdf/SkPDFFont.cpp',
109 '../third_party/skia/src/pdf/SkPDFFont.h',
110 '../third_party/skia/src/pdf/SkPDFFormXObject.cpp',
111 '../third_party/skia/src/pdf/SkPDFFormXObject.h',
112 '../third_party/skia/src/pdf/SkPDFGraphicState.cpp',
113 '../third_party/skia/src/pdf/SkPDFGraphicState.h',
114 '../third_party/skia/src/pdf/SkPDFImage.cpp',
115 '../third_party/skia/src/pdf/SkPDFImage.h',
116 '../third_party/skia/src/pdf/SkPDFImageStream.cpp',
117 '../third_party/skia/src/pdf/SkPDFImageStream.h',
118 '../third_party/skia/src/pdf/SkPDFPage.cpp',
119 '../third_party/skia/src/pdf/SkPDFPage.h',
120 '../third_party/skia/src/pdf/SkPDFShader.cpp',
121 '../third_party/skia/src/pdf/SkPDFShader.h',
122 '../third_party/skia/src/pdf/SkPDFStream.cpp',
123 '../third_party/skia/src/pdf/SkPDFStream.h',
124 '../third_party/skia/src/pdf/SkPDFTypes.cpp',
125 '../third_party/skia/src/pdf/SkPDFTypes.h',
126 '../third_party/skia/src/pdf/SkPDFUtils.cpp',
127 '../third_party/skia/src/pdf/SkPDFUtils.h',
128
129 #'../third_party/skia/src/ports/SkPurgeableMemoryBlock_android.cpp',
130 #'../third_party/skia/src/ports/SkPurgeableMemoryBlock_mac.cpp',
131 '../third_party/skia/src/ports/SkPurgeableMemoryBlock_none.cpp',
132
133 '../third_party/skia/src/ports/SkFontConfigInterface_android.cpp',
134 '../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp',
135
136 '../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp',
137 '../third_party/skia/src/ports/SkFontHost_fontconfig.cpp',
138
139 #'../third_party/skia/src/ports/SkFontHost_FONTPATH.cpp',
140 '../third_party/skia/src/ports/SkFontHost_FreeType.cpp',
141 '../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp',
142 '../third_party/skia/src/ports/SkFontHost_FreeType_common.h',
143 '../third_party/skia/src/ports/SkFontConfigParser_android.cpp',
144 #'../third_party/skia/src/ports/SkFontHost_ascender.cpp',
145 #'../third_party/skia/src/ports/SkFontHost_linux.cpp',
146 '../third_party/skia/src/ports/SkFontHost_mac.cpp',
147 #'../third_party/skia/src/ports/SkFontHost_none.cpp',
148 '../third_party/skia/src/ports/SkFontHost_win.cpp',
149 '../third_party/skia/src/ports/SkGlobalInitialization_chromium.cpp',
150 #'../third_party/skia/src/ports/SkImageDecoder_CG.cpp',
151 #'../third_party/skia/src/ports/SkImageDecoder_empty.cpp',
152 #'../third_party/skia/src/ports/SkImageRef_ashmem.cpp',
153 #'../third_party/skia/src/ports/SkImageRef_ashmem.h',
154 #'../third_party/skia/src/ports/SkOSEvent_android.cpp',
155 #'../third_party/skia/src/ports/SkOSEvent_dummy.cpp',
156 '../third_party/skia/src/ports/SkOSFile_posix.cpp',
157 '../third_party/skia/src/ports/SkOSFile_stdio.cpp',
158 '../third_party/skia/src/ports/SkOSFile_win.cpp',
159 #'../third_party/skia/src/ports/SkThread_none.cpp',
160 '../third_party/skia/src/ports/SkThread_pthread.cpp',
161 '../third_party/skia/src/ports/SkThread_win.cpp',
162 '../third_party/skia/src/ports/SkTime_Unix.cpp',
163 #'../third_party/skia/src/ports/SkXMLParser_empty.cpp',
164 #'../third_party/skia/src/ports/SkXMLParser_expat.cpp',
165 #'../third_party/skia/src/ports/SkXMLParser_tinyxml.cpp',
166 #'../third_party/skia/src/ports/SkXMLPullParser_expat.cpp',
167
168 '../third_party/skia/src/sfnt/SkOTUtils.cpp',
169 '../third_party/skia/src/sfnt/SkOTUtils.h',
170
171 '../third_party/skia/include/utils/mac/SkCGUtils.h',
172 '../third_party/skia/include/utils/SkDeferredCanvas.h',
173 '../third_party/skia/include/utils/SkMatrix44.h',
174 '../third_party/skia/src/utils/debugger/SkDebugCanvas.cpp',
175 '../third_party/skia/src/utils/debugger/SkDebugCanvas.h',
176 '../third_party/skia/src/utils/debugger/SkDrawCommand.cpp',
177 '../third_party/skia/src/utils/debugger/SkDrawCommand.h',
178 '../third_party/skia/src/utils/debugger/SkObjectParser.cpp',
179 '../third_party/skia/src/utils/debugger/SkObjectParser.h',
180 '../third_party/skia/src/utils/mac/SkCreateCGImageRef.cpp',
181 '../third_party/skia/src/utils/SkBase64.cpp',
182 '../third_party/skia/src/utils/SkBase64.h',
183 '../third_party/skia/src/utils/SkBitSet.cpp',
184 '../third_party/skia/src/utils/SkBitSet.h',
185 '../third_party/skia/src/utils/SkDeferredCanvas.cpp',
186 '../third_party/skia/src/utils/SkMatrix44.cpp',
187 '../third_party/skia/src/utils/SkNullCanvas.cpp',
188 '../third_party/skia/include/utils/SkNWayCanvas.h',
189 '../third_party/skia/src/utils/SkNWayCanvas.cpp',
190 '../third_party/skia/src/utils/SkPictureUtils.cpp',
191 '../third_party/skia/src/utils/SkRTConf.cpp',
192 '../third_party/skia/include/utils/SkRTConf.h',
193 '../third_party/skia/include/pdf/SkPDFDevice.h',
194 '../third_party/skia/include/pdf/SkPDFDocument.h',
195
196 '../third_party/skia/include/ports/SkTypeface_win.h',
197
198 '../third_party/skia/include/images/SkImageRef.h',
199 '../third_party/skia/include/images/SkImageRef_GlobalPool.h',
200 '../third_party/skia/include/images/SkMovie.h',
201 '../third_party/skia/include/images/SkPageFlipper.h',
202
203 '../third_party/skia/include/utils/SkNullCanvas.h',
204 '../third_party/skia/include/utils/SkPictureUtils.h',
205 ],
206 'include_dirs': [
207 '..',
208 'config',
209 '../third_party/skia/include/config',
210 '../third_party/skia/include/core',
211 '../third_party/skia/include/effects',
212 '../third_party/skia/include/images',
213 '../third_party/skia/include/lazy',
214 '../third_party/skia/include/pathops',
215 '../third_party/skia/include/pdf',
216 '../third_party/skia/include/pipe',
217 '../third_party/skia/include/ports',
218 '../third_party/skia/include/utils',
219 '../third_party/skia/src/core',
220 '../third_party/skia/src/image',
221 '../third_party/skia/src/sfnt',
222 '../third_party/skia/src/utils',
223 '../third_party/skia/src/lazy',
224 ],
225 'conditions': [
226 ['skia_support_gpu != 0', {
227 'includes': [
228 '../third_party/skia/gyp/gpu.gypi',
229 ],
230 'sources': [
231 '<@(skgpu_sources)',
232 ],
233 'include_dirs': [
234 '../third_party/skia/include/gpu',
235 '../third_party/skia/include/gpu/gl',
236 '../third_party/skia/src/gpu',
237 ],
238 }],
239 ['skia_support_pdf == 0', {
240 'sources/': [
241 ['exclude', '../third_party/skia/src/pdf/']
242 ],
243 }],
244 ['skia_support_pdf == 1', {
245 'dependencies': [
246 '../third_party/sfntly/sfntly.gyp:sfntly',
247 ],
248 }],
249
250 #Settings for text blitting, chosen to approximate the system browser.
251 [ 'OS == "linux"', {
252 'defines': [
253 'SK_GAMMA_EXPONENT=1.2',
254 'SK_GAMMA_CONTRAST=0.2',
255 ],
256 }],
257 ['OS == "android"', {
258 'defines': [
259 'SK_GAMMA_APPLY_TO_A8',
260 'SK_GAMMA_EXPONENT=1.4',
261 'SK_GAMMA_CONTRAST=0.0',
262 ],
263 }],
264 ['OS == "win"', {
265 'defines': [
266 'SK_GAMMA_SRGB',
267 'SK_GAMMA_CONTRAST=0.5',
268 ],
269 }],
270 ['OS == "mac"', {
271 'defines': [
272 'SK_GAMMA_SRGB',
273 'SK_GAMMA_CONTRAST=0.0',
274 ],
275 }],
276
277 # For POSIX platforms, prefer the Mutex implementation provided by Skia
278 # since it does not generate static initializers.
279 [ 'OS == "android" or OS == "linux" or OS == "mac" or OS == "ios"', {
280 'defines+': [
281 'SK_USE_POSIX_THREADS',
282 ],
283 'direct_dependent_settings': {
284 'defines': [
285 'SK_USE_POSIX_THREADS',
286 ],
287 },
288 }],
289
290 [ 'OS != "android"', {
291 'sources!': [
292 '../third_party/skia/src/core/SkPaintOptionsAndroid.cpp',
293 ],
294 }],
295 [ 'OS != "ios"', {
296 'dependencies': [
297 '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/skia_webkit.gyp:skia _webkit',
298 ],
299 }],
300 [ 'OS != "mac"', {
301 'sources/': [
302 ['exclude', '/mac/']
303 ],
304 }],
305 [ 'target_arch == "arm" and arm_version >= 7 and arm_neon == 1', {
306 'defines': [
307 '__ARM_HAVE_NEON',
308 ],
309 }],
310 [ 'target_arch == "arm" and arm_version >= 7 and arm_neon_optional == 1', {
311 'defines': [
312 '__ARM_HAVE_OPTIONAL_NEON_SUPPORT',
313 ],
314 }],
315 [ 'OS == "android" and target_arch == "arm"', {
316 'sources': [
317 '../third_party/skia/src/core/SkUtilsArm.cpp',
318 ],
319 'includes': [
320 '../build/android/cpufeatures.gypi',
321 ],
322 }],
323 [ 'target_arch == "arm" or target_arch == "mipsel"', {
324 'sources!': [
325 '../third_party/skia/src/opts/opts_check_SSE2.cpp'
326 ],
327 }],
328 [ 'use_glib == 1', {
329 'dependencies': [
330 '../build/linux/system.gyp:fontconfig',
331 '../build/linux/system.gyp:freetype2',
332 '../build/linux/system.gyp:pangocairo',
333 '../third_party/icu/icu.gyp:icuuc',
334 ],
335 'cflags': [
336 '-Wno-unused',
337 '-Wno-unused-function',
338 ],
339 }],
340 [ 'use_glib == 0', {
341 'sources!': [
342 '../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp',
343 '../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp',
344 ],
345 }],
346 [ 'use_glib == 0 and OS != "android"', {
347 'sources!': [
348 '../third_party/skia/src/ports/SkFontHost_FreeType.cpp',
349 '../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp',
350 '../third_party/skia/src/ports/SkFontHost_fontconfig.cpp',
351
352 ],
353 }],
354 [ 'OS == "android"', {
355 'dependencies': [
356 '../third_party/expat/expat.gyp:expat',
357 '../third_party/freetype/freetype.gyp:ft2',
358 ],
359 # This exports a hard dependency because it needs to run its
360 # symlink action in order to expose the skia header files.
361 'hard_dependency': 1,
362 'include_dirs': [
363 '../third_party/expat/files/lib',
364 ],
365 }],
366 [ 'OS == "ios"', {
367 'defines': [
368 'SK_BUILD_FOR_IOS',
369 'SK_USE_MAC_CORE_TEXT',
370 ],
371 'include_dirs': [
372 '../third_party/skia/include/utils/ios',
373 '../third_party/skia/include/utils/mac',
374 ],
375 'link_settings': {
376 'libraries': [
377 '$(SDKROOT)/System/Library/Frameworks/ImageIO.framework',
378 ],
379 },
380 'sources': [
381 # This file is used on both iOS and Mac, so it should be removed
382 # from the ios and mac conditions and moved into the main sources
383 # list.
384 '../third_party/skia/src/utils/mac/SkStream_mac.cpp',
385 ],
386 'sources/': [
387 ['exclude', 'opts_check_SSE2\\.cpp$'],
388 ],
389
390 # The main skia_opts target does not currently work on iOS because the
391 # target architecture on iOS is determined at compile time rather than
392 # gyp time (simulator builds are x86, device builds are arm). As a
393 # temporary measure, this is a separate opts target for iOS-only, using
394 # the _none.cpp files to avoid architecture-dependent implementations.
395 'dependencies': [
396 'skia_opts_none',
397 ],
398 'dependencies!': [
399 'skia_opts',
400 ],
401 }],
402 [ 'OS == "mac"', {
403 'defines': [
404 'SK_BUILD_FOR_MAC',
405 'SK_USE_MAC_CORE_TEXT',
406 ],
407 'direct_dependent_settings': {
408 'include_dirs': [
409 '../third_party/skia/include/utils/mac',
410 ],
411 },
412 'include_dirs': [
413 '../third_party/skia/include/utils/mac',
414 ],
415 'link_settings': {
416 'libraries': [
417 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
418 ],
419 },
420 'sources': [
421 '../third_party/skia/src/utils/mac/SkStream_mac.cpp',
422 ],
423 }],
424 [ 'OS == "win"', {
425 'defines': [
426 'SK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS'
427 ],
428 'sources!': [
429 '../third_party/skia/src/ports/SkOSFile_posix.cpp',
430 '../third_party/skia/src/ports/SkThread_pthread.cpp',
431 '../third_party/skia/src/ports/SkTime_Unix.cpp',
432 ],
433 }],
434 # TODO(scottmg): http://crbug.com/177306
435 ['clang==1', {
436 'xcode_settings': {
437 'WARNING_CFLAGS!': [
438 # Don't warn about string->bool used in asserts.
439 '-Wstring-conversion',
440 ],
441 },
442 'cflags!': [
443 '-Wstring-conversion',
444 ],
445 }],
446 ['component=="shared_library"', {
447 'defines': [
448 'GR_IMPLEMENTATION=1',
449 'SKIA_IMPLEMENTATION=1',
450 ],
451 }],
452 ],
453 'target_conditions': [
454 # Pull in specific Mac files for iOS (which have been filtered out
455 # by file name rules).
456 [ 'OS == "ios"', {
457 'sources/': [
458 ['include', 'SkFontHost_mac\\.cpp$',],
459 ['include', 'SkStream_mac\\.cpp$',],
460 ['include', 'SkCreateCGImageRef\\.cpp$',],
461 ],
462 }],
463 ],
464
465 'defines': [
466 '<@(skia_export_defines)',
467
468 # this flag can be removed entirely once this has baked for a while
469 'SK_ALLOW_OVER_32K_BITMAPS',
470
471 # skia uses static initializers to initialize the serialization logic
472 # of its "pictures" library. This is currently not used in chrome; if
473 # it ever gets used the processes that use it need to call
474 # SkGraphics::Init().
475 'SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0',
476
477 # Disable this check because it is too strict for some Chromium-specific
478 # subclasses of SkPixelRef. See bug: crbug.com/171776.
479 'SK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK',
480
481 'IGNORE_ROT_AA_RECT_OPT',
482
483 'SK_DEFAULT_FONT_CACHE_LIMIT=<(default_font_cache_limit)',
484 ],
485
486 'direct_dependent_settings': {
487 'include_dirs': [
488 #temporary until we can hide SkFontHost
489 '../third_party/skia/src/core',
490
491 'config',
492 '../third_party/skia/include/config',
493 '../third_party/skia/include/core',
494 '../third_party/skia/include/effects',
495 '../third_party/skia/include/pdf',
496 '../third_party/skia/include/gpu',
497 '../third_party/skia/include/gpu/gl',
498 '../third_party/skia/include/lazy',
499 '../third_party/skia/include/pathops',
500 '../third_party/skia/include/pipe',
501 '../third_party/skia/include/ports',
502 '../third_party/skia/include/utils',
503 ],
504 'defines': [
505 '<@(skia_export_defines)',
506 ],
507 },
508 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698