• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load(
2    "//bazel:skia_rules.bzl",
3    "generate_cpp_files_for_headers",
4    "skia_cc_library",
5    "skia_filegroup",
6)
7
8package(
9    default_applicable_licenses = ["//:license"],
10)
11
12licenses(["notice"])
13
14# Headers with no corresponding .cpp files
15IWYU_HDRS = [
16    "SkArenaAllocList.h",
17    "SkBitmaskEnum.h",
18    "SkEndian.h",
19    "SkEnumBitMask.h",
20    "SkFixedArray.h",
21    "SkFloatBits.h",
22    "SkLeanWindows.h",
23    "SkMSAN.h",
24    "SkNoDestructor.h",
25    "SkRandom.h",
26    "SkRectMemcpy.h",
27    "SkScopeExit.h",
28    "SkStringView.h",
29    "SkTBlockList.h",
30    "SkTDPQueue.h",
31    "SkTInternalLList.h",
32    "SkTLazy.h",
33    "SkTSort.h",
34    "SkZip.h",
35]
36
37skia_filegroup(
38    name = "private_hdrs",
39    srcs = IWYU_HDRS + [
40        "SkArenaAlloc.h",
41        "SkAutoMalloc.h",
42        "SkBase64.h",
43        "SkBezierCurves.h",
44        "SkBlockAllocator.h",
45        "SkBuffer.h",
46        "SkCubics.h",
47        "SkHalf.h",
48        "SkMathPriv.h",
49        "SkQuads.h",
50        "SkSafeMath.h",
51        "SkSpinlock.h",
52        "SkTSearch.h",
53        "SkTime.h",
54        "SkUTF.h",
55        "SkUtils.h",
56        "SkVx.h",  # Causes IWYU to crash when compiling.
57    ],
58)
59
60# In a separate file group because these files are exported to sksl.gni:skslc_deps.
61skia_filegroup(
62    name = "skslc_srcs",
63    srcs = [
64        "SkArenaAlloc.cpp",
65        "SkBlockAllocator.cpp",
66        "SkContainers.cpp",
67        "SkHalf.cpp",
68        "SkMalloc.cpp",
69        "SkMathPriv.cpp",
70        "SkSafeMath.cpp",
71        "SkSemaphore.cpp",
72        "SkThreadID.cpp",
73        "SkUTF.cpp",
74        "SkUtils.cpp",
75    ],
76)
77
78skia_filegroup(
79    name = "srcs",
80    srcs = [
81        "SkBase64.cpp",
82        "SkBezierCurves.cpp",
83        "SkBuffer.cpp",
84        "SkCubics.cpp",
85        "SkDebug.cpp",
86        "SkDeque.cpp",
87        "SkFloatingPoint.cpp",
88        "SkQuads.cpp",
89        "SkSpinlock.cpp",
90        "SkTDArray.cpp",
91        "SkTSearch.cpp",
92        "SkTime.cpp",
93        ":skslc_srcs",
94    ],
95)
96
97skia_cc_library(
98    name = "base",
99    srcs = [
100        ":srcs",
101        "//src/ports:base_srcs",
102    ],
103    hdrs = [
104        ":private_hdrs",
105        "//include/private/base:private_hdrs",
106    ],
107    features = ["layering_check"],
108    visibility = [
109        "//bench:__subpackages__",
110        "//experimental/rust_png:__subpackages__",
111        "//modules:__subpackages__",
112        "//src:__subpackages__",
113        "//tests:__subpackages__",
114        "//tools:__subpackages__",
115    ],
116    deps = ["@skia_user_config//:user_config"],
117)
118
119generate_cpp_files_for_headers(
120    name = "headers_to_compile",
121    headers = IWYU_HDRS,
122)
123