load("//bazel:flags.bzl", "bool_flag")
load("//bazel:skia_rules.bzl", "generate_cpp_files_for_headers", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs")

package(
    default_applicable_licenses = ["//:license"],
)

licenses(["notice"])

# In separate file list because these files are exported to
# core.gni:skia_core_sources as well as sksl.gni:skslc_deps.
CORE_SKSLC_FILES = [
    "SkChecksum.cpp",
    "SkChecksum.h",
    "SkCpu.cpp",
    "SkCpu.h",
    "SkData.cpp",
    "SkMatrixInvert.cpp",
    "SkMatrixInvert.h",
    "SkStream.cpp",
    "SkString.cpp",
    "SkStringUtils.cpp",
    "SkStringUtils.h",
]

split_srcs_and_hdrs(
    name = "core_skslc",
    files = CORE_SKSLC_FILES,
)

skia_filegroup(
    name = "core_priv_hdrs",
    srcs = [
        # By putting headers here, we are explicitly stating we want to use them
        # in places other than core. They still count as "private" headers.
        "Sk4px.h",
        "SkAAClip.h",
        "SkATrace.h",
        "SkAdvancedTypefaceMetrics.h",
        "SkAnnotationKeys.h",
        "SkAutoPixmapStorage.h",
        "SkBitmapCache.h",
        "SkBitmapDevice.h",
        "SkBitmapProcState.h",
        "SkBlendModeBlender.h",
        "SkBlendModePriv.h",
        "SkBlenderBase.h",
        "SkBlitter_A8.h",
        "SkBlurEngine.h",
        "SkBlurMask.h",
        "SkBlurMaskFilterImpl.h",
        "SkCachedData.h",
        "SkCanvasPriv.h",
        "SkChecksum.h",
        "SkClipStack.h",
        "SkClipStackDevice.h",
        "SkColorData.h",
        "SkColorFilterPriv.h",
        "SkColorPriv.h",
        "SkColorSpacePriv.h",
        "SkColorSpaceXformSteps.h",
        "SkCompressedDataUtils.h",
        "SkConvertPixels.h",
        "SkCpu.h",
        "SkDebugUtils.h",
        "SkDescriptor.h",
        "SkDevice.h",
        "SkDistanceFieldGen.h",
        "SkDraw.h",
        "SkDrawBase.h",
        "SkDrawProcs.h",
        "SkDrawShadowInfo.h",
        "SkDrawTypes.h",
        "SkEdgeClipper.h",
        "SkEffectPriv.h",
        "SkEnumerate.h",
        "SkFDot6.h",
        "SkFontDescriptor.h",
        "SkFontMetricsPriv.h",
        "SkFontPriv.h",
        "SkFontStream.h",
        "SkGeometry.h",
        "SkGlyph.h",
        "SkIPoint16.h",
        "SkImageFilterCache.h",
        "SkImageFilterTypes.h",
        "SkImageFilter_Base.h",
        "SkImageInfoPriv.h",
        "SkImagePriv.h",
        "SkLRUCache.h",
        "SkLatticeIter.h",
        "SkLocalMatrixImageFilter.h",
        "SkMD5.h",
        "SkMask.h",
        "SkMasks.h",
        "SkMaskFilterBase.h",
        "SkMaskGamma.h",
        "SkMatrixInvert.h",
        "SkMatrixPriv.h",
        "SkMatrixUtils.h",
        "SkMemset.h",
        "SkMeshPriv.h",
        "SkMessageBus.h",
        "SkMipmap.h",
        "SkMipmapAccessor.h",
        "SkNextID.h",
        "SkOSFile.h",
        "SkOpts.h",
        "SkPaintDefaults.h",
        "SkPaintPriv.h",
        "SkPathEffectBase.h",
        "SkPathEnums.h",
        "SkPathPriv.h",
        "SkPictureData.h",
        "SkPicturePriv.h",
        "SkPointPriv.h",
        "SkRRectPriv.h",
        "SkRTree.h",
        "SkRasterClip.h",
        "SkRasterPipeline.h",
        "SkRasterPipelineContextUtils.h",
        "SkRasterPipelineOpContexts.h",
        "SkRasterPipelineOpList.h",
        "SkReadBuffer.h",
        "SkRecord.h",
        "SkRecordDraw.h",
        "SkRecordOpts.h",
        "SkRecordedDrawable.h",
        "SkRecorder.h",
        "SkRectPriv.h",
        "SkRegionPriv.h",
        "SkResourceCache.h",
        "SkRuntimeBlender.h",
        "SkRuntimeEffectPriv.h",
        "SkSLTypeShared.h",
        "SkSamplingPriv.h",
        "SkScalerContext.h",
        "SkScan.h",
        "SkSpecialImage.h",
        "SkStreamPriv.h",
        "SkStrike.h",
        "SkStrikeCache.h",
        "SkStrikeSpec.h",
        "SkStringUtils.h",
        "SkStroke.h",
        "SkSurfacePriv.h",
        "SkSwizzlePriv.h",
        "SkTDynamicHash.h",
        "SkTHash.h",
        "SkTMultiMap.h",
        "SkTaskGroup.h",
        "SkTextBlobPriv.h",
        "SkTextFormatParams.h",
        "SkTraceEvent.h",
        "SkTraceEventCommon.h",
        "SkTypefaceCache.h",
        "SkTypeface_remote.h",
        "SkValidationUtils.h",
        "SkVertState.h",
        "SkVerticesPriv.h",
        "SkWriteBuffer.h",
        "SkWriter32.h",
        "SkYUVAInfoLocation.h",
        "SkYUVMath.h",
        "SkYUVPlanesCache.h",
        "//include/private/chromium:core_hdrs",
        "//include/private:core_priv_hdrs",
        "//src/effects:core_priv_hdrs",
        "//src/image:image_hdrs",
        "//src/sfnt:sfnt_hdrs",
        "//src/shaders:core_priv_hdrs",
        "//src/sksl/codegen:rasterpipeline_hdrs",
        "//src/sksl:core_priv_hdrs",
        "//src/text:text_hdrs",
        "//src/utils:core_priv_hdrs",
    ],
)

skia_filegroup(
    name = "opts_srcs",
    srcs = [
        "Sk4px.h",
        "SkColorData.h",
        "SkColorPriv.h",
        "SkOpts.h",
        "SkOptsTargets.h",
        "SkRasterPipeline.h",
        "SkRasterPipelineContextUtils.h",
        "SkRasterPipelineOpContexts.h",
        "SkRasterPipelineOpList.h",
    ],
    visibility = ["//src/opts:__pkg__"],
)

skia_filegroup(
    name = "core_priv_srcs",
    srcs = [
        # Private Headers (not used in other modules [except tests/gms])
        "SkAlphaRuns.h",
        "SkAnalyticEdge.h",
        "SkAutoBlitterChoose.h",
        "SkBigPicture.h",
        "SkBlitMask.h",
        "SkBlitRow.h",
        "SkBlitter.h",
        "SkCoreBlitters.h",
        "SkCubicClipper.h",
        "SkEdge.h",
        "SkEdgeBuilder.h",
        "SkGaussFilter.h",
        "SkGlyphRunPainter.h",
        "SkKnownRuntimeEffects.h",
        "SkLineClipper.h",
        "SkMaskBlurFilter.h",
        "SkMaskCache.h",
        "SkMipmapBuilder.h",
        "SkOptsTargets.h",
        "SkPathMakers.h",
        "SkPathMeasurePriv.h",
        "SkPictureFlat.h",
        "SkPicturePlayback.h",
        "SkPictureRecord.h",
        "SkPixelRefPriv.h",
        "SkPtrRecorder.h",
        "SkQuadClipper.h",
        "SkRasterClipStack.h",
        "SkReadPixelsRec.h",
        "SkRecordPattern.h",
        "SkRecords.h",
        "SkSafeRange.h",
        "SkScaleToSides.h",
        "SkScanPriv.h",
        "SkSpriteBlitter.h",
        "SkStrokerPriv.h",
        "SkWritePixelsRec.h",
        "//include/private:core_srcs",
    ],
)

skia_filegroup(
    name = "core_srcs",
    srcs = [
        # Implementation of public and private headers
        "SkAAClip.cpp",
        "SkATrace.cpp",
        "SkAlphaRuns.cpp",
        "SkAnalyticEdge.cpp",
        "SkAnnotation.cpp",
        "SkAutoPixmapStorage.cpp",
        "SkBBHFactory.cpp",
        "SkBigPicture.cpp",
        "SkBitmap.cpp",
        "SkBitmapCache.cpp",
        "SkBitmapDevice.cpp",
        "SkBitmapProcState.cpp",
        "SkBitmapProcState_matrixProcs.cpp",
        "SkBitmapProcState_opts.cpp",
        "SkBitmapProcState_opts_lasx.cpp",
        "SkBitmapProcState_opts_ssse3.cpp",
        "SkBlendMode.cpp",
        "SkBlendModeBlender.cpp",
        "SkBlitMask_opts.cpp",
        "SkBlitMask_opts_ssse3.cpp",
        "SkBlitRow_D32.cpp",
        "SkBlitRow_opts.cpp",
        "SkBlitRow_opts_hsw.cpp",
        "SkBlitRow_opts_lasx.cpp",
        "SkBlitter.cpp",
        "SkBlitter_A8.cpp",
        "SkBlitter_ARGB32.cpp",
        "SkBlitter_Sprite.cpp",
        "SkBlurEngine.cpp",
        "SkBlurMask.cpp",
        "SkBlurMaskFilterImpl.cpp",
        "SkCachedData.cpp",
        "SkCanvas.cpp",
        "SkCanvasPriv.cpp",
        "SkCanvas_Raster.cpp",
        "SkCapabilities.cpp",
        "SkChecksum.cpp",
        "SkClipStack.cpp",
        "SkClipStackDevice.cpp",
        "SkColor.cpp",
        "SkColorFilter.cpp",
        "SkColorSpace.cpp",
        "SkColorSpaceXformSteps.cpp",
        "SkColorTable.cpp",
        "SkCompressedDataUtils.cpp",
        "SkContourMeasure.cpp",
        "SkConvertPixels.cpp",
        "SkCpu.cpp",
        "SkCubicClipper.cpp",
        "SkCubicMap.cpp",
        "SkData.cpp",
        "SkDataTable.cpp",
        "SkDescriptor.cpp",
        "SkDevice.cpp",
        "SkDistanceFieldGen.cpp",
        "SkDocument.cpp",
        "SkDraw.cpp",
        "SkDrawBase.cpp",
        "SkDrawShadowInfo.cpp",
        "SkDraw_atlas.cpp",
        "SkDraw_text.cpp",
        "SkDraw_vertices.cpp",
        "SkDrawable.cpp",
        "SkEdge.cpp",
        "SkEdgeBuilder.cpp",
        "SkEdgeClipper.cpp",
        "SkExecutor.cpp",
        "SkFlattenable.cpp",
        "SkFont.cpp",
        "SkFontDescriptor.cpp",
        "SkFontMetricsPriv.cpp",
        "SkFontMgr.cpp",
        "SkFontStream.cpp",
        "SkFont_serial.cpp",
        "SkGaussFilter.cpp",
        "SkGeometry.cpp",
        "SkGlobalInitialization_core.cpp",
        "SkGlyph.cpp",
        "SkGlyphRunPainter.cpp",
        "SkGraphics.cpp",
        "SkIDChangeListener.cpp",
        "SkImageFilter.cpp",
        "SkImageFilterCache.cpp",
        "SkImageFilterTypes.cpp",
        "SkImageGenerator.cpp",
        "SkImageInfo.cpp",
        "SkKnownRuntimeEffects.cpp",
        "SkLatticeIter.cpp",
        "SkLineClipper.cpp",
        "SkLocalMatrixImageFilter.cpp",
        "SkM44.cpp",
        "SkMD5.cpp",
        "SkMallocPixelRef.cpp",
        "SkMask.cpp",
        "SkMasks.cpp",
        "SkMaskBlurFilter.cpp",
        "SkMaskCache.cpp",
        "SkMaskFilter.cpp",
        "SkMaskFilterBase.cpp",
        "SkMaskGamma.cpp",
        "SkMatrix.cpp",
        "SkMatrixInvert.cpp",
        "SkMemset_opts.cpp",
        "SkMemset_opts_avx.cpp",
        "SkMemset_opts_erms.cpp",
        "SkMesh.cpp",
        "SkMipmap.cpp",
        "SkMipmapAccessor.cpp",
        "SkMipmapBuilder.cpp",
        "SkMipmapDrawDownSampler.cpp",
        "SkMipmapHQDownSampler.cpp",
        "SkOpts.cpp",
        "SkOverdrawCanvas.cpp",
        "SkPaint.cpp",
        "SkPaintPriv.cpp",
        "SkPath.cpp",
        "SkPathBuilder.cpp",
        "SkPathEffect.cpp",
        "SkPathMeasure.cpp",
        "SkPathRef.cpp",
        "SkPathUtils.cpp",
        "SkPath_serial.cpp",
        "SkPicture.cpp",
        "SkPictureData.cpp",
        "SkPictureFlat.cpp",
        "SkPicturePlayback.cpp",
        "SkPictureRecord.cpp",
        "SkPictureRecorder.cpp",
        "SkPixelRef.cpp",
        "SkPixmap.cpp",
        "SkPixmapDraw.cpp",
        "SkPoint.cpp",
        "SkPoint3.cpp",
        "SkPtrRecorder.cpp",
        "SkQuadClipper.cpp",
        "SkRRect.cpp",
        "SkRSXform.cpp",
        "SkRTree.cpp",
        "SkRasterClip.cpp",
        "SkRasterPipeline.cpp",
        "SkRasterPipelineBlitter.cpp",
        "SkReadBuffer.cpp",
        "SkReadPixelsRec.cpp",
        "SkRecord.cpp",
        "SkRecordDraw.cpp",
        "SkRecordOpts.cpp",
        "SkRecordedDrawable.cpp",
        "SkRecorder.cpp",
        "SkRecords.cpp",
        "SkRect.cpp",
        "SkRegion.cpp",
        "SkRegion_path.cpp",
        "SkResourceCache.cpp",
        "SkRuntimeBlender.cpp",
        "SkRuntimeEffect.cpp",
        "SkSLTypeShared.cpp",
        "SkScalar.cpp",
        "SkScalerContext.cpp",
        "SkScan.cpp",
        "SkScan_AAAPath.cpp",
        "SkScan_AntiPath.cpp",
        "SkScan_Antihair.cpp",
        "SkScan_Hairline.cpp",
        "SkScan_Path.cpp",
        "SkSpecialImage.cpp",
        "SkSpriteBlitter_ARGB32.cpp",
        "SkStream.cpp",
        "SkStrike.cpp",
        "SkStrikeCache.cpp",
        "SkStrikeSpec.cpp",
        "SkString.cpp",
        "SkStringUtils.cpp",
        "SkStroke.cpp",
        "SkStrokeRec.cpp",
        "SkStrokerPriv.cpp",
        "SkSwizzle.cpp",
        "SkSwizzler_opts.cpp",
        "SkSwizzler_opts_hsw.cpp",
        "SkSwizzler_opts_lasx.cpp",
        "SkSwizzler_opts_ssse3.cpp",
        "SkTaskGroup.cpp",
        "SkTextBlob.cpp",
        "SkTypeface.cpp",
        "SkTypefaceCache.cpp",
        "SkTypeface_remote.cpp",
        "SkUnPreMultiply.cpp",
        "SkVertState.cpp",
        "SkVertices.cpp",
        "SkWriteBuffer.cpp",
        "SkWritePixelsRec.cpp",
        "SkWriter32.cpp",
        "SkYUVAInfo.cpp",
        "SkYUVAPixmaps.cpp",
        "SkYUVMath.cpp",
        "SkYUVPlanesCache.cpp",
    ],
)

skia_filegroup(
    name = "textual_hdrs",
    srcs = ["SkBlitBWMaskTemplate.h"],
)

# When running skslc or sksl-minify, we don't want to use the compiled-in SkSL sources
# because that causes a dependency cycle. This flag lets us instead load the sources
# from disk to break the cycle and affect the files we want.
bool_flag(
    name = "load_sksl_from_disk",
    default = False,
)

skia_cc_library(
    name = "core",
    srcs = [
        ":core_priv_hdrs",
        ":core_priv_srcs",
        ":core_srcs",
        "//src/effects:core_srcs",
        "//src/image:image_srcs",
        "//src/ports:core_srcs",
        "//src/sfnt:sfnt_srcs",
        "//src/shaders:core_srcs",
        "//src/sksl:core_srcs",
        "//src/sksl/codegen:rasterpipeline_srcs",
        "//src/text:text_srcs",
        "//src/utils:core_srcs",
    ] + select({
        ":load_sksl_from_disk_true": ["//src/sksl:sksl_skslc_module_srcs"],
        ":load_sksl_from_disk_false": ["//src/sksl:sksl_default_module_srcs"],
    }),
    hdrs = [
        "//include/codec:core_hdrs",
        "//include/core:core_hdrs",
        "//include/effects:core_hdrs",
        "//include/sksl:core_hdrs",
        "//include/utils:core_hdrs",
    ],
    features = ["layering_check"],
    local_defines = [
        "SK_DISABLE_LEGACY_PNG_WRITEBUFFER",
        "SK_DISABLE_LEGACY_IMAGE_READBUFFER",
    ],
    textual_hdrs = [
        "//src/opts:textual_hdrs",
        ":textual_hdrs",
    ],
    visibility = [
        "//:__pkg__",
        "//src:__subpackages__",
    ],
    deps = [
        "//modules/skcms",
        "//src/base",
        "//src/opts",
        "//src/sksl:generated_sksl",
    ] + select({
        ":load_sksl_from_disk_true": ["//src/utils:get_executable_path"],
        ":load_sksl_from_disk_false": [],
    }),
)

skia_cc_library(
    name = "core_priv",
    srcs = [":core_priv_srcs"],
    hdrs = [":core_priv_hdrs"],
    features = ["layering_check"],
    visibility = [
        "//bench:__subpackages__",
        "//experimental/rust_png:__subpackages__",
        "//gm:__subpackages__",
        "//modules:__subpackages__",
        "//src:__subpackages__",
        "//tests:__subpackages__",
        "//tools:__subpackages__",
    ],
    deps = [
        ":core",
        "//modules/skcms",
        "//src/base",
    ],
)

generate_cpp_files_for_headers(
    name = "headers_to_compile",
    headers = [
        # All headers listed here will have a .cpp file generated that is a copy of the header file
        # just with a .cpp suffix so Bazel will try to compile it.
        # This allows us to run IWYU on these files.
        "SkAdvancedTypefaceMetrics.h",
        "SkColorData.h",
        "SkColorPriv.h",
        "SkColorSpacePriv.h",
        "SkCoreBlitters.h",
        "SkDebugUtils.h",
        "SkDrawProcs.h",
        "SkDrawTypes.h",
        "SkMatrixPriv.h",
        "SkPathPriv.h",
        "SkPicturePriv.h",
        "SkRuntimeEffectPriv.h",
    ],
)
