blob: f779db3a1e9a2ed3d8a521d167c023ada4be674c [file] [log] [blame]
load(
"//bazel:skia_rules.bzl",
"exports_files_legacy",
"generate_cpp_files_for_header_list",
"skia_cc_library",
"skia_filegroup",
)
licenses(["notice"])
exports_files_legacy(
label_list = ["SkBitmaskEnum.h"],
visibility = ["//tools/skui:__pkg__"],
)
# Headers with no corresponding .cpp files
IWYU_HDRS = [
"SkASAN.h",
"SkArenaAllocList.h",
"SkBitmaskEnum.h",
"SkEndian.h",
"SkEnumBitMask.h",
"SkLeanWindows.h",
"SkMSAN.h",
"SkNoDestructor.h",
"SkRandom.h",
"SkRectMemcpy.h",
"SkScopeExit.h",
"SkStringView.h",
"SkTBlockList.h",
"SkTDPQueue.h",
"SkTInternalLList.h",
"SkTLazy.h",
"SkTSort.h",
"SkZip.h",
]
skia_filegroup(
name = "private_hdrs",
srcs = IWYU_HDRS + [
"SkArenaAlloc.h",
"SkAutoMalloc.h",
"SkBase64.h",
"SkBezierCurves.h",
"SkBlockAllocator.h",
"SkBuffer.h",
"SkCubics.h",
"SkHalf.h",
"SkMathPriv.h",
"SkQuads.h",
"SkSafeMath.h",
"SkSharedMutex.h",
"SkSpinlock.h",
"SkTSearch.h",
"SkTime.h",
"SkUTF.h",
"SkUtils.h",
"SkVx.h", # Causes IWYU to crash when compiling.
],
visibility = [
"//src:__pkg__",
"//src/opts:__pkg__",
],
)
generate_cpp_files_for_header_list(
name = "generated_base_header_cpps",
headers = IWYU_HDRS,
visibility = ["//src:__pkg__"],
)
# In a separate file group because these files are exported to sksl.gni:skslc_deps.
skia_filegroup(
name = "skslc_srcs",
srcs = [
"SkArenaAlloc.cpp",
"SkBlockAllocator.cpp",
"SkContainers.cpp",
"SkHalf.cpp",
"SkMalloc.cpp",
"SkMathPriv.cpp",
"SkSafeMath.cpp",
"SkSemaphore.cpp",
"SkThreadID.cpp",
"SkUTF.cpp",
"SkUtils.cpp",
],
)
skia_filegroup(
name = "srcs",
srcs = [
"SkBase64.cpp",
"SkBezierCurves.cpp",
"SkBuffer.cpp",
"SkCubics.cpp",
"SkDebug.cpp",
"SkDeque.cpp",
"SkFloatingPoint.cpp",
"SkQuads.cpp",
"SkSharedMutex.cpp",
"SkSpinlock.cpp",
"SkTDArray.cpp",
"SkTSearch.cpp",
"SkTime.cpp",
":skslc_srcs",
],
visibility = [
"//src:__pkg__",
],
)
skia_cc_library(
name = "base",
srcs = [
":srcs",
"//src/ports:base_srcs",
] + select({
"//bazel/common_config_settings:compile_generated_cpp_files_for_headers_true": [
":generated_base_header_cpps",
"//include/private/base:generated_base_header_cpps",
],
"//conditions:default": [],
}),
hdrs = [
":private_hdrs",
"//include/private/base:private_hdrs",
],
features = ["layering_check"],
visibility = [
"//src:__subpackages__",
"//tests:__subpackages__",
],
deps = ["@skia_user_config//:user_config"],
)