blob: 7b5ad2df9cbbca0084fd563d428061415dcc43d4 [file] [log] [blame] [edit]
load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("@rules_rust//rust:defs.bzl", "rust_library")
load(
"//cc_bindings_from_rs/bazel_support:cc_bindings_from_rust_rule.bzl",
"cc_bindings_from_rust",
)
load(
"//common:crubit_wrapper_macros_oss.bzl",
"crubit_rust_test",
)
load(
"//rs_bindings_from_cc/bazel_support:additional_rust_srcs_for_crubit_bindings_aspect_hint.bzl",
"additional_rust_srcs_for_crubit_bindings",
)
rust_library(
name = "rust_library",
srcs = ["rust_library.rs"],
)
cc_bindings_from_rust(
name = "rust_library_cc",
crate = ":rust_library",
)
cc_library(
name = "bridging_lib",
hdrs = ["bridging_lib.h"],
aspect_hints = [
"//features:experimental",
":converter",
],
deps = [
"//support/internal:bindings_support", # build_cleaner: keep
],
)
additional_rust_srcs_for_crubit_bindings(
name = "converter",
srcs = ["converter.rs"],
)
crubit_rust_test(
name = "test",
srcs = ["test.rs"],
cc_deps = [
":bridging_lib",
],
deps = [
"@crate_index//:googletest",
],
)
cc_library(
name = "string_test_lib",
hdrs = ["string_test_lib.h"],
aspect_hints = [
"//features:supported",
],
deps = [
"//support/internal:bindings_support", # build_cleaner: keep
],
)
crubit_rust_test(
name = "string_test",
srcs = ["string_test.rs"],
cc_deps = [
":string_test_lib",
"//support/cc_std",
],
deps = [
"@crate_index//:googletest",
],
)
cc_library(
name = "composable_bridging_lib",
srcs = ["composable_bridging_lib.cc"],
hdrs = ["composable_bridging_lib.h"],
aspect_hints = [
"//features:experimental",
":additional_composable_bridging_lib_src",
],
deps = [
":rust_library_cc",
"//support:bridge_cpp",
"//support/public:annotations",
"//support/rs_std:slice_ref",
"@abseil-cpp//absl/status",
"@abseil-cpp//absl/status:statusor",
],
)
additional_rust_srcs_for_crubit_bindings(
name = "additional_composable_bridging_lib_src",
srcs = ["additional_composable_bridging_lib_src.rs"],
)
crubit_rust_test(
name = "composable_bridging_test",
srcs = ["composable_bridging_test.rs"],
cc_deps = [
":composable_bridging_lib",
"//support/cc_std",
"@abseil-cpp//absl/status",
],
deps = [
"@abseil-cpp//absl/status:status_rs_matchers",
"@crate_index//:googletest",
],
)