blob: e4123a11a1518fa136bbc1b7244bf0896f6ddef8 [file] [log] [blame]
load("//bazel:macros.bzl", "exports_files_legacy", "generate_cpp_files_for_headers", "skia_cc_deps", "skia_filegroup")
licenses(["notice"])
exports_files_legacy()
skia_filegroup(
name = "srcs",
srcs = [
"//src/android:srcs",
"//src/codec:srcs",
"//src/core:srcs",
"//src/effects:srcs",
"//src/image:srcs",
"//src/images:srcs",
"//src/pathops:srcs",
"//src/ports:srcs",
"//src/sfnt:srcs",
"//src/shaders:srcs",
"//src/text:srcs",
"//src/utils:srcs",
] + select({
"//src/gpu:has_gpu_backend": [
"//src/gpu:srcs",
"//src/text/gpu:srcs",
],
"//conditions:default": [],
}) + select({
"//src/sksl:needs_sksl": ["//src/sksl:srcs"],
"//conditions:default": [],
}) + select({
"//src/svg:enable_svg_canvas_true": [
"//src/svg:srcs",
"//src/xml:srcs",
],
"//conditions:default": [],
}) + select({
"//src/pdf:enable_pdf_backend_true": ["//src/pdf:srcs"],
"//conditions:default": [],
}) + select({
"//src/lazy:enable_discardable_memory_true": ["//src/lazy:srcs"],
"//conditions:default": [],
}) + select({
"//bazel/common_config_settings:compile_generated_cpp_files_for_headers_true": [
":generated_srcs",
],
"//conditions:default": [],
}),
visibility = ["//:__pkg__"],
)
skia_filegroup(
name = "private_hdrs",
srcs = [
"//src/base:private_hdrs",
"//src/codec:private_hdrs",
"//src/core:private_hdrs",
"//src/effects:private_hdrs",
"//src/image:private_hdrs",
"//src/images:private_hdrs",
"//src/opts:private_hdrs",
"//src/pathops:private_hdrs",
"//src/ports:private_hdrs",
"//src/sfnt:private_hdrs",
"//src/shaders:private_hdrs",
"//src/text:private_hdrs",
"//src/utils:private_hdrs",
] + select({
"//src/gpu:has_gpu_backend": [
"//src/gpu:private_hdrs",
"//src/text/gpu:private_hdrs",
],
"//conditions:default": [],
}) + select({
"//src/sksl:needs_sksl": ["//src/sksl:private_hdrs"],
"//conditions:default": [],
}) + select({
"//src/svg:enable_svg_canvas_true": [
"//src/svg:private_hdrs",
"//src/xml:private_hdrs",
],
"//conditions:default": [],
}) + select({
"//src/pdf:enable_pdf_backend_true": ["//src/pdf:private_hdrs"],
"//conditions:default": [],
}) + select({
"//src/lazy:enable_discardable_memory_true": ["//src/lazy:private_hdrs"],
"//conditions:default": [],
}),
visibility = [
"//:__pkg__",
"//src/opts:__pkg__",
],
)
skia_cc_deps(
name = "deps",
visibility = ["//:__pkg__"],
deps = [
"//src/codec:deps",
"//src/images:deps",
"//src/ports:deps",
"//src/opts:deps",
"//modules/skcms:skcms",
] + select({
"//src/gpu:has_gpu_backend": ["//src/gpu:deps"],
"//conditions:default": [],
}) + select({
"//src/sksl:needs_sksl": ["//src/sksl:deps"],
"//conditions:default": [],
}) + select({
"//src/svg:enable_svg_canvas_true": ["//src/xml:deps"],
"//conditions:default": [],
}) + select({
"//src/pdf:enable_pdf_backend_true": ["//src/pdf:deps"],
"//conditions:default": [],
}),
)
generate_cpp_files_for_headers(
name = "generated_srcs",
headers = [
":private_hdrs",
],
# All headers listed here (using paths relative to the Skia root) will have a .cpp file
# generated that is a copy of the header file just with a .cpp suffix so Bazel will try to
# compile it. This allows us to run IWYU on these files.
to_generate = [
"src/base/SkStringView.h",
"src/core/SkASAN.h",
"src/core/SkAutoMalloc.h",
"src/core/SkMathPriv.h",
"src/core/SkMatrixPriv.h",
"src/core/SkPathPriv.h",
"src/core/SkSafeMath.h",
"src/core/SkScopeExit.h",
"src/core/SkTBlockList.h",
"src/core/SkTLazy.h",
"src/image/SkImage_Base.h",
],
)