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