1load("//bazel:skia_rules.bzl", "skia_cc_library", "skia_filegroup") 2load("@skia_user_config//:copts.bzl", "DEFAULT_COPTS") 3 4package( 5 default_applicable_licenses = ["//:license"], 6) 7 8licenses(["notice"]) 9 10# A separate group duplicating :skcms.hdrs for 11# export to //modules/skcms/skcms.gni:skcms_public_headers. 12skia_filegroup( 13 name = "public_hdrs", 14 srcs = ["skcms.h"], 15) 16 17# A separate group duplicating :skcms.srcs for 18# export to //modules/skcms/skcms.gni:skcms_sources. 19skia_filegroup( 20 name = "srcs", 21 srcs = [ 22 "skcms.cc", 23 "src/skcms_Transform.h", 24 "src/skcms_TransformBaseline.cc", 25 "src/skcms_TransformHsw.cc", 26 "src/skcms_TransformSkx.cc", 27 "src/skcms_internals.h", 28 "src/skcms_public.h", 29 ], 30) 31 32# A separate group duplicating :skcms.textual_hdrs for 33# export to //modules/skcms/skcms.gni:skcms_sources. 34skia_filegroup( 35 name = "textual_hdrs", 36 srcs = [ 37 "src/Transform_inl.h", 38 ], 39) 40 41skia_cc_library( 42 name = "skcms", 43 hdrs = [ 44 "skcms.h", 45 ], 46 visibility = ["//:__subpackages__"], 47 deps = [ 48 ":skcms_TransformBaseline", 49 ":skcms_TransformHsw", 50 ":skcms_TransformSkx", 51 ":skcms_public", 52 ], 53) 54 55skia_cc_library( 56 name = "skcms_public", 57 srcs = [ 58 "skcms.cc", 59 "src/skcms_internals.h", 60 "src/skcms_public.h", 61 ], 62 hdrs = [ 63 "skcms.h", 64 ], 65 deps = [":skcms_TransformBaseline"] + 66 select({ 67 "@platforms//cpu:x86_64": [ 68 ":skcms_TransformHsw", 69 ":skcms_TransformSkx", 70 ], 71 "//conditions:default": [], 72 }), 73) 74 75skia_cc_library( 76 name = "skcms_TransformBaseline", 77 srcs = [ 78 "src/skcms_Transform.h", 79 "src/skcms_TransformBaseline.cc", 80 "src/skcms_internals.h", 81 "src/skcms_public.h", 82 ], 83 # This header does not compile on its own and is meant to be included from skcms_Transform*.cc 84 textual_hdrs = [ 85 "src/Transform_inl.h", 86 ], 87) 88 89skia_cc_library( 90 name = "skcms_TransformHsw", 91 srcs = [ 92 "src/skcms_Transform.h", 93 "src/skcms_TransformHsw.cc", 94 "src/skcms_internals.h", 95 "src/skcms_public.h", 96 ], 97 copts = DEFAULT_COPTS + select({ 98 "@platforms//cpu:x86_64": ["-march=haswell"], 99 "//conditions:default": [], 100 }), 101 # This header does not compile on its own and is meant to be included from skcms_Transform*.cc 102 textual_hdrs = [ 103 "src/Transform_inl.h", 104 ], 105) 106 107skia_cc_library( 108 name = "skcms_TransformSkx", 109 srcs = [ 110 "src/skcms_Transform.h", 111 "src/skcms_TransformSkx.cc", 112 "src/skcms_internals.h", 113 "src/skcms_public.h", 114 ], 115 copts = DEFAULT_COPTS + select({ 116 "@platforms//cpu:x86_64": ["-march=skylake-avx512"], 117 "//conditions:default": [], 118 }), 119 # This header does not compile on its own and is meant to be included from skcms_Transform*.cc 120 textual_hdrs = [ 121 "src/Transform_inl.h", 122 ], 123) 124