xref: /aosp_15_r20/external/skia/src/sksl/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load("//bazel:skia_rules.bzl", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs")
2
3package(
4    default_applicable_licenses = ["//:license"],
5)
6
7licenses(["notice"])
8
9skia_filegroup(
10    name = "txts",
11    srcs = [
12        "generated/sksl_compute.minified.sksl",
13        "generated/sksl_compute.unoptimized.sksl",
14        "generated/sksl_frag.minified.sksl",
15        "generated/sksl_frag.unoptimized.sksl",
16        "generated/sksl_gpu.minified.sksl",
17        "generated/sksl_gpu.unoptimized.sksl",
18        "generated/sksl_graphite_frag.minified.sksl",
19        "generated/sksl_graphite_frag.unoptimized.sksl",
20        "generated/sksl_graphite_frag_es2.minified.sksl",
21        "generated/sksl_graphite_frag_es2.unoptimized.sksl",
22        "generated/sksl_graphite_vert.minified.sksl",
23        "generated/sksl_graphite_vert.unoptimized.sksl",
24        "generated/sksl_graphite_vert_es2.minified.sksl",
25        "generated/sksl_graphite_vert_es2.unoptimized.sksl",
26        "generated/sksl_public.minified.sksl",
27        "generated/sksl_public.unoptimized.sksl",
28        "generated/sksl_rt_shader.minified.sksl",
29        "generated/sksl_rt_shader.unoptimized.sksl",
30        "generated/sksl_shared.minified.sksl",
31        "generated/sksl_shared.unoptimized.sksl",
32        "generated/sksl_vert.minified.sksl",
33        "generated/sksl_vert.unoptimized.sksl",
34    ],
35)
36
37skia_filegroup(
38    name = "sksl_data",
39    srcs = [
40        "sksl_compute.sksl",
41        "sksl_frag.sksl",
42        "sksl_gpu.sksl",
43        "sksl_graphite_frag.sksl",
44        "sksl_graphite_frag_es2.sksl",
45        "sksl_graphite_vert.sksl",
46        "sksl_graphite_vert_es2.sksl",
47        "sksl_public.sksl",
48        "sksl_rt_shader.sksl",
49        "sksl_shared.sksl",
50        "sksl_vert.sksl",
51    ],
52    visibility = ["//tools/sksl-minify:__pkg__"],
53)
54
55# Two separate groups, for selecting implementation (and for exporting to sksl.gni)
56skia_filegroup(
57    name = "sksl_skslc_module_srcs",
58    srcs = [
59        "SkSLModuleDataFile.cpp",
60    ],
61    visibility = ["//src/core:__pkg__"],
62)
63
64skia_filegroup(
65    name = "sksl_default_module_srcs",
66    srcs = [
67        "SkSLModuleDataDefault.cpp",
68    ],
69    visibility = ["//src/core:__pkg__"],
70)
71
72SKSL_SRCS = [
73    "SkSLAnalysis.cpp",
74    "SkSLAnalysis.h",
75    "SkSLBuiltinTypes.cpp",
76    "SkSLBuiltinTypes.h",
77    "SkSLCompiler.cpp",
78    "SkSLCompiler.h",
79    "SkSLConstantFolder.cpp",
80    "SkSLConstantFolder.h",
81    "SkSLContext.cpp",
82    "SkSLContext.h",
83    "SkSLDefines.h",
84    "SkSLErrorReporter.cpp",
85    "SkSLErrorReporter.h",
86    "SkSLFileOutputStream.h",
87    "SkSLGLSL.h",
88    "SkSLInliner.cpp",
89    "SkSLInliner.h",
90    "SkSLIntrinsicList.cpp",
91    "SkSLIntrinsicList.h",
92    "SkSLLexer.cpp",
93    "SkSLLexer.h",
94    "SkSLMangler.cpp",
95    "SkSLMangler.h",
96    "SkSLMemoryLayout.h",
97    "SkSLMemoryPool.h",
98    "SkSLModule.cpp",
99    "SkSLModule.h",
100    "SkSLModuleLoader.cpp",
101    "SkSLModuleLoader.h",
102    "SkSLOperator.cpp",
103    "SkSLOperator.h",
104    "SkSLOutputStream.cpp",
105    "SkSLOutputStream.h",
106    "SkSLParser.cpp",
107    "SkSLParser.h",
108    "SkSLPool.cpp",
109    "SkSLPool.h",
110    "SkSLPosition.cpp",
111    "SkSLPosition.h",
112    "SkSLProgramKind.h",
113    "SkSLProgramSettings.h",
114    "SkSLSampleUsage.cpp",
115    "SkSLString.cpp",
116    "SkSLString.h",
117    "SkSLStringStream.h",
118    "SkSLUtil.cpp",
119    "SkSLUtil.h",
120    "spirv.h",
121]
122
123split_srcs_and_hdrs(
124    name = "sksl",
125    files = SKSL_SRCS,
126)
127
128skia_filegroup(
129    name = "gpu_hdrs",
130    srcs = [
131        "GLSL.std.450.h",
132    ],
133    visibility = ["//src/sksl/codegen:__pkg__"],
134)
135
136skia_filegroup(
137    name = "core_srcs",
138    srcs = [
139        ":sksl_graphite_modules_hdrs",
140        ":sksl_srcs",
141        "//src/sksl/analysis:analysis_srcs",
142        "//src/sksl/ir:ir_srcs",
143        "//src/sksl/tracing:core_srcs",
144        "//src/sksl/transform:transform_srcs",
145    ],
146    visibility = ["//src/core:__pkg__"],
147)
148
149skia_filegroup(
150    name = "core_priv_hdrs",
151    srcs = [
152        ":sksl_hdrs",
153        "//src/sksl/analysis:analysis_hdrs",
154        "//src/sksl/ir:ir_hdrs",
155        "//src/sksl/tracing:core_priv_hdrs",
156        "//src/sksl/transform:transform_hdrs",
157    ],
158    visibility = ["//src/core:__pkg__"],
159)
160
161skia_cc_library(
162    name = "generated_sksl",
163    textual_hdrs = [":txts"],
164    visibility = ["//src/core:__pkg__"],
165)
166
167skia_filegroup(
168    name = "sksl_graphite_modules_hdrs",
169    srcs = [
170        "SkSLGraphiteModules.h",
171    ],
172    visibility = ["//src/gpu/graphite:__pkg__"],
173)
174
175skia_filegroup(
176    name = "sksl_graphite_modules_srcs",
177    srcs = [
178        "SkSLGraphiteModules.cpp",
179    ],
180    visibility = ["//src/gpu/graphite:__pkg__"],
181)
182