xref: /aosp_15_r20/external/skia/experimental/rust_png/ffi/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerload("@rules_rust//rust:defs.bzl", "rust_static_library")
2*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:rust_cxx_bridge.bzl", "rust_cxx_bridge")
3*c8dee2aaSAndroid Build Coastguard Workerload(
4*c8dee2aaSAndroid Build Coastguard Worker    "//bazel:skia_rules.bzl",
5*c8dee2aaSAndroid Build Coastguard Worker    "skia_cc_library",
6*c8dee2aaSAndroid Build Coastguard Worker    "skia_filegroup",
7*c8dee2aaSAndroid Build Coastguard Worker)
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
10*c8dee2aaSAndroid Build Coastguard Worker    name = "rs_srcs",
11*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["FFI.rs"],
12*c8dee2aaSAndroid Build Coastguard Worker)
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
15*c8dee2aaSAndroid Build Coastguard Worker    name = "cxx_bridge_srcs",
16*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["FFI.rs"],
17*c8dee2aaSAndroid Build Coastguard Worker)
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Worker# Note: the `hdrs` of the `utils` target are included in *two* `.gni` lists
20*c8dee2aaSAndroid Build Coastguard Worker# (`skia_codec_rust_png` and `skia_encode_rust_png_srcs`) - this works only
21*c8dee2aaSAndroid Build Coastguard Worker# because this is a header-only library.  If `utils` needs `srcs` in the
22*c8dee2aaSAndroid Build Coastguard Worker# future, then a separate `.gni` list may be required.
23*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
24*c8dee2aaSAndroid Build Coastguard Worker    name = "utils",
25*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["UtilsForFFI.h"],
26*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
27*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//experimental/rust_png:__subpackages__"],
28*c8dee2aaSAndroid Build Coastguard Worker    deps = ["//:core"],
29*c8dee2aaSAndroid Build Coastguard Worker)
30*c8dee2aaSAndroid Build Coastguard Worker
31*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
32*c8dee2aaSAndroid Build Coastguard Worker    name = "ffi_cpp",
33*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["FFI.h"],
34*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
35*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
36*c8dee2aaSAndroid Build Coastguard Worker        "//experimental/rust_png:__subpackages__",
37*c8dee2aaSAndroid Build Coastguard Worker    ],
38*c8dee2aaSAndroid Build Coastguard Worker)
39*c8dee2aaSAndroid Build Coastguard Worker
40*c8dee2aaSAndroid Build Coastguard Workerrust_cxx_bridge(
41*c8dee2aaSAndroid Build Coastguard Worker    name = "cxx_bridge",
42*c8dee2aaSAndroid Build Coastguard Worker    src = "FFI.rs",
43*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
44*c8dee2aaSAndroid Build Coastguard Worker        "//experimental/rust_png:__subpackages__",
45*c8dee2aaSAndroid Build Coastguard Worker    ],
46*c8dee2aaSAndroid Build Coastguard Worker    deps = [":ffi_cpp"],
47*c8dee2aaSAndroid Build Coastguard Worker)
48*c8dee2aaSAndroid Build Coastguard Worker
49*c8dee2aaSAndroid Build Coastguard Workerrust_static_library(
50*c8dee2aaSAndroid Build Coastguard Worker    name = "ffi_rs",
51*c8dee2aaSAndroid Build Coastguard Worker    srcs = [":rs_srcs"],
52*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
53*c8dee2aaSAndroid Build Coastguard Worker        "//experimental/rust_png:__subpackages__",
54*c8dee2aaSAndroid Build Coastguard Worker    ],
55*c8dee2aaSAndroid Build Coastguard Worker    deps = [
56*c8dee2aaSAndroid Build Coastguard Worker        ":ffi_cpp",
57*c8dee2aaSAndroid Build Coastguard Worker        "@cxx",
58*c8dee2aaSAndroid Build Coastguard Worker        "@rust_png//:png",
59*c8dee2aaSAndroid Build Coastguard Worker    ],
60*c8dee2aaSAndroid Build Coastguard Worker)
61