| # This package contains Rust protobuf runtime implementation built on top of the C++ backend. |
| |
| load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") |
| |
| rust_library( |
| name = "cpp", |
| srcs = ["cpp.rs"], |
| visibility = [ |
| "//src/google/protobuf:__subpackages__", |
| "//rust:__subpackages__", |
| ], |
| ) |
| |
| rust_test( |
| name = "cpp_test", |
| crate = ":cpp", |
| tags = [ |
| # TODO(b/270274576): Enable testing on arm once we have a Rust Arm toolchain. |
| "not_build:arm", |
| # TODO(b/243126140): Enable tsan once we support sanitizers with Rust. |
| "notsan", |
| # TODO(b/243126140): Enable msan once we support sanitizers with Rust. |
| "nomsan", |
| ], |
| ) |
| |
| cc_library( |
| name = "cpp_api", |
| hdrs = ["cpp_api.h"], |
| visibility = [ |
| "//src/google/protobuf:__subpackages__", |
| "//rust:__subpackages__", |
| ], |
| deps = [ |
| ":rust_alloc_for_cpp_api", |
| "//src/google/protobuf", |
| ], |
| ) |
| |
| rust_library( |
| name = "rust_alloc_for_cpp_api", |
| srcs = ["rust_alloc_for_cpp_api.rs"], |
| ) |