• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//bazel:skia_rules.bzl", "exports_files_legacy", "generate_cpp_files_for_headers", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs")
2
3package(
4    default_applicable_licenses = ["//:license"],
5)
6
7licenses(["notice"])
8
9exports_files_legacy()
10
11# In separate file list because these files are exported to
12# core.gni:skia_core_sources as well as sksl.gni:skslc_deps.
13CORE_SKSLC_FILES = [
14    "SkChecksum.cpp",
15    "SkChecksum.h",
16    "SkCpu.cpp",
17    "SkCpu.h",
18    "SkData.cpp",
19    "SkMatrixInvert.cpp",
20    "SkMatrixInvert.h",
21    "SkStream.cpp",
22    "SkString.cpp",
23    "SkStringUtils.cpp",
24    "SkStringUtils.h",
25]
26
27split_srcs_and_hdrs(
28    name = "core_skslc",
29    files = CORE_SKSLC_FILES,
30)
31
32CORE_FILES = [
33    "Sk4px.h",
34    "SkAAClip.cpp",
35    "SkAAClip.h",
36    "SkATrace.cpp",
37    "SkATrace.h",
38    "SkAdvancedTypefaceMetrics.h",
39    "SkAlphaRuns.cpp",
40    "SkAlphaRuns.h",
41    "SkAnalyticEdge.cpp",
42    "SkAnalyticEdge.h",
43    "SkAnnotation.cpp",
44    "SkAnnotationKeys.h",
45    "SkAutoBlitterChoose.h",
46    "SkAutoPixmapStorage.cpp",
47    "SkAutoPixmapStorage.h",
48    "SkBBHFactory.cpp",
49    "SkBigPicture.cpp",
50    "SkBigPicture.h",
51    "SkBitmap.cpp",
52    "SkBitmapCache.cpp",
53    "SkBitmapCache.h",
54    "SkBitmapDevice.cpp",
55    "SkBitmapDevice.h",
56    "SkBitmapProcState.cpp",
57    "SkBitmapProcState.h",
58    "SkBitmapProcState_matrixProcs.cpp",
59    "SkBitmapProcState_opts.cpp",
60    "SkBitmapProcState_opts_ssse3.cpp",
61    "SkBlendMode.cpp",
62    "SkBlendModeBlender.cpp",
63    "SkBlendModeBlender.h",
64    "SkBlendModePriv.h",
65    "SkBlenderBase.h",
66    "SkBlitBWMaskTemplate.h",  # TODO(kjlubick) should this be a textual header?
67    "SkBlitMask.h",
68    "SkBlitMask_opts.cpp",
69    "SkBlitMask_opts_ssse3.cpp",
70    "SkBlitRow.h",
71    "SkBlitRow_D32.cpp",
72    "SkBlitRow_opts.cpp",
73    "SkBlitRow_opts_hsw.cpp",
74    "SkBlitter.cpp",
75    "SkBlitter.h",
76    "SkBlitter_A8.cpp",
77    "SkBlitter_A8.h",
78    "SkBlitter_ARGB32.cpp",
79    "SkBlitter_Sprite.cpp",
80    "SkBlurEngine.cpp",
81    "SkBlurEngine.h",
82    "SkBlurMask.cpp",
83    "SkBlurMask.h",
84    "SkBlurMaskFilterImpl.cpp",
85    "SkBlurMaskFilterImpl.h",
86    "SkCachedData.cpp",
87    "SkCachedData.h",
88    "SkCanvas.cpp",
89    "SkCanvasPriv.cpp",
90    "SkCanvasPriv.h",
91    "SkCanvas_Raster.cpp",
92    "SkCapabilities.cpp",
93    "SkClipStack.cpp",
94    "SkClipStack.h",
95    "SkClipStackDevice.cpp",
96    "SkClipStackDevice.h",
97    "SkColor.cpp",
98    "SkColorFilter.cpp",
99    "SkColorFilterPriv.h",
100    "SkColorSpace.cpp",
101    "SkColorSpacePriv.h",
102    "SkColorSpaceXformSteps.cpp",
103    "SkColorSpaceXformSteps.h",
104    "SkColorTable.cpp",
105    "SkCompressedDataUtils.cpp",
106    "SkCompressedDataUtils.h",
107    "SkContourMeasure.cpp",
108    "SkConvertPixels.cpp",
109    "SkConvertPixels.h",
110    "SkCoreBlitters.h",
111    "SkCubicClipper.cpp",
112    "SkCubicClipper.h",
113    "SkCubicMap.cpp",
114    "SkDataTable.cpp",
115    "SkDebugUtils.h",
116    "SkDescriptor.cpp",
117    "SkDescriptor.h",
118    "SkDevice.cpp",
119    "SkDevice.h",
120    "SkDistanceFieldGen.cpp",
121    "SkDistanceFieldGen.h",
122    "SkDocument.cpp",
123    "SkDraw.cpp",
124    "SkDraw.h",
125    "SkDrawBase.cpp",
126    "SkDrawBase.h",
127    "SkDrawProcs.h",
128    "SkDrawShadowInfo.cpp",
129    "SkDrawShadowInfo.h",
130    "SkDraw_atlas.cpp",
131    "SkDraw_text.cpp",
132    "SkDraw_vertices.cpp",
133    "SkDrawable.cpp",
134    "SkEdge.cpp",
135    "SkEdge.h",
136    "SkEdgeBuilder.cpp",
137    "SkEdgeBuilder.h",
138    "SkEdgeClipper.cpp",
139    "SkEdgeClipper.h",
140    "SkEffectPriv.h",
141    "SkEnumerate.h",
142    "SkExecutor.cpp",
143    "SkFDot6.h",
144    "SkFlattenable.cpp",
145    "SkFont.cpp",
146    "SkFontDescriptor.cpp",
147    "SkFontDescriptor.h",
148    "SkFontMetricsPriv.cpp",
149    "SkFontMetricsPriv.h",
150    "SkFontMgr.cpp",
151    "SkFontPriv.h",
152    "SkFontScanner.h",
153    "SkFontStream.cpp",
154    "SkFontStream.h",
155    "SkFont_serial.cpp",
156    "SkGaussFilter.cpp",
157    "SkGaussFilter.h",
158    "SkGeometry.cpp",
159    "SkGeometry.h",
160    "SkGlobalInitialization_core.cpp",
161    "SkGlyph.cpp",
162    "SkGlyph.h",
163    "SkGlyphRunPainter.cpp",
164    "SkGlyphRunPainter.h",
165    "SkGraphics.cpp",
166    "SkIDChangeListener.cpp",
167    "SkIPoint16.h",
168    "SkImageFilter.cpp",
169    "SkImageFilterCache.cpp",
170    "SkImageFilterCache.h",
171    "SkImageFilterTypes.cpp",
172    "SkImageFilterTypes.h",
173    "SkImageFilter_Base.h",
174    "SkImageGenerator.cpp",
175    "SkImageInfo.cpp",
176    "SkImageInfoPriv.h",
177    "SkImagePriv.h",
178    "SkKnownRuntimeEffects.cpp",
179    "SkKnownRuntimeEffects.h",
180    "SkLRUCache.h",
181    "SkLatticeIter.cpp",
182    "SkLatticeIter.h",
183    "SkLineClipper.cpp",
184    "SkLineClipper.h",
185    "SkLocalMatrixImageFilter.cpp",
186    "SkLocalMatrixImageFilter.h",
187    "SkM44.cpp",
188    "SkMD5.cpp",
189    "SkMD5.h",
190    "SkMallocPixelRef.cpp",
191    "SkMask.cpp",
192    "SkMask.h",
193    "SkMaskBlurFilter.cpp",
194    "SkMaskBlurFilter.h",
195    "SkMaskCache.cpp",
196    "SkMaskCache.h",
197    "SkMaskFilter.cpp",
198    "SkMaskFilterBase.h",
199    "SkMaskGamma.cpp",
200    "SkMaskGamma.h",
201    "SkMasks.cpp",
202    "SkMasks.h",
203    "SkMatrix.cpp",
204    "SkMatrixPriv.h",
205    "SkMatrixUtils.h",
206    "SkMemset.h",
207    "SkMemset_opts.cpp",
208    "SkMemset_opts_avx.cpp",
209    "SkMemset_opts_erms.cpp",
210    "SkMesh.cpp",
211    "SkMeshPriv.h",
212    "SkMessageBus.h",
213    "SkMipmap.cpp",
214    "SkMipmap.h",
215    "SkMipmapAccessor.cpp",
216    "SkMipmapAccessor.h",
217    "SkMipmapBuilder.cpp",
218    "SkMipmapBuilder.h",
219    "SkMipmapDrawDownSampler.cpp",
220    "SkMipmapHQDownSampler.cpp",
221    "SkNextID.h",
222    "SkOSFile.h",
223    "SkOpts.cpp",
224    "SkOpts.h",
225    "SkOptsTargets.h",
226    "SkOverdrawCanvas.cpp",
227    "SkPaint.cpp",
228    "SkPaintDefaults.h",
229    "SkPaintPriv.cpp",
230    "SkPaintPriv.h",
231    "SkPath.cpp",
232    "SkPathBuilder.cpp",
233    "SkPathEffect.cpp",
234    "SkPathEffectBase.h",
235    "SkPathEnums.h",
236    "SkPathMakers.h",
237    "SkPathMeasure.cpp",
238    "SkPathMeasurePriv.h",
239    "SkPathPriv.h",
240    "SkPathRef.cpp",
241    "SkPathUtils.cpp",
242    "SkPath_serial.cpp",
243    "SkPicture.cpp",
244    "SkPictureData.cpp",
245    "SkPictureData.h",
246    "SkPictureFlat.cpp",
247    "SkPictureFlat.h",
248    "SkPicturePlayback.cpp",
249    "SkPicturePlayback.h",
250    "SkPicturePriv.h",
251    "SkPictureRecord.cpp",
252    "SkPictureRecord.h",
253    "SkPictureRecorder.cpp",
254    "SkPixelRef.cpp",
255    "SkPixelRefPriv.h",
256    "SkPixmap.cpp",
257    "SkPixmapDraw.cpp",
258    "SkPoint.cpp",
259    "SkPoint3.cpp",
260    "SkPointPriv.h",
261    "SkPtrRecorder.cpp",
262    "SkPtrRecorder.h",
263    "SkQuadClipper.cpp",
264    "SkQuadClipper.h",
265    "SkRRect.cpp",
266    "SkRRectPriv.h",
267    "SkRSXform.cpp",
268    "SkRTree.cpp",
269    "SkRTree.h",
270    "SkRasterClip.cpp",
271    "SkRasterClip.h",
272    "SkRasterClipStack.h",
273    "SkRasterPipeline.cpp",
274    "SkRasterPipeline.h",
275    "SkRasterPipelineBlitter.cpp",
276    "SkRasterPipelineContextUtils.h",
277    "SkRasterPipelineOpContexts.h",
278    "SkRasterPipelineOpList.h",
279    "SkReadBuffer.cpp",
280    "SkReadBuffer.h",
281    "SkReadPixelsRec.cpp",
282    "SkReadPixelsRec.h",
283    "SkRecord.cpp",
284    "SkRecord.h",
285    "SkRecordDraw.cpp",
286    "SkRecordDraw.h",
287    "SkRecordOpts.cpp",
288    "SkRecordOpts.h",
289    "SkRecordPattern.h",
290    "SkRecordedDrawable.cpp",
291    "SkRecordedDrawable.h",
292    "SkRecorder.cpp",
293    "SkRecorder.h",
294    "SkRecords.cpp",
295    "SkRecords.h",
296    "SkRect.cpp",
297    "SkRectPriv.h",
298    "SkRegion.cpp",
299    "SkRegionPriv.h",
300    "SkRegion_path.cpp",
301    "SkResourceCache.cpp",
302    "SkResourceCache.h",
303    "SkRuntimeBlender.cpp",
304    "SkRuntimeBlender.h",
305    "SkRuntimeEffect.cpp",
306    "SkRuntimeEffectPriv.h",
307    "SkSLTypeShared.cpp",
308    "SkSLTypeShared.h",
309    "SkSafeRange.h",
310    "SkSamplingPriv.h",
311    "SkScalar.cpp",
312    "SkScaleToSides.h",
313    "SkScalerContext.cpp",
314    "SkScalerContext.h",
315    "SkScan.cpp",
316    "SkScan.h",
317    "SkScanPriv.h",
318    "SkScan_AAAPath.cpp",
319    "SkScan_AntiPath.cpp",
320    "SkScan_Antihair.cpp",
321    "SkScan_Hairline.cpp",
322    "SkScan_Path.cpp",
323    "SkSpecialImage.cpp",
324    "SkSpecialImage.h",
325    "SkSpriteBlitter.h",
326    "SkSpriteBlitter_ARGB32.cpp",
327    "SkStreamPriv.h",
328    "SkStrike.cpp",
329    "SkStrike.h",
330    "SkStrikeCache.cpp",
331    "SkStrikeCache.h",
332    "SkStrikeSpec.cpp",
333    "SkStrikeSpec.h",
334    "SkStroke.cpp",
335    "SkStroke.h",
336    "SkStrokeRec.cpp",
337    "SkStrokerPriv.cpp",
338    "SkStrokerPriv.h",
339    "SkSurfacePriv.h",
340    "SkSwizzle.cpp",
341    "SkSwizzlePriv.h",
342    "SkSwizzler_opts.cpp",
343    "SkSwizzler_opts_hsw.cpp",
344    "SkSwizzler_opts_ssse3.cpp",
345    "SkTDynamicHash.h",
346    "SkTHash.h",
347    "SkTMultiMap.h",
348    "SkTaskGroup.cpp",
349    "SkTaskGroup.h",
350    "SkTextBlob.cpp",
351    "SkTextBlobPriv.h",
352    "SkTextFormatParams.h",
353    "SkTraceEvent.h",
354    "SkTraceEventCommon.h",
355    "SkTypeface.cpp",
356    "SkTypefaceCache.cpp",
357    "SkTypefaceCache.h",
358    "SkTypeface_remote.cpp",
359    "SkTypeface_remote.h",
360    "SkUnPreMultiply.cpp",
361    "SkValidationUtils.h",
362    "SkVertState.cpp",
363    "SkVertState.h",
364    "SkVertices.cpp",
365    "SkVerticesPriv.h",
366    "SkWriteBuffer.cpp",
367    "SkWriteBuffer.h",
368    "SkWritePixelsRec.cpp",
369    "SkWritePixelsRec.h",
370    "SkWriter32.cpp",
371    "SkWriter32.h",
372    "SkYUVAInfo.cpp",
373    "SkYUVAInfoLocation.h",
374    "SkYUVAPixmaps.cpp",
375    "SkYUVMath.cpp",
376    "SkYUVMath.h",
377    "SkYUVPlanesCache.cpp",
378    "SkYUVPlanesCache.h",
379]
380
381split_srcs_and_hdrs(
382    name = "legacy_core",
383    files = CORE_FILES,
384)
385
386skia_filegroup(
387    name = "srcs",
388    srcs = [
389        ":core_skslc_srcs",
390        ":legacy_core_srcs",
391    ],
392    visibility = ["//src:__pkg__"],
393)
394
395skia_filegroup(
396    name = "private_hdrs",
397    srcs = [
398        ":core_skslc_hdrs",
399        ":legacy_core_hdrs",
400    ],
401    visibility = ["//src:__pkg__"],
402)
403
404skia_filegroup(
405    name = "core_priv_hdrs",
406    srcs = [
407        # By putting headers here, we are explicitly stating we want to use them
408        # in places other than core. They still count as "private" headers.
409        "Sk4px.h",
410        "SkAAClip.h",
411        "SkATrace.h",
412        "SkAdvancedTypefaceMetrics.h",
413        "SkAnnotationKeys.h",
414        "SkAutoPixmapStorage.h",
415        "SkBitmapCache.h",
416        "SkBitmapDevice.h",
417        "SkBitmapProcState.h",
418        "SkBlendModeBlender.h",
419        "SkBlendModePriv.h",
420        "SkBlenderBase.h",
421        "SkBlitter_A8.h",
422        "SkBlurEngine.h",
423        "SkBlurMask.h",
424        "SkBlurMaskFilterImpl.h",
425        "SkCachedData.h",
426        "SkCanvasPriv.h",
427        "SkChecksum.h",
428        "SkClipStack.h",
429        "SkClipStackDevice.h",
430        "SkColorFilterPriv.h",
431        "SkColorSpacePriv.h",
432        "SkColorSpaceXformSteps.h",
433        "SkCompressedDataUtils.h",
434        "SkConvertPixels.h",
435        "SkCpu.h",
436        "SkDebugUtils.h",
437        "SkDescriptor.h",
438        "SkDevice.h",
439        "SkDistanceFieldGen.h",
440        "SkDraw.h",
441        "SkDrawBase.h",
442        "SkDrawProcs.h",
443        "SkDrawShadowInfo.h",
444        "SkEdgeClipper.h",
445        "SkEffectPriv.h",
446        "SkEnumerate.h",
447        "SkFDot6.h",
448        "SkFontDescriptor.h",
449        "SkFontMetricsPriv.h",
450        "SkFontPriv.h",
451        "SkFontScanner.h",
452        "SkFontStream.h",
453        "SkGeometry.h",
454        "SkGlyph.h",
455        "SkIPoint16.h",
456        "SkImageFilterCache.h",
457        "SkImageFilterTypes.h",
458        "SkImageFilter_Base.h",
459        "SkImageInfoPriv.h",
460        "SkImagePriv.h",
461        "SkLRUCache.h",
462        "SkLatticeIter.h",
463        "SkLocalMatrixImageFilter.h",
464        "SkMD5.h",
465        "SkMask.h",
466        "SkMasks.h",
467        "SkMaskFilterBase.h",
468        "SkMaskGamma.h",
469        "SkMatrixInvert.h",
470        "SkMatrixPriv.h",
471        "SkMatrixUtils.h",
472        "SkMemset.h",
473        "SkMeshPriv.h",
474        "SkMessageBus.h",
475        "SkMipmap.h",
476        "SkMipmapAccessor.h",
477        "SkNextID.h",
478        "SkOSFile.h",
479        "SkOpts.h",
480        "SkPaintDefaults.h",
481        "SkPaintPriv.h",
482        "SkPathEffectBase.h",
483        "SkPathEnums.h",
484        "SkPathPriv.h",
485        "SkPictureData.h",
486        "SkPicturePriv.h",
487        "SkPointPriv.h",
488        "SkRRectPriv.h",
489        "SkRTree.h",
490        "SkRasterClip.h",
491        "SkRasterPipeline.h",
492        "SkRasterPipelineContextUtils.h",
493        "SkRasterPipelineOpContexts.h",
494        "SkRasterPipelineOpList.h",
495        "SkReadBuffer.h",
496        "SkRecord.h",
497        "SkRecordDraw.h",
498        "SkRecordOpts.h",
499        "SkRecordedDrawable.h",
500        "SkRecorder.h",
501        "SkRectPriv.h",
502        "SkRegionPriv.h",
503        "SkResourceCache.h",
504        "SkRuntimeBlender.h",
505        "SkRuntimeEffectPriv.h",
506        "SkSLTypeShared.h",
507        "SkSamplingPriv.h",
508        "SkScalerContext.h",
509        "SkScan.h",
510        "SkSpecialImage.h",
511        "SkStreamPriv.h",
512        "SkStrike.h",
513        "SkStrikeCache.h",
514        "SkStrikeSpec.h",
515        "SkStringUtils.h",
516        "SkStroke.h",
517        "SkSurfacePriv.h",
518        "SkSwizzlePriv.h",
519        "SkTDynamicHash.h",
520        "SkTHash.h",
521        "SkTMultiMap.h",
522        "SkTaskGroup.h",
523        "SkTextBlobPriv.h",
524        "SkTextFormatParams.h",
525        "SkTraceEvent.h",
526        "SkTraceEventCommon.h",
527        "SkTypefaceCache.h",
528        "SkTypeface_remote.h",
529        "SkValidationUtils.h",
530        "SkVertState.h",
531        "SkVerticesPriv.h",
532        "SkWriteBuffer.h",
533        "SkWriter32.h",
534        "SkYUVAInfoLocation.h",
535        "SkYUVMath.h",
536        "SkYUVPlanesCache.h",
537        "//include/private/chromium:core_hdrs",
538        "//include/private:core_priv_hdrs",
539        "//src/effects:core_priv_hdrs",
540        "//src/image:core_priv_hdrs",
541        "//src/sfnt:core_priv_hdrs",
542        "//src/shaders:core_priv_hdrs",
543        "//src/sksl/codegen:rasterpipeline_hdrs",
544        "//src/sksl:core_priv_hdrs",
545        "//src/text:core_priv_hdrs",
546        "//src/utils:core_priv_hdrs",
547    ],
548)
549
550skia_filegroup(
551    name = "opts_srcs",
552    srcs = [
553        "Sk4px.h",
554        "SkOpts.h",
555        "SkOptsTargets.h",
556        "SkRasterPipeline.h",
557        "SkRasterPipelineContextUtils.h",
558        "SkRasterPipelineOpContexts.h",
559        "SkRasterPipelineOpList.h",
560    ],
561    visibility = ["//src/opts:__pkg__"],
562)
563
564skia_filegroup(
565    name = "core_priv_srcs",
566    srcs = [
567        # Private Headers (not used in other modules [except tests/gms])
568        "SkAlphaRuns.h",
569        "SkAnalyticEdge.h",
570        "SkAutoBlitterChoose.h",
571        "SkBigPicture.h",
572        "SkBlitMask.h",
573        "SkBlitRow.h",
574        "SkBlitter.h",
575        "SkCoreBlitters.h",
576        "SkCubicClipper.h",
577        "SkEdge.h",
578        "SkEdgeBuilder.h",
579        "SkGaussFilter.h",
580        "SkGlyphRunPainter.h",
581        "SkKnownRuntimeEffects.h",
582        "SkLineClipper.h",
583        "SkMaskBlurFilter.h",
584        "SkMaskCache.h",
585        "SkMipmapBuilder.h",
586        "SkOptsTargets.h",
587        "SkPathMakers.h",
588        "SkPathMeasurePriv.h",
589        "SkPictureFlat.h",
590        "SkPicturePlayback.h",
591        "SkPictureRecord.h",
592        "SkPixelRefPriv.h",
593        "SkPtrRecorder.h",
594        "SkQuadClipper.h",
595        "SkRasterClipStack.h",
596        "SkReadPixelsRec.h",
597        "SkRecordPattern.h",
598        "SkRecords.h",
599        "SkSafeRange.h",
600        "SkScaleToSides.h",
601        "SkScanPriv.h",
602        "SkSpriteBlitter.h",
603        "SkStrokerPriv.h",
604        "SkWritePixelsRec.h",
605        "//include/private:core_srcs",
606    ],
607)
608
609skia_filegroup(
610    name = "core_srcs",
611    srcs = [
612        # Implementation of public and private headers
613        "SkAAClip.cpp",
614        "SkATrace.cpp",
615        "SkAlphaRuns.cpp",
616        "SkAnalyticEdge.cpp",
617        "SkAnnotation.cpp",
618        "SkAutoPixmapStorage.cpp",
619        "SkBBHFactory.cpp",
620        "SkBigPicture.cpp",
621        "SkBitmap.cpp",
622        "SkBitmapCache.cpp",
623        "SkBitmapDevice.cpp",
624        "SkBitmapProcState.cpp",
625        "SkBitmapProcState_matrixProcs.cpp",
626        "SkBitmapProcState_opts.cpp",
627        "SkBitmapProcState_opts_ssse3.cpp",
628        "SkBlendMode.cpp",
629        "SkBlendModeBlender.cpp",
630        "SkBlitMask_opts.cpp",
631        "SkBlitMask_opts_ssse3.cpp",
632        "SkBlitRow_D32.cpp",
633        "SkBlitRow_opts.cpp",
634        "SkBlitRow_opts_hsw.cpp",
635        "SkBlitter.cpp",
636        "SkBlitter_A8.cpp",
637        "SkBlitter_ARGB32.cpp",
638        "SkBlitter_Sprite.cpp",
639        "SkBlurEngine.cpp",
640        "SkBlurMask.cpp",
641        "SkBlurMaskFilterImpl.cpp",
642        "SkCachedData.cpp",
643        "SkCanvas.cpp",
644        "SkCanvasPriv.cpp",
645        "SkCanvas_Raster.cpp",
646        "SkCapabilities.cpp",
647        "SkChecksum.cpp",
648        "SkClipStack.cpp",
649        "SkClipStackDevice.cpp",
650        "SkColor.cpp",
651        "SkColorFilter.cpp",
652        "SkColorSpace.cpp",
653        "SkColorSpaceXformSteps.cpp",
654        "SkColorTable.cpp",
655        "SkCompressedDataUtils.cpp",
656        "SkContourMeasure.cpp",
657        "SkConvertPixels.cpp",
658        "SkCpu.cpp",
659        "SkCubicClipper.cpp",
660        "SkCubicMap.cpp",
661        "SkData.cpp",
662        "SkDataTable.cpp",
663        "SkDescriptor.cpp",
664        "SkDevice.cpp",
665        "SkDistanceFieldGen.cpp",
666        "SkDocument.cpp",
667        "SkDraw.cpp",
668        "SkDrawBase.cpp",
669        "SkDrawShadowInfo.cpp",
670        "SkDraw_atlas.cpp",
671        "SkDraw_text.cpp",
672        "SkDraw_vertices.cpp",
673        "SkDrawable.cpp",
674        "SkEdge.cpp",
675        "SkEdgeBuilder.cpp",
676        "SkEdgeClipper.cpp",
677        "SkExecutor.cpp",
678        "SkFlattenable.cpp",
679        "SkFont.cpp",
680        "SkFontDescriptor.cpp",
681        "SkFontMetricsPriv.cpp",
682        "SkFontMgr.cpp",
683        "SkFontStream.cpp",
684        "SkFont_serial.cpp",
685        "SkGaussFilter.cpp",
686        "SkGeometry.cpp",
687        "SkGlobalInitialization_core.cpp",
688        "SkGlyph.cpp",
689        "SkGlyphRunPainter.cpp",
690        "SkGraphics.cpp",
691        "SkIDChangeListener.cpp",
692        "SkImageFilter.cpp",
693        "SkImageFilterCache.cpp",
694        "SkImageFilterTypes.cpp",
695        "SkImageGenerator.cpp",
696        "SkImageInfo.cpp",
697        "SkKnownRuntimeEffects.cpp",
698        "SkLatticeIter.cpp",
699        "SkLineClipper.cpp",
700        "SkLocalMatrixImageFilter.cpp",
701        "SkM44.cpp",
702        "SkMD5.cpp",
703        "SkMallocPixelRef.cpp",
704        "SkMask.cpp",
705        "SkMasks.cpp",
706        "SkMaskBlurFilter.cpp",
707        "SkMaskCache.cpp",
708        "SkMaskFilter.cpp",
709        "SkMaskGamma.cpp",
710        "SkMatrix.cpp",
711        "SkMatrixInvert.cpp",
712        "SkMemset_opts.cpp",
713        "SkMemset_opts_avx.cpp",
714        "SkMemset_opts_erms.cpp",
715        "SkMesh.cpp",
716        "SkMipmap.cpp",
717        "SkMipmapAccessor.cpp",
718        "SkMipmapBuilder.cpp",
719        "SkMipmapDrawDownSampler.cpp",
720        "SkMipmapHQDownSampler.cpp",
721        "SkOpts.cpp",
722        "SkOverdrawCanvas.cpp",
723        "SkPaint.cpp",
724        "SkPaintPriv.cpp",
725        "SkPath.cpp",
726        "SkPathBuilder.cpp",
727        "SkPathEffect.cpp",
728        "SkPathMeasure.cpp",
729        "SkPathRef.cpp",
730        "SkPathUtils.cpp",
731        "SkPath_serial.cpp",
732        "SkPicture.cpp",
733        "SkPictureData.cpp",
734        "SkPictureFlat.cpp",
735        "SkPicturePlayback.cpp",
736        "SkPictureRecord.cpp",
737        "SkPictureRecorder.cpp",
738        "SkPixelRef.cpp",
739        "SkPixmap.cpp",
740        "SkPixmapDraw.cpp",
741        "SkPoint.cpp",
742        "SkPoint3.cpp",
743        "SkPtrRecorder.cpp",
744        "SkQuadClipper.cpp",
745        "SkRRect.cpp",
746        "SkRSXform.cpp",
747        "SkRTree.cpp",
748        "SkRasterClip.cpp",
749        "SkRasterPipeline.cpp",
750        "SkRasterPipelineBlitter.cpp",
751        "SkReadBuffer.cpp",
752        "SkReadPixelsRec.cpp",
753        "SkRecord.cpp",
754        "SkRecordDraw.cpp",
755        "SkRecordOpts.cpp",
756        "SkRecordedDrawable.cpp",
757        "SkRecorder.cpp",
758        "SkRecords.cpp",
759        "SkRect.cpp",
760        "SkRegion.cpp",
761        "SkRegion_path.cpp",
762        "SkResourceCache.cpp",
763        "SkRuntimeBlender.cpp",
764        "SkRuntimeEffect.cpp",
765        "SkSLTypeShared.cpp",
766        "SkScalar.cpp",
767        "SkScalerContext.cpp",
768        "SkScan.cpp",
769        "SkScan_AAAPath.cpp",
770        "SkScan_AntiPath.cpp",
771        "SkScan_Antihair.cpp",
772        "SkScan_Hairline.cpp",
773        "SkScan_Path.cpp",
774        "SkSpecialImage.cpp",
775        "SkSpriteBlitter_ARGB32.cpp",
776        "SkStream.cpp",
777        "SkStrike.cpp",
778        "SkStrikeCache.cpp",
779        "SkStrikeSpec.cpp",
780        "SkString.cpp",
781        "SkStringUtils.cpp",
782        "SkStroke.cpp",
783        "SkStrokeRec.cpp",
784        "SkStrokerPriv.cpp",
785        "SkSwizzle.cpp",
786        "SkSwizzler_opts.cpp",
787        "SkSwizzler_opts_hsw.cpp",
788        "SkSwizzler_opts_ssse3.cpp",
789        "SkTaskGroup.cpp",
790        "SkTextBlob.cpp",
791        "SkTypeface.cpp",
792        "SkTypefaceCache.cpp",
793        "SkTypeface_remote.cpp",
794        "SkUnPreMultiply.cpp",
795        "SkVertState.cpp",
796        "SkVertices.cpp",
797        "SkWriteBuffer.cpp",
798        "SkWritePixelsRec.cpp",
799        "SkWriter32.cpp",
800        "SkYUVAInfo.cpp",
801        "SkYUVAPixmaps.cpp",
802        "SkYUVMath.cpp",
803        "SkYUVPlanesCache.cpp",
804    ],
805)
806
807skia_filegroup(
808    name = "textual_hdrs",
809    srcs = ["SkBlitBWMaskTemplate.h"],
810)
811
812skia_cc_library(
813    name = "core",
814    srcs = [
815        ":core_priv_hdrs",
816        ":core_priv_srcs",
817        ":core_srcs",
818        "//src/effects:core_srcs",
819        "//src/image:core_srcs",
820        "//src/ports:core_srcs",
821        "//src/sfnt:core_srcs",
822        "//src/shaders:core_srcs",
823        "//src/sksl:core_srcs",
824        "//src/sksl/codegen:rasterpipeline_srcs",
825        "//src/text:core_srcs",
826        "//src/utils:core_srcs",
827    ],
828    hdrs = [
829        "//include/codec:core_hdrs",
830        "//include/core:core_hdrs",
831        "//include/effects:core_hdrs",
832        "//include/sksl:core_hdrs",
833        "//include/utils:core_hdrs",
834    ],
835    features = ["layering_check"],
836    local_defines = [
837        "SK_DISABLE_LEGACY_PNG_WRITEBUFFER",
838        "SK_DISABLE_LEGACY_IMAGE_READBUFFER",
839    ],
840    textual_hdrs = [
841        "//src/opts:textual_hdrs",
842        ":textual_hdrs",
843    ],
844    visibility = [
845        "//:__pkg__",
846        "//src:__subpackages__",
847    ],
848    deps = [
849        "//modules/skcms",
850        "//src/base",
851        "//src/opts",
852        "//src/sksl:generated_sksl",
853    ],
854)
855
856skia_cc_library(
857    name = "core_priv",
858    srcs = [":core_priv_srcs"],
859    hdrs = [":core_priv_hdrs"],
860    features = ["layering_check"],
861    visibility = [
862        "//bench:__subpackages__",
863        "//gm:__subpackages__",
864        "//modules:__subpackages__",
865        "//src:__subpackages__",
866        "//tools:__subpackages__",
867    ],
868    deps = [
869        ":core",
870        "//modules/skcms",
871        "//src/base",
872    ],
873)
874
875generate_cpp_files_for_headers(
876    name = "headers_to_compile",
877    headers = [
878        # All headers listed here will have a .cpp file generated that is a copy of the header file
879        # just with a .cpp suffix so Bazel will try to compile it.
880        # This allows us to run IWYU on these files.
881        "SkAdvancedTypefaceMetrics.h",
882        "SkColorSpacePriv.h",
883        "SkCoreBlitters.h",
884        "SkDrawProcs.h",
885        "SkMatrixPriv.h",
886        "SkPathPriv.h",
887        "SkRuntimeEffectPriv.h",
888    ],
889)
890