blob: 0b9bc254eabdab3d8800e80705faa05cba409ed1 [file] [log] [blame]
load("@rules_rust//rust:defs.bzl", "rust_static_library")
load("//bazel:rust_cxx_bridge.bzl", "rust_cxx_bridge")
load(
"//bazel:skia_rules.bzl",
"skia_cc_library",
"skia_filegroup",
)
package(
default_applicable_licenses = ["//:license"],
)
licenses(["notice"])
skia_filegroup(
name = "rs_srcs",
srcs = ["FFI.rs"],
)
skia_filegroup(
name = "cxx_bridge_srcs",
srcs = ["FFI.rs"],
)
skia_cc_library(
name = "ffi_cpp",
hdrs = ["FFI.h"],
features = ["layering_check"],
visibility = [
"//src/codec:__pkg__",
"//src/encode:__pkg__",
],
deps = [
"//rust/common:ffi_utils",
],
)
rust_cxx_bridge(
name = "cxx_bridge",
src = "FFI.rs",
visibility = [
"//src/codec:__pkg__",
"//src/encode:__pkg__",
],
deps = [
":ffi_cpp",
"//rust/common:ffi_utils",
],
)
rust_static_library(
name = "ffi_rs",
srcs = [":rs_srcs"],
crate_root = "FFI.rs",
rustc_flags = ["-Dwarnings"],
visibility = [
"//src/codec:__pkg__",
"//src/encode:__pkg__",
],
deps = [
":cxx_bridge",
"//rust/common:cxx_bridge",
"//rust/common:skia_rust_common",
"@crates//:cxx",
"@crates//:png",
],
)