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