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