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