• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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