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